I have the following scatter load file for an ARM Cortex-M1 processor. My external RAM chip is 2MB in size and it's located at 0x00000000 with a shadow at 0x60000000, so that code and data are in the same physical chip. I recently needed to add access to the ITCM and DTCM in the ARM and now with this new scatter load file, the initial decompress1 routine in the scatterload at startup writes 0's past the end of memory (0x60200000) and wraps around and overwrites the beginning too. What is wrong with my scatterload file, or what workaround can I do to fix this?
LR_ROM1 0x00000000 0x00200000 { ; 2MB of SRAM for code/data ER_ROM1 0x00000000 0x00008000 { ; 32k for code *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) } ER_TESTCODE 0x10000000 0x00002000 { ; 8k ITCM (Upper Alias) testcode.o (+RO) } RW_TESTDATA 0x20000000 0x00001000 { ; 4k DTCM testcode.o (+RW, +ZI) } RW_RAM1 0x60008000 0x00008000 { ; 32k for RW data .ANY (+RW +ZI) } RW_RAM2 0x60010000 0x001F0000 { ; 1984k for RW telemetry data *(TLMDATA) } }