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 am interested in programming our own startup code because i cannot see what __main does exactly.
For GCC i had already programmed this but we need to use Keil (ARMCLANG) this time. The linker script for GCC is easier to understand for me than the scatter file.
I found this information [1] to get the symbols.
Does anyone have a good document for me to start at?
At the moment i would start with zeroing at address 'Image$$region_name$$ZI$$Base' for all regions.
Image$$region_name$$ZI$$Base' for all regions.
Copying 'Load$$region_name$$RO$$Base' to 'Image$$region_name$$RO$$Base' with 'Image$$region_name$$RO$$Length' for all regions.
Now i have to understand how i have to decompress the RW data [2].
Any help is welcome :-)
Kind regards
Daniel
[1] https://www.keil.com/support/man/docs/armlink/armlink_pge1362065953229.htm
[2] www.keil.com/.../armlink_pge1362065930871.htm
Hi Daniel, the following documentation should be useful:
https://developer.arm.com/documentation/100073/0615/The-Arm-C-and-C---Libraries/Tailoring-the-C-library-to-a-new-execution-environment
https://developer.arm.com/documentation/100073/0615/The-C-and-C---Library-Functions-Reference/--rt-entry
The scatterloading mechanism you are looking at above is somewhat proprietary. You can disable data compression with the armlink option --datacompressor=off
https://www.keil.com/support/man/docs/ARMLINK/armlink_pge1362075441098.htm
Regards
Ronan
Thank you for your help!
Disabling the datacompressor is a great help!
It seems to me that i've initialized all the needed stuff. At the moment i am happy that we don't need C/C++ library.