deep

a Cross Development Platform for Java

User Tools

Site Tools


firstexample:first_example_microzed_deploy

Deploying

As soon as you are done with your development, you can deploy it. This means to program it together with a FPGA configuration into the on-board flash device.

The application together with the configuration of the FPGA is loaded upon power-up from the flash device. What must be done using this method?

Step by Step Instructions

  1. Set the jumpers on your MicroZed board as follows
    .
    This will boot the device from the JTAG.
  2. Cycle the power. The settings of the jumpers will be read only at power-on! Hence, make sure to cycle the supply power after changing the jumper settings. A soft reset (through the JTAG or by pressing the reset button on the board will reset the board but will not sample the boot mode pins connected to the jumpers.
  3. Create a deep project and setup the project configuration as given in Hello World on the Avnet MicroZed Board.
  4. Choose a configuration for the FPGA part to be included into the resulting image.
    .
    Available configurations can be found under https://wiki.bu.ost.ch/infoportal/embedded_systems/zynq7000/microzed.
  5. When creating the run configuration, set the target configuration to boot from QSPI flash .
  6. Running the configuration will create a flash file. Its location is given by the image file setting in the configuration. It carries the name *.ExternalFlash.mcs.
  7. Switch the driver for your JTAG-HS3 adapter to FTDI CDM, see https://wiki.bu.ost.ch/infoportal/embedded_systems/jtaghs3/start. IMPORTANT: You must close OpenOCD before switching the driver, else the WinUSB cannot be unloaded.
  8. The program to download can be found in the binaries of Vivado or the Xilinx SDK. You have to either install Vivado or Xilinx SDK which doesn't require a license. As Vivado uses lots of disk space we strongly recommend to install Xilinx SDK. For the installation see Installing Xilinx SDK. After installation, open a command shell and run the command (Change the command so that the right configuration file is loaded, see https://wiki.bu.ost.ch/infoportal/embedded_systems/zynq7000/microzed). The corresponding files can be found in your target runtime library in the directory /rsc.
    cmd /C C:\Xilinx\SDK\2019.1\bin\program_flash -f MyProject\App.ExternalFlash.mcs -offset 0 -flash_type qspi-x4-single -fsbl M:\EUser\JCC\org.deepjava.trglib\rsc\FSBL.elf -cable type xilinx_tcf url TCP:127.0.0.1:3121 

    Make sure that the programming was successful with the program printing

    Flash Operation Successful
  9. Switch the driver for the JTAG-HS3 back to WinUSB, see https://wiki.bu.ost.ch/infoportal/embedded_systems/jtaghs3/start.

How Does the System Boot?

  1. reset (by power-on or reset button)
  2. load and run first stage boot loader from flash
    1. configuration of PLL, clocks, DDR
    2. load PL
    3. copy application to DDR memory
    4. handoff to address 0x100000
firstexample/first_example_microzed_deploy.txt · Last modified: 2021/03/16 08:55 by ursgraf