System boot and recovery via microSD card (BELK/BXELK)

From DAVE Developer's Wiki
Revision as of 13:37, 29 October 2015 by U0001 (talk | contribs)

Jump to: navigation, search
Info Box
Bora5-small.jpg Applies to Bora
BORA Xpress.png Applies to BORA Xpress

History[edit | edit source]

Version Date BELK version Notes
1.0.0 November 2015 3.0.0 First release

Instructions[edit | edit source]

It is assumed that the development environment has been set up properly as described here. BELK provides a bootable microSD that can be used not only to quickly start the system, but also as a recovery method in case the primary boot device (eg. SPI NOR flash) gets erased or corrupted. The following sections describe how to create a bootable SD card and how to configure the system for booting from SD. 3.4.9.1 How to create a bootable MicroSD card This section describes how to create a new bootable microSD card from scratch. The following components must be available: FSBL built with Vivado 2014.4 as described in Section 3.4.2 U-boot built in elf format, as described in Section 3.4.4 FPGA bitstream (optional) The procedure is the following: from the Vivado 2014.4 SDK, apply the required patches to the main.c project file.This step can be done in two ways: manually, directly modifying the main.c file adding the following code snippets:


CUT----

/* * Unlock SLCR for SLCR register write */ SlcrUnlock();

+ *((u32 *)0xF8000830) = 0x003F003F; + *((u32 *)0xF8000834) = 0x003F003F;

/* If Performance measurement is required * then read the Global Timer value , Please note that the


CUT----


CUT----

/* * Read bootmode register */ BootModeRegister = Xil_In32(BOOT_MODE_REG); BootModeRegister &= BOOT_MODES_MASK;

+ // always init QSPI + InitQspi();

/* * QSPI BOOT MODE */

  1. ifdef XPAR_PS7_QSPI_LINEAR_0_S_AXI_BASEADDR

CUT----

automatically, using the Apply Patch function and selecting the belk-sd-boot.patch file provided with the BELK (please refer to the following images):


once the patch are applied, rebuild the FSBL project from the Xilinx Tools menù, select Create Zynq Boot Image select Create New BIF file and insert path and name of the .bif file in the Boot image partitions section, click on Add to browse and add the following files: FSBL in .elf format, with partition type “bootloader” (optional) FPGA bitstream in .bit format, with partition type “datafile” U-boot binary with .elf extension, with partition type “datafile” in the Output path section, browse and select the path where saving the boot.bin file on a PC, format the microSD card creating a FAT32 partition copy the boot.bin file to the microSD card FAT32 partition 3.4.9.2 How to configure the system for SD boot The S5 dip-switch on the BORAEVB carrier board is used for configuring the boot mode. Please refer to the following table to select the MicroSD mode (highlighted in green):