This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Errors running Hello World Project on A53 model

Hi,

I was trying to launch hello world tutorial project from newest documentation: Documentation – Arm Developer

Where this error appears

Warning: FVP_Base_Cortex_A53x1: Simulation code-translation cache failed to gain DMI for PC=0x08001348. Simulation performance will be reduced.
In file: (unknown):0
In process: FVP_Base_Cortex_A53x1.thread_p_5 @ 0 s

Warning: FVP_Base_Cortex_A53x1: Simulation code-translation cache failed to gain DMI for PC=0x08001348 (PA = Secure-08001348). Simulation performance will be reduced.
In file: (unknown):0
In process: FVP_Base_Cortex_A53x1.thread_p_5 @ 0 s

also in Commands window:

Connected to stopped target Arm FVP (Installed with Arm DS) - Base_A53x1
cd "/home/tcn/workspace"
Working directory "/home/tcn/workspace"
Execution stopped in EL3h mode at EL3:0x0000000000000000
source /v "/home/tcn/workspace/test/test.ds"
EL3:0x0000000000000000 DCI 0xe7ff0010 ; ? Undefined
+ set semihosting enabled off
loadfile "/home/tcn/workspace/test/Debug/test.axf"
Loaded section ER_RO: EL3:0x0000000008000000 ~ EL3:0x000000000800147F (size 0x1480)
Loaded section ER_RW: EL3:0x0000000008001480 ~ EL3:0x00000000080014A7 (size 0x28)
Entry point EL3:0x0000000008000000
set debug-from main
start
Starting target with image /home/tcn/workspace/test/Debug/test.axf
Running from entry point

I have set RO_BASE to 0x8000000 and -C bp.secure_memory=false

but program still hangs at the entry point and no matter how I click run/F8, it changes nothing. What could possibly go wrong? Thank you!

  • Hi Alan

    >Execution stopped in EL3h mode at EL3:0x0000000000000000

    It looks like you have not set the "entry point" for the image, that is, the address of the first instruction to execute in your program.

    Depending on the compilation tools that you are using (e.g. Arm Compiler 6 or GCC), there are several ways to set the entry point, including:

    • on the linker command line, with "--entry=<addr>" or "-e=<addr>"
    • in a GCC linker script with ENTRY(<addr>)
    • in an armlink scatter file using the +FIRST attribute
    • in an armasm assembler file with ENTRY directive

    >I have set RO_BASE to 0x8000000 and -C bp.secure_memory=false

    RO_BASE would normally be 0x80000000 (add one more zero) to place the code in the FVP model's DRAM.

    Please see the startup code examples provided on Arm DS, e.g. "startup_Cortex-A53x1_AC6"

    Hope this helps

    Stephen