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.
Hi,
I was hoping for some help and clarification to make an effective and useful scatter file.
my goal is to put all my bootloader files into region 0x0000 - 0x3FFF and then all of my application files in 0x4000 - 0x800000. I have my bootloader and a small demo of blinking an led as my application. I am having issues linking the application to the correct place. I have looked into alot of the ARM guides but still am having issues.
I am getting this error: .\Objects\shitty_scatterfile.sct(24): warning: L6329W: Pattern BlinkyDemo.o(RO) only matches removed unused sections.
here is my crappy scatter file
LR_IROM1 0x0000 0x3FFF ; bootloader objects go here { ER_IROM1 0x0000 0x3FFF; bootloader executable region { *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) } RW_IRAM1 0x20000000 0x00010000 { ; RW data .ANY (+RW +ZI) ; store this data anywhere } } LR_IROM2 0x00004000 0x00080000 ; Application objects go here { ER_IROM2 0x00004000 0x80000 { ; load address = execution address BlinkyDemo.o (+RO) } }
the section: *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO)
is straight from the generated scatter file so if someone could also explain the *(InRoot$$Sections) to me that would be great. I think my issue is that I am linking "BlinkyDemo.o to both Rom1 and Rom2.
Thanks,
Eric Micallef
Hi Clive ya, after reading through some posts I see that everyone was doing seperate projects so I started doing that. in my startup assembly file I have the INCBIN
AREA AppDemo, CODE, READONLY, PREINIT_ARRAY INCBIN C:\SWARM BOOTLOADER\NRF52_BOOTLOAD_ADV-master\NRF52_BOOTLOAD_ADV-master\Objects\AppDemo.bin END <\pre> is there anyway I can specify in the scatterfile or in this INCBIN to start placing the binary file at 0x4000? I am referencing this post. http://www.keil.com/forum/18585/
Hi Clive, I got it!
thanks for the multiple project suggestion (: