I am using ARM DS5 Ultimate Edition (Version 5.18.0)
Target aarch64-arm-none-eabi is being used for compilation.I am trying to run the .axf on ARMAEMv8-A_MP_0.While running the .axf I am getting this error:-ERROR(CMD426): Cannot find symbol to start or entrypoint, the file or load commands may be used to set the entrypoint.
How could I solve this error?
Hi,
This error message means that you're trying to load an AArch32 image into a 64-bit address space (EL3:0x0000000000000000):
ERROR(CMD16-IMG72): ! Failed to load "sample1.axf"! Cannot load "D:\test_v8_1\sample1\Debug\sample1.axf" which contains 32-bit addresses using the 64-bit address space "EL3:"
Since this is not allowed, you have to either run some AArch64 startup code to switch the processor into AArch32 space or specify using an address modifier that the image needs to be loaded into a 32-bit space (this address modifier might be S: N: or H: for secure, non-secure or hypervisor). An example of this would be: loadfile sample1.axf N:0
Also, in this case, the default link address that you used: 0x8000 maps to the NOR Flash on the VE_AEMv8x4 model. To run it in the model RAM, you'll need to use an address like 0x80000000.
For reference, the memory map is given here: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0423q/CHDJFJHF.html
I'd encourage you to raise a support case if these suggestions don't help you solve your problem, as they will be able to walk you through any other issues in much greater detail.
Thanks,
Joe