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.
I have compiled a simple "Hello World" program on DS-5 ultimate evaluation version and couldn't find a bare metal FVP on which I can run it. When I select "ARM FVP->VE_AEMv8x1->Bare Metal Debug->Debug ARMAEMv8-A" in "Connection" tab of "Debug Configuration" connection fails and I see a message that "Unable to connect to armv8_FVP"
I got following reply from Ash Wilding - Applications Engineer through support-sw@arm.com that solved my problem.
Hello Ashwani,
This is because your Hello World program is being loaded into an invalid location. By default, programs are loaded to location 0x0000_0000. Consult the following memory map: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0834a/rob1395750469013.html
As you can see, address 0x0000_0000 is the location of the Trusted Boot ROM / secureflash, so you definitely don't want to be loading your program here. Instead, you want to load the program at the location of DRAM, which is address 0x8000_0000 according to the memory map.
To do this, first right-click your project in DS-5 and then navigate to Properties > C/C++ Build > Settings > ARM Linker 6 > Image Layout.
In the "RO base address (--ro_base)" field, enter the following: 0x80000000
Click "OK", rebuild your project, and attempt to run it again. This time you should see "Hello world" printed in the Target Console window.
This method does not give you much control. More realistic projects instead use scatter files, passing these to the ARM Linker using the "--scatter=scatter.txt" option. For more information regarding scatter files, see this ARM Infocenter link: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0493h/BABFJEAI.html
Also, be sure to check the ARMv8 Bare Metal examples provided with DS-5 as these include complete scatter files for the model.
I hope this helps.
Regards,
Ash.
--
Ash Wilding - Applications Engineer
ARM Ltd, 110 Fulbourn Road, Cambridge CB1 9NJ, England