Hi all,
I am currently trying to build a simple program for the "FVP_MPS2_Cortex-M23" target.
This program only calls printf in its main function with a const string.
To be able to run of the target I also compile:
- Device/ARM/ARMCM23/Source/system_ARMCM23.c
- Device/ARM/ARMCM23/Source/ARM/startup_ARMCM23.S
Compilation option are:
* --target=arm-arm-none-eabi -mcpu=cortex-M23 -mfpu=none
* -DARMCM23 -DSTANDALONE
* -I"$(PACK)/CMSIS/Core/Include" -I"$(PACK)/Device/ARM/ARMCM23/Include"
* -O1 -g -MD -MP -c -fshort-enums -fshort-wchar -Wno-dollar-in-identifier-extension -Wno-language-extension-token
I use armclang and armlink with version "ARM Compiler 6.6.4 Long Term Maintenance".
The .S is compiled with armclang and not armasm (as armasm complains about commentary and many other things).
When doing this, I get this error:
Error: L6238E: startup_ARMCM23.o(.text) contains invalid call from '~PRES8 (The user did not require code to preserve 8-byte aligment of 8-byte data objects)' function to 'REQ8 (Code was permitted to depend on the 8-byte aligment of 8-byte data items)' function SystemInit.
Proposed fix: Add ".eabi_attribute Tag_ABI_align_preserved, 1" at the beggining of "Device/ARM/ARMCM23/Source/ARM/startup_ARMCM23.S"
Thanks,