Difference between revisions of "System boot and recovery via microSD card (BELK/BXELK)"

From DAVE Developer's Wiki
Jump to: navigation, search
(How to configure the system for SD boot)
(How to create a bootable MicroSD card)
Line 66: Line 66:
 
*from the Xilinx Tools menu, select ''Create Zynq Boot Image''
 
*from the Xilinx Tools menu, select ''Create Zynq Boot Image''
 
*select Create New BIF file and insert path and name of the .bif file
 
*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:
+
*in the ''Boot image partitions'' section, click on ''Add'' to browse and add the following files:
FSBL in .elf format, with partition type “bootloader”
+
**FSBL in .elf format, with ''bootloader'' as partition type  
(optional) FPGA bitstream in .bit format, with partition type “datafile”
+
**(optional) FPGA bitstream in .bit format, with partition type ''datafile''
U-boot binary with .elf extension, 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
+
*in the ''Output path'' section, browse and select the path where saving the <code>boot.bin</code> file
on a PC, format the microSD card creating a FAT32 partition
+
*on a PC, format the microSD card creating a FAT32 partition
copy the boot.bin file to the microSD card FAT32 partition
+
*copy the <code>boot.bin</code> file to the microSD card FAT32 partition.
 +
 
 
==How to configure the system for microSD boot==
 
==How to configure the system for microSD 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):
 
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):

Revision as of 14:35, 30 October 2015

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

Introduction[edit | edit source]

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. QSPI 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.

How to create a bootable MicroSD card[edit | edit source]

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 here
  • U-boot built in elf format, as described in here
  • 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
	 */
#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):
Automatic patch applying (1/3)
Automatic patch applying (2/3)
Automatic patch applying (3/3)
  • once the patch is applied, rebuild the FSBL project
  • from the Xilinx Tools menu, 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 bootloader as partition type
    • (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.

How to configure the system for microSD boot[edit | edit source]

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):


Boot mode S5 dip switch positions
1 2 3 4 5 6 7 8
MicroSD OFF ON OFF ON ON OFF ON OFF
NOR SPI OFF ON OFF ON ON ON ON OFF
NAND OFF ON OFF ON ON OFF ON ON