Zynq UltraScale+ MPSoC Standalone (Baremetal) Software Development Flow

This page walks you through all the steps involved in Standalone or Baremetal software application development using SDK. Standalone software application development involves the following steps:
  • Open/Create SDK Workspace
  • Importing Hardware Platform Information
  • Create and Build Board Support Packages (BSP)
  • Create and Build the Application Projects
  • Running User Applications
  • Debugging User Applications
  • Profiling User Applications
  • Creating Boot Image

How to Import a Hardware Project

1. Click File ->New -> Project then it opens below dialog
new_proj1.png
2. Select “Hardware Platform Specification” and click on “Next”
3. Specify the path for the HDF (hardware definition file) and click on “Finish”
sys_hdf.png




How to Build Executable using SDK
This section describes the procedures involved in creation and building of application executable and FSBL for Application and Real-time processors using Xilinx SDK.
The following subsections illustrate how to create:
* ARM Cortex-A53 Standalone Executable
* ARM Cortex-R5 Standalone Executable
* ARM Cortex-A53 FSBL Executable
* ARM Cortex-A53 FSBL Executable

ARM Cortex-A53 Standalone Executable

1. Click File -> New -> Application Project as shown below
create_new_app.png


2. Specify the Project name, use the default Hardware Platform and select “ps8_cortexa53_0” from the dropdown list for Processor and “standalone” for OS Platform, Click “Next”
hdf_create.png




3. Select “Hello World” for a hello world project or an “Empty Application” and click “Finish” to complete the creation of” bsp” and the “application project”
hello_world.png


4. Execute the application on A53 core-0 using JTAG with the following command
$ qemu-system-aarch64 -nographic -M arm-generic-fdt -dtb xilinx-zynqmp-arm.dtb –device loader,file=./A53_core0_hello_world.elf, cpu=0 -device loader,addr=0xfd1a0104,data=0x8000000e,data-len=4
---------------------------------------------------------------------------------------------------------------
Xilinx Resticted QEMU Sep 29 2014 20:00:35.
This QEMU binary and its source are restricted to Xilinx internal
use only. Do not delete this message in source. Contact the Xilinx
QEMU Maintainer (git-dev@xilinx.com) for details on publishing QEMU
contributions to customers.
---------------------------------------------------------------------------------------------------------------
Hello World running on Cluster ID 0x80000000
Note: Automatic build for BSP and Application is an option set in the SDK and by default auto build is enabled. After the creation, both bsp and FSBL project will be built automatically.

To create boot image and run the software applications using other boot modes refer MPSoC Non-Secure Boot


Related Links

SDK User Guide
Petalinux Software Development
MPSoC FreeRTOS Development