DEE Emulation absolute address issues w/linker
I've searched the forums for a solution, I found a post on how to relocate the buffer, but nothing about this issue...
I'm using a PIC24FJ256GB110, and the pic30 v3.11 compiler.
I'm having trouble understanding how to isolate the buffer in flash. I've modified the allocation of the buffer to be:
unsigned char emulationPages[DATA_EE_BANKS * NUM_DATA_EE_PAGES][NUMBER_OF_INSTRUCTIONS_IN_PAGE * 2]
__attribute__ ((space(prog), address(0x29400), /*aligned(NUMBER_OF_INSTRUCTIONS_IN_PAGE * 2), */ noload));
I've left DATA_EE_BANKS, etc. at the default settings.
The problem that I'm seeing in the map file, is that the linker ends up throwing a bunch of routines above this buffer:
0x029400 _emulationPages
0x02a400 _InitTimer2
0x02a41c __T2Interrupt
...
0x02a7d2 _InitIOPorts
...
0x02a9de _main
...
0x02abce _InitConsole
Anyone know a way to avoid this? I'd like to have the only the buffer at the top of memory so that I can rewrite the code and still keep the eeprom data.
Thanks in advance