In order to introduce my issue, my goal is to get 2 similar projects, one compiled by Arm Compiler for Embedded 6 and the other by GCC, both on a FVP Cortex R-52 target.
I chose to build the project on the example available when installing Arm Development Studio named startup_Cortex-R52.
Concerning the Arm Compiler part I have no issues, project works fine as I did not change anything. So I tried to build my second project, compiled by GCC based on the startup_Cortex-R52 example.
I added the GCC 10.3.1 toolchain to Arm Developement Studio and choosed this toolchain in the Tool Chain Editor of my project. I have also set up my project by giving these options in project properties for both GCC Compiler and Assembler : -mcpu=cortex-r52 -mfpu=neon-fp-armv8 -mfloat-abi=hard
Errors occur when I try to build the project and specially in the startup.s file are related to Assembler messages :
I am wondering why I faced this issues as the target is the same and Assembler language too.
If someone can help me to resolve this issue I would be grateful.
As you suggested I moved my __data_end to the last line of .bss in the linker script gcc.ld.
I had another DATA_ABORT issue because the address was already used.
As we can see in the map file :
So I shifted all my symbols after that line by 0x04 :
My map file finally looks like this :
And this works,both printf function and my configuration are working well. I am just wondering if there is a cleaner way to do the shifting ?
Thanks for everything Stephen, I am so glad my configuration with GCC is finally working. I hope it will be useful for other users.
Hi EnzoGlad to hear that your project is now working :)Stephen
EnzoL I am trying to create this exact project using GCC! Would you be able to provide it as a .zip file here for me?
I would greatly appreciate it!