I am running baremetal programs on FVP. I compiled using llvm toolchain with baremetal support and created the .axf binaries under the debug directory of the project folder. This .axf executable Is something I like to test on morello board without any OS environment. when I tried to run the .axf binary on the board using the ARM development studio IDE morello edition, under the run> debug config> made the settings and when I I started debugging it gets stuck at the HLT instruction (when performing debug from symbol) or starting from the initial address and going into an infinite loop when starting from entry point. while on the terminal console I couldn't see the output of the printf statement which i was expecting. even if I try to run directly or debug it step by step. (the program is correct because I already tested on FVP) ..I am being redirected to the debug configuration. and iterating thru the same process as described without seeing the actual output on the terminal which I configured with the /dev/ttyusb2 115200 command. Any suggestions please.
I have also used the semihosting code
set semihosting heap-base 0set semihosting heap-limit 0x80800000set semihosting stack-limit 0x80800000set semihosting stack-base 0x81000000set semihosting enabled on
Many thanks Kevin for the information. I exactly followed the steps you shared (https://git.morello-project.org/morello/docs/-/blob/morello/release-1.4/standalone-baremetal-readme.rst) to execute baremetal while bootup and it is executing well along with the output 'hello'. I couldn't have reached here without your help.
As of my goal is concerned, I like to see the register values in the development studio IDE or any terminal after the board boots up with the output. But there it shows register values are unavailable which is not the case when I execute any generated elf program on the Morello board through the IDE, I can see the register values being popped up in the register window after using an interrupt.
Additionally 2 things I also noticed that if a program contains a printf function it does not produce any output after I followed the same boot-up process of its corresponding binary.
and while executing multiple program binaries from the IDE, I could also hardly see any changes in the register values except the program counter.