Run the image with a model
You can now run the executable image
__image.axf from the command line using the FVP_Base_Cortex-A73x2-A53x4 model:
$ FVP_Base_Cortex-A73x2-A53x4 __image.axf -C pctl.startup=0.0.1.0
When the model is running, the message "hello world" appears on your screen.
By default, the model boots up multiple cores. This could lead to strange or inconsistent behaviors, such as multiple "hello world" prints. To avoid this type of result, we use the
-C pctl.startup=0.0.1.0 option to specify that only a single core should be used.
Another method to avoid strange or inconsistent results is to write some startup code that shuts down all but one core. We will discuss writing startup code later in this guide.
At reset, the code and data will be in the
ROM_LOAD section. The library function
__main() is responsible for copying the
ZI data, and
__rt_entry() sets up the stack and heap. The Arm documentation, for example the Arm Compiler armlink User Guide, refers to this process as scatter loading.