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
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
i know the scatter file very well ...<i/>
So why ask the f@#!ing question then?
because my work will be after linking process using a .axf file as an input
Should we assume that you've got a copy of AND READ the documentation relating to the AXF format?
Why ??
Surely this is exactly the kind of thing that the Linker is for ?!
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
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.
ok Pier but is debug mode the only way to see the scatterload function and Region$$Table$$Base ?
"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
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
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
But why do you feel the need to reorganise them?
Again, what are you trying to accomplish by this?
OP wants to modify or patch the linker output to change section/structure/variable placement after-the-fact, and apparently can't/won't use the more appropriate methods to achieve that.
Basically wants to drive down the freeway in the wrong direction because the exit looks closer and refuses to make left turns.
is it possibile to accomplish my task with partial linking ? and how could i could i get them from an application level as you said
Again, we don't know what your actual task is!
You seem to be fixated on this "partial linking" thing, but there's no evidence that it's a good or necessary approach.
This is why we keep asking you what the end goal is.
Again, please see: www.catb.org/.../smart-questions.html - you are focussing on the step, not the goal.
I think there are 2 possibilities:
1. You are over-complicating a standard task, which has a well-used, simple solution;
2. You really do have some special-case, complex requirement.
But we can't tell which unless you describe the end goal.
And we can't help you effectively without understanding the end goal.
The suspicion is strongly that it is case number 1.
My end goal is to implement section overlay for many modules . my current goal is how to reorganize RW section for that modules in specific adresses into internal flash for scheduling reason for the overlay manager . is it clear now ?