Preparing a BOOT.bin file using Xilinx SDK

The BOOT.bin file required to boot the Zynq can be created using the Xilinx SDK. It must at least contain the First Stage Boot Loader (FSBL).
In order to be useful, the boot image should also contain the Secondary Program Loader (SPL). In most cases the SPL will be the U-Boot boot loader created by Yocto.
In addition, the boot loader will usually also contain the bit file to be loaded into the PL of the Zynq, although this one could be loaded by the U-Boot boot loader or by the Linux operating system.

Create the FSBL

Open the Xilinx SDK. On a Linux system (adjust paths accordingly):
source /opt/xilinx/SDK/2017.4/settings64.sh
xsdk
Set the workspace to the directory of your project. If not already open, open your project:
> File > Open Projects from File System
  Directory...: <directory of the SDK of your project>
  Folder:       <project>_hw_platform_0 "Eclipse Project"
Create a new Application Project:
> File > New > Application Project
   Project name:          FSBL
   OS Platform:           standalone
   Hardware Platform:     zynq_top_hw_platform_0
   Processor:             ps7_cortexa9_0
   Language:              C
   Board Support Package: Create New "FSBL_bsp"
> Next
   Available Templates:   Zynq FSBL
> Finish  
It might be useful to set the debug output of the FSBL in order to get some messages when booting:
select the top-level of the project "FSBL" and open the context menu (right-mouse click):
> File > Properties
> C/C++ Build > Settings > Symbols
> Defined symbols (-d)
add FSBL_DEBUG_INFO
Selecting "Apply" should automatically rebuild the project. The result is a file called "FSBL.elf" in the FSBL/Debug sub-directory of your workspace.

Create the Boot Image

You can now create the boot image:
> Xilinx Tools > Create Boot Image
In the "Boot image partitions" sections, add in that order:
  1. the file "Debug/FSBL.elf"as "bootloader"
  2. the ".bit" as "datafile"
  3. the "u-boot.elf" file from /tmp/deploy/images/zedboard-zynq7/ as "datafile"
You might want to store the description you entered by using the "Create new BIF file" button, so that you can use BIF the file the next time with the "Import from existing BIF file" button.
When you are done push the "Create Image" button at the bottom of the window. The file "BOOT.bin" will be created in the FSBL/bootimage sub-directory of your workspace.

Notes

The instructions above apply to the Zynq SoC. The Zynq MPSoC needs additional files to be included into the boot image.

Boot the Zynq SoC using the SD card:
Insert the SD card into the SD reader of your Zynq board. Select booting from SD. Power cycle or reset the Zynq SoC.

-- RalfSpiwoks - 2018-05-25

Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r2 - 2018-05-25 - RalfSpiwoks
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    SystemOnChip All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback