====== Deploying ====== 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]]. 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 ===== - 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]]. You can use relative or absolute paths. - 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 -f \\ost.ch\dfs\bsc.sys\public-programme\deep\lib\rsc\BOOTflink2.mcsyou have to load your own binary image -f MyProject\App.ExternalFlash.mcs. - 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? ===== - reset (by power-on or reset button) - load and run first stage boot loader from flash - configuration of PLL, clocks, DDR - load PL - copy application to DDR memory - handoff to address 0x100000