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.
Hello everyone!
I have been in the process of learning how to debug an application on Arm DS, and after searching through many tutorials and folders, I finally found find an example that I am looking for, which is called calendar_ArmV8-A_GCC. This example can be obtained after installing the ARM-DS using the source code (full filepath is: $HOME/DS000-BN-00001-r21p2-00rel0/yes/examples/armv8)
So this example is exactly what I'm looking for as I wish to create a simple C program (such as calendar as provided) and perform input testing to debug through the application (to ensure ARM instructions are working properly).
However, as I am trying to use a different compiler to test (more specifically, gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu from https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads), I came across missing files when I try to compile a program using a default Makefile provided with the example.
From the console, it looks like the following error:
Where a file called aem-ve.specs is missing.
From looking through the Makefile:
# Link with specific base address to suit Base FVP model memory layout $(LD) --specs=aem-ve.specs -Wl,--build-id=none,-Map=linkmap.txt $^ -o $@
It looks like linkmap.txt is also missing.
Lastly, why are both CC/LD the same? Does this matter?
CC=aarch64-none-elf-gccLD=aarch64-none-elf-gcc
I figured LD would be like aarch64-none-linux-gnu-ld for example.
Furthermore, if anyone has a good site that shows how to debug a GCC application from the very start (compilation process, linking, etc), that would be greatly appreciated as well.
Thank you for any input, very much appreciated.
Kind regards,
Jay
Edit: I will just close the thread with this post since it answers my original question which was regarding the missing file. I apologize for the confusion.
I found an answer to my own question. Basically, I was using the wrong GCC toolchain.
After downloading an ELF bare-metal target, I was able to find the file I believe:
whereas for aarch64-none-linux-gnu, I cannot find such a file: