BORA Lite SOM/BELK-L/Development/Building U-Boot

From DAVE Developer's Wiki
Jump to: navigation, search
Info Box
Bora5-small.jpg Applies to Bora
BORA Xpress.png Applies to BORA Xpress
BORALite-TOP.png Applies to BORA Lite
200px-Emblem-important.svg.png As the structure of the BELK/BXELK is based on several tools, it is strongly recommended the reading of this document first. 200px-Emblem-important.svg.png

History[edit | edit source]

Version Date BELK/BXELK version Notes


November 2015 3.0.0 / N/A First release


July 2017 4.0.0 / 2.0.0 Updated for BELK 4.0.0 / BXELK 2.0.0
3.0.0 Jan 2020 4.1.0 Updated for BELK/BXELK 4.1.0

Instructions[edit | edit source]

It is assumed that the development environment has been set up properly as described here.

  • start the Linux development server and login into the system
  • assuming that a local repository has not been created, clone the remote U-Boot git repository (the “-b” option is used to automatically checkout the current branch):

git clone -b bora-4.x.x

  • Setup the server environment (please refer to this section)
  • enter the source tree directory and select the desired target by issuing one of the following commands:
    • For BELK <= 3.0.2 and BXELK <= 1.0.1:
      make bora_qspi_config 
      make bora_mmc_config 
      make bora_noflash_config
    • For BELK 4.0.0 and BXELK 2.0.0:
      make bora_qspi_defconfig 
      make bora_mmc_defconfig 
      make bora_noflash_defconfig 
      make borax_qspi_defconfig 
      make borax_mmc_defconfig 
      make borax_noflash_defconfig
    • BELK 4.1.1 or newer more targets have been added for BoraLite booting from NAND and for the application note AN006
      make bora_nand_defconfig 
      make bora_mmc_an006_defconfig
bora_qspi and borax_qspi: U-Boot is built to use NOR flashed based environment. The resulting binary files are used to boot from serial NOR flash.
bora_mmc and borax_mmc: U-Boot environment is placed in SD/MMC card. The resulting binary files are used to boot from SD/MMC card. However, NOR flash and NAND flash are accessible.
bora_noflash and borax_noflash: U-Boot environment is placed in SD/MMC card. The resulting binary files are used to boot from SD/MMC card. NOR flash and NAND flash are disabled.
bora_nand_defconfig: U-Boot environment is placed on NAND flash.
  • build U-Boot by issuing make command. This will generate U-Boot binary images.
    • file extension .elf must be manually added on u-boot if ELF file is required (for example to build boot.bin for uSD)

Subsequent builds just require make command, without targets, to update the binary images.

200px-Emblem-important.svg.png By default, BoraEVB and BoraXEVB are configured to boot from NOR flash. Consequently, the U-Boot image stored in the NOR flash is built with bora_qspi_defconfig and borax_qspi_defconfig configuration respectively. 200px-Emblem-important.svg.png

In order to download them to the target via TFPT protocol, once the build process is complete the binary images can be copied to the tftp root directory (e.g. /tftpboot/bora/) with the following commands:

  • For BELK 4.0.0 or newer and BXELK 2.0.0 or newer:
cp spl/boot.bin /tftpboot/bora/ 
cp u-boot.img /tftpboot/bora/
  • For BELK <= 3.0.2 and BXELK <= 1.0.1 :
cp u-boot.bin /tftpboot/bora/