I've been using the LPC8xx range of Cortex-M0+ MCUs quite successfully. One difficiency: these don't have inbuilt EEPROM (to preserve settings across power cycles etc). However there is a work-around: using the in-application flash programmer, a page (64 bytes) of flash memory can be erased and rewritten.
I used this example: http://www.lpcware.com/content/forum/eeprom-emulation which works.
My question: this example hard-codes the address of flash to which it will to write to. This seems very dangerous to me. Is there a way to allocate a 64byte aligned block of 64bytes in the flash memory space so that I can be sure it's safe to write to?
(I'm using LPCXpresso / GCC)