hello !! please i want to know how could i control the placement of RW data of a "xxxx.o" on a specific region into the flash PS : my input is a .axf file and my output would be a .hex file
But why do you feel the need to reorganise them?
Again, what are you trying to accomplish by this?
And why can't you manage this in the scatter file? By modifying the objects passed to the linker? Or by writing your own linker?
The complexity of what you are trying to attempt seems rather high compared to the skills you're bringing to the party.
Most of the options would start with you understanding the AXF/ELF object format, and then you're ability to modify and change the data, and the things that refer to the data, both directly and indirectly.
>>ok Pier but is debug mode the only way to see the scatterload function and Region$$Table$$Base ?
They are accessible at an application level
in order to reorganize them , it means i have some module i want to allocate their RW in specific field in internal flash , also i shouldn't do it with modification in c code
"linker will copy data from flash to RAM ... position into internal flash before linking process"
The linker is a tool on your PC which runs at the time you build your project - it does not exist in the Target, and so does not do any copying of data between Flash and RAM.
However:
"hope that my goal is some what clear now"
I think so: you want to know where in Flash the initialisation data is stored?
I think Westonsupermare Pier has answered that?
But it is still not clear why you want to know it? What is your end goal? What are you actually trying to achieve by all this?
www.catb.org/.../smart-questions.html
ok Pier but is debug mode the only way to see the scatterload function and Region$$Table$$Base ?
The linker creates internal structures describing the way statics are copied and zeroed out of FLASH. This function is nominally __scatterload, and the table between Region$$Table$$Base and Region$$Table$$Limit
The structure of the ELF object format is widely distributed on the internets if that is of interest. You'd have to manipulate that in a post-link scenario.
in other way ,sir, after linker will copy data from flash to RAM , as a result we can just see the location of that RW at RAM , my question is that i want to know placement of that data before being copied to RAM it means their position into internal flash before linking process , hope that my goal is some what clear now
Why ??
Surely this is exactly the kind of thing that the Linker is for ?!
Should we assume that you've got a copy of AND READ the documentation relating to the AXF format?
because my work will be after linking process using a .axf file as an input
i know the scatter file very well ...<i/>
So why ask the f@#!ing question then?
i know the scatter file very well in fact i want to create a new layer in the architecture to organize the RW secion of a scpecific module in a specific adress into the internal flash
Read the documentation for SCATTER files
View all questions in Keil forum