Flash Memory Programming - EEPROM Emulation
I'm trying to use the flash memory of the DSPIC33EV256GM104 as a EEPROM.
Therefore I coded a routine, based on the flash_demo project.
For reserving flash memory I'm using the following code line.
uint16_t reserved_flash __attribute__((space(prog), address(0x1000), section(".reserved_flash"), noload));
With this code I would expect that when I reserve memory at address 0x1000, the SW writes to this adress and the next 64 rows. But it doesn't! It writes the data to the address (in hex file) 0x002000.
When I reserve memory at address 0x2000 the SW writes the data to address 0x004000.
The memory should be within the User Flash Memory area (0x000200 - 0x00AB7E).
Does anybody know whats the systematic behind this or why this does happen?
Kind Regards and thanks in advance