We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Good evening,
I want to test my own scatter-file with the functions on this page.
http://www.keil.com/support/man/docs/armlink/armlink_chdcgbjd.htm
the values I get are wrong or I don't understand the meaning of these values.
First of all here is my scatter-file.
LOAD 0x10000000 0x003FFFFF { EXT_FLASH 0x10000000 0x003FFFFF { *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) } EXT_SRAM 0x20000000 0x03FFFFFF { phy_init.o (+RW, +ZI) } INT_RAM 0x200000 0x000FFFFF { .ANY(+RW +ZI) } }
Image$$INT_RAM$$RW$$Length = 0xE59FF018 Image$$INT_RAM$$ZI$$Length = 0xFFFFFFFF
Image$$EXT_FLASH$$RW$$Length = 0xE59FF018 Image$$EXT_FLASH$$ZI$$Length = 0xE59FF018 Image$$EXT_SRAM$$Length = 0xE100000
Image$$INT_RAM$$Base = 0x00000000 Image$$EXT_FLASH$$Base = 0xE59FF018 Image$$EXT_SRAM$$Base = 0x00000000
Image$$EXT_SRAM$$Limit = 0x00000000 Image$$EXT_FLASH$$Limit = 0x00000000 Image$$INT_RAM$$Limit = 0x00000000
Ì don't understand these values. Why is the limit always 0x00000000??? The size of the RAM would overwrite everything... Are there so stupid errors in my scatter-file?
Could somebody of you unearth the truth for me?
best regards Chris
Now I took a look into my map.-file and there were all values correct.
e.g.
Execution Region INT_RAM (Base: 0x00200000, Size: 0x00001930, Max: 0x000fffff, ABSOLUTE)
In my c-file I only wrote for example:
extern unsigned int Image$$INT_SRAM$$Length;
printf("SRAM Lenght: %08x\n", Image$$INT_SRAM$$Length);