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.
With the Keil Linker Directive SECTIONS( VAR%FDATA (addr1) [addr2] ) you may specify a execution address (addr1) and a storage address (addr2) for a section. This may be used to create FLASH programming routines that execute from RAM but are stored in FLASH. There is the Tasking Linker Directive ADDRESSES( SECTIONS( VAR_FB(adresse) )) But here, I think, you can not differ between a execution and a storege address. Who can help me???
you are asking in a Keil forum "how do I get rid of Keil??? Erik
I didn't even know that was a feature. Seems convenient. The idea is to locate the code at its proper execution address. This is a job for the linker. If you then want to store the code at some other address, that's a job for the tool that creates your binary file -- in Keil's case, also the linker. But you could do post-link surgery on the binary/hex/whatever with a tool like SRecord. I assume you've also got the code that will move this special region from flash to its intended execution address in RAM? Why are you switching compilers?