Creating a Boot Image FileStep 1

You will create a boot image file that contains the Zynq All Programmable SoC FSBL, the BIT file for programmable logic (PL) configuration, and the software application ELF file.

3-1.Select the FSBL ELF file to create the boot image.

3-1-1.In the Project Explorer tab, right-click themio_emio_LEDs software application and select Create Boot Image.

Figure 67: Selecting Create Boot Image

The Create Zynq Boot Image dialog box opens.

3-1-2.Make sure that Create a new BIF file in the BIF file field is selected.

This step will auto-populate the boot image file list partitions:

  • The FSBL from the C:\training\advEmbSysDsgn\bootFlash\zc702 or zed\cortexA9\bootup_LEDs.sdk\SDK\SDK_Export\zynq_fsbl\Debug directory.
  • The bitstream from the C:\training\advEmbSysDsgn\bootFlash\zc702 or zed\cortexA9\bootup_LEDs.sdk\SDK\SDK_Export\hw_platform_0 directory.
  • The software application ELF file from the C:\training\advEmbSysDsgn\bootFlash\zc702 or zed\cortexA9\bootup_LEDs.sdk\SDK\SDK_Export\mio_emio_LEDs\Debug directory.

Figure 68: Creating the Boot Image File

3-1-3.Edit the output.bin file so that mio_emio_LEDs.mcs points to the C:\training\advEmbSysDsgn\bootFlash\zc702 or zed\cortexA9\bootup_LEDs.sdk\SDK\SDK_Export\mio_emio_LEDs\bootimage directory.

The MCS file is used to program the flash. In the design the flash is QSPI.

3-2.Create the boot image and view the generated file.

3-2-1.Click Create Image.

3-2-2.In the Project Explorer tab, expand themio_emio_LEDsfolder.

Note that the bootimagefolder has now been created.

Figure 69: Bootimage Directory

The mio_emio_LEDs.mcsimage is used for booting the application from flash.

3-2-3.In the bootimage directory, double-click mio_emio_LEDs.bif and review the contents.

The image shows the partitions and order in which files will be executed.

Programming the Flash and Executing the Application from
FlashStep 4

The boot image file (mio_emio_LEDs.mcs) created in the previous step will be used to program the flash.

4-1.Connect the zc702 or zed board to your machine

4-1-1.Make sure that the jumper settings are set as JTAG to enable flash writing.

4-1-2.Power on the board.

4-2.Select the boot image file to program the flash memory.

4-2-1.Select Xilinx ToolsProgram Flash.

4-2-2.Click Browse.

4-2-3.Browse to the C:\training\advEmbSysDsgn\labs\bootFlash\zc702 or zed\ublaze\bootup_LEDs.sdk\SDK\SDK_Export\mio_emio_LEDs\bootimage directory.

4-2-4.Select the mio_emio_LEDs.mcs image file.

4-2-5.Click Open.

4-2-6.In the Offset field, enter 0x00000000.

For this lab, there is no offset that is required.

You can give offset address other than 0x00000000. Refer to section 6.3.9 in Zynq TRM UG585.

Additionally, for details on the specific devices that Xilinx recommends for each boot interface, refer to AR# 50991.

4-2-7.Select qspi_singlefrom the Flash Type drop-down list.

Figure 610: Programming the Flash

4-2-8.Click Program.

This process will take a few minutes to complete.

You can see the programming status in the Console window.

You will see the following message once the programming is completed:

Info:Programmed flash successfully

Info:Closed cable successfully

4-3.Determine the COM port number for the USB serial port used on the zc702 or zed board and configure the related terminal emulator program for that COM port at 115200-N-8-1.

  • ZC702/6: SDK Terminal window
  • Zed: Tera Term

If you do not recall how to perform this task, refer to the "Configuring the SDK Terminal for ZC702/6 and Tera Term for the Zed Board" section under SDK Operations in the Lab Reference Guide.

4-4.Set and verify the jumper settings for booting from flash.

4-4-1.Now that you have programmed the flash, power off the board because you need to change the jumper settings for the flash boot.

4-4-2.ZC702 board users: Make sure that the jumper settings for booting from flash are set as shown below.

Figure 611: Jumper Settings – Flash Boot Mode

4-4-3.Zed board users: Make sure that the jumper settings for booting from flash are set as shown below.

Figure 612: Jumper Setting for QSPI Boot (Zed Board)

4-5.Verify the running software application program.

4-5-1.Power on the board.

You should see the DONE LED go ON. The application will now be loaded.

4-5-2.Verify the message on the serial port console.

Zed board users: The print messages will not display on the serial port terminal. This issue will be resolved in a future release.

4-5-3.Verify the application running.

4-6.Exit the SDK tool and power off the board.

4-6-1.From SDK, select File Exit.

4-6-2.Power off the development board.