deep

a Cross Development Platform for Java

User Tools

Site Tools


firstexample:first_example_microzed_deploy

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
firstexample:first_example_microzed_deploy [2021/12/28 15:14] – [Deploying] ursgraffirstexample:first_example_microzed_deploy [2022/11/17 15:03] (current) ursgraf
Line 1: Line 1:
 ====== Deploying ====== ====== Deploying ======
 <box green 100%> <box green 100%>
-As soon as you are done with your development, you can deploy it. This means to load it together with a FPGA configuration onto a SD card. Alternatively, you can program it into the on-board QSPI flash device.+As soon as you are done with your development, you can deploy it. This means loading it onto a SD card together with a FPGA configuration. Alternatively, you can program it into the on-board QSPI flash device. We strongly recommend using the SD card and reserving the QSPI flash for use with [[firstexample:first_example_microzed_appdev|Application Development]].
 </box> </box>
    
-The application together with the configuration of the FPGA is loaded upon power-up from the SD card or the flash device. What must be done using this method?+The application and configuration of the FPGA are loaded from the SD card or the flash device upon power-up. Make sure to specify a PL configuration, see 2. below.
    
 ===== Step by Step Instructions ===== ===== Step by Step Instructions =====
-  - Set the jumpers on your MicroZed board as follows \\ {{ jtagboot.png?200 |}}. \\ This will boot the device from the JTAG.  
-  - 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. 
   - Create a deep project and setup the project configuration as given in [[first_example_microzed|Hello World on the Avnet MicroZed Board]].    - Create a deep project and setup the project configuration as given in [[first_example_microzed|Hello World on the Avnet MicroZed Board]]. 
-  - Choose a configuration for the FPGA part to be included into the resulting image. \\ {{ chooseplfile.png?350 |}}. \\ Available configurations can be found under [[https://wiki.bu.ost.ch/infoportal/embedded_systems/zynq7000/microzed#configuration_files|Configuration Files]].+  - Choose a configuration for the FPGA part to be included into the resulting image. \\ {{ chooseplfile.png?350 |}}. \\ Available configurations can be found under [[https://wiki.bu.ost.ch/infoportal/embedded_systems/zynq7000/microzed#configuration_files|Configuration Files]]. You can use relative or absolute paths.
   - When creating the run configuration, set the target configuration to //boot from flash memory// {{ runconfigurationmicrozedflash.png?400 |}}.   - When creating the run configuration, set the target configuration to //boot from flash memory// {{ runconfigurationmicrozedflash.png?400 |}}.
   - Running the configuration will create two flash files. Its location is given by the image file setting in the configuration. They carry the names //*.ExternalFlash.mcs// and //BOOT.bin//. Running the configuration will try to open a connection to the target if a programmer is chosen, such as //OpenOCD//. Make sure to remove the programmer, if you have no programmer present.     - Running the configuration will create two flash files. Its location is given by the image file setting in the configuration. They carry the names //*.ExternalFlash.mcs// and //BOOT.bin//. Running the configuration will try to open a connection to the target if a programmer is chosen, such as //OpenOCD//. Make sure to remove the programmer, if you have no programmer present.  
-  - You have +  - Now, you have to choose between using a SD card or the QSPI flash. 
-==== Using the SD card ====+  
 +==== Using the SD Card ==== 
 +  - Copy the above generated file //BOOT.bin// onto a SD card. The card must be formatted with FAT32.  
 +  - Set the jumpers on your MicroZed board as follows \\ {{ sdboot.png?200 |}}. \\ This will boot the device from the SD card.  
 +  - 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.
  
-==== Using the QSPI flash ====+==== Using the QSPI Flash ==== 
 +  - Follow the steps given in [[firstexample:boot_loader#flashing_a_new_boot_loader|Flashing a new Boot Loader]]. However, instead of loading the configuration file <code shell>-f \\ost.ch\dfs\bsc.sys\public-programme\deep\lib\rsc\BOOTflink2.mcs</code>you have to load your own binary image <code shell>-f MyProject\App.ExternalFlash.mcs</code>
 +  - Set the jumpers on your MicroZed board as follows \\ {{ qspiboot.png?200 |}}. \\ This will boot the device from the QSPI flash.  
 +  - 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.
  
-  - 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. 
-  - 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 [[https://wiki.bu.ost.ch/infoportal/embedded_systems/zynq7000/xsdk|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//. Please make sure that the paths in the following command does not include spaces! <code shell>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 </code> Make sure that the programming was successful with the program printing <code>Flash Operation Successful</code> 
-  - 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? ===== ===== How Does the System Boot? =====
firstexample/first_example_microzed_deploy.1640700877.txt.gz · Last modified: 2021/12/28 15:14 by ursgraf