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

Next revision
Previous revision
firstexample:first_example_microzed_deploy [2020/12/01 14:19] – external edit 127.0.0.1firstexample: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 program it together with a FPGA configuration into the on-board 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 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]]. 
-  - Do not specify a configuration for the FPGA part, as it will be loaded from flash. you must select a configuration file for the PL. \\ {{ ::choosenoplfile.png?300 |}}. +  - 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 QSPI flash and load program to ram// {{ :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.   
 +  - Now, you have to choose between using a SD card or the QSPI flash. 
 +  
 +==== 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 ==== 
 +  - 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. 
  
 ===== How Does the System Boot? ===== ===== How Does the System Boot? =====
-  - reset (by JTAG)+  - reset (by power-on or reset button)
   - load and run first stage boot loader from flash   - load and run first stage boot loader from flash
-    - configuration of PLL, clocks, DDR by host system+    - configuration of PLL, clocks, DDR
     - load PL     - load PL
-    - handoff to JTAG +    - copy application to DDR memory 
-  halt +    handoff to address 0x100000
-  - reset REBOOT_STATUS register +
-  - download of bin-files to OCM and DDR +
-  - download of bit-file (if specified) +
-  - start at address 0x100+
  
firstexample/first_example_microzed_deploy.txt · Last modified: 2022/11/17 15:03 by ursgraf