BELK/BXELK software components

From DAVE Developer's Wiki
Jump to: navigation, search
Info Box
Bora5-small.jpg Applies to Bora
BORA Xpress.png Applies to BORA Xpress

Introduction

From the software standpoint, Bora Embedded Linux Kit (BELK) and BoraX Embedded Linux Kit (BXELK) are built on top of Zynq Linux BSP released by Xilinx. Customization are added to support for the Bora and BoraX platforms, in particular at bootloader and Linux kernel levels. BELK and BXELK share the same software modules, even if they are based on different hardware platforms.

Reading of this document is strongly recommended to understand the logical structure of the kits and how the software components are related.

Kits' composition

The following table details the software modules of BELK/BXELK releases.

Kit composition
Release number
BELK
BXELK

1.0.0
n/a

1.1.0
n/a

2.0.0
n/a

2.1.0
n/a

2.2.0
n/a

3.0.0
n/a

3.0.1
1.0.0

3.0.2
1.0.1

4.0.0
2.0.0
Status
BELK
BXELK

Released
n/a

Released
n/a

Released
n/a

Released
n/a

Released
n/a

Released
n/a

Released
Released

Released
Released

Released
Released
Release date
BELK
BXELK

July 2013
n/a

November 2013
n/a

May 2014
n/a

August 2014
n/a

September 2015
n/a

March 2016
n/a

December 2016
December 2016

January 2017
January 2017

July2017
July2017
Release notes
BELK
BXELK

Ver 1.0.0

Ver 1.1.0

Ver 2.0.0

Ver 2.1.0

Ver 2.2.0

Ver 3.0.0

Ver 3.0.1

Ver 3.0.2

Ver 4.0.0
SOM PCB version
BELK

BXELK

CS020313A

n/a

CS020313A

n/a

CS020313B

n/a

CS020313B

n/a

CS020313B

n/a

CS020313B/CS020313C

n/a

CS020313B/CS020313C

CS112714B

CS020313B/CS020313C

CS112714B

CS020313B/CS020313C

CS112714B
Supported carrier boards
BELK
BXELK

BoraEVB-Lite
n/a

BoraEVB-Lite
n/a

BoraEVB
n/a

BoraEVB
n/a

BoraEVB
n/a

BoraEVB
n/a

BoraEVB
BoraXEVB

BoraEVB
BoraXEVB

BoraEVB
BoraXEVB
U-Boot version 2013.04-belk-1.0.0 2013.04-belk-1.1.0 2013.04-belk-2.0.0 2013.04-belk-2.1.0 2014.07-belk-2.2.0 2014.07-belk-3.0.0 2014.07-belk-3.0.0 2014.07-belk-3.0.2 2017.01-belk-4.0.1
Linux version 3.9.0-bora-1.0.0 3.9.0-bora-1.1.0 3.9.0-bora-2.0.0 3.9.0-bora-2.1.0 3.17.0-bora-2.2.0 3.17.0-bora-3.0.0 3.17.0-bora-3.0.0 3.17.0-bora-3.0.0 4.9.0-bora-4.0.0
Drivers - - Gigabit Eth #0
UART
NOR
NAND
SD/MMC
USB Host/Device
RTC
CAN
I2C
Gigabit Eth #0
UART
NOR
NAND
SD/MMC
USB Host/Device
RTC
CAN
I2C
Gigabit Eth #0
UART
NOR
NAND
SD/MMC
USB Host/Device
RTC
CAN
I2C
ConfigID
Gigabit Eth #0
UART
NOR
NAND
SD/MMC
USB Host/Device
RTC
CAN
I2C
ConfigID
Gigabit Eth #0
UART
NOR
NAND
SD/MMC
USB Host/Device
RTC
CAN
I2C
ConfigID
Gigabit Eth #0
UART
NOR
NAND
SD/MMC
USB Host/Device
RTC
CAN
I2C
ConfigID
Gigabit Eth #0
UART
NOR
NAND
SD/MMC
USB Host/Device
RTC
CAN
I2C
ConfigID
Vivado version 2013.2 2013.3 2013.3 2013.3 2014.4 2014.4 2014.4 2014.4 2017.1
Build System - - - Yocto Daisy (1.6) Yocto Daisy (1.6) Yocto Daisy (1.6) Yocto Daisy (1.6) Yocto Daisy (1.6) Yocto Morty (2.1)
Managed Virtual Machine (MVM) N/A N/A N/A N/A N/A N/A N/A N/A belk-4.0.0 (based on Ubuntu 14.04 64 bit)

Downloadable binary images

All binary images for BELK/BXELK are hosted on DAVE Embedded System mirror server. There you can find a sub directory for each version of this development kit.

A summary of images with a brief description can be found in the tables below.

200px-Emblem-important.svg.png In order to create a bootable microSD card, the binary files must be renamed as follows:
  • For BELK <= 3.0.2 and BXELK <= 1.0.1 :
    • FSBL: boot.bin
    • Linux kernel: uImage
    • Device tree: bora.dtb
  • For BELK-4.0.0 or newer and BXELK-2.0.0 or newer:
    • U-Boot SPL: boot.bin
    • U-Boot: u-boot.img
    • Fpga Bitstream: fpga.bit
    • Linux kernel: uImage
    • Device tree: bora.dtb
200px-Emblem-important.svg.png
Image BELK version BXELK version
4.0.0 2.0.0
mksd.sh mksd.sh mksd.sh
bootscript boot.scr boot.scr
U-Boot SPL (for uSD boot) boot.bin boot.bin
U-Boot SPL (for NOR flash boot) boot.bin boot.bin
U-Boot (for uSD boot) u-boot.img u-boot.img
U-Boot (for NOR flash boot) u-boot.img u-boot.img
Fpga Bitstream fpga.bit fpga.bit
Linux kernel uImage uImage
Device tree bora.dtb bora.dtb
Root File System bora.tar.gz bora.tar.gz


Image BELK version BXELK version
3.0.2 1.0.1
mksd.sh mksd.sh mksd.sh
bootscript boot.scr boot.scr
FSBL (QSPI) fsbl.bin fsbl.bin
U-Boot (QSPI) u-boot.bin u-boot.bin
Boot.bin (SD) boot.bin boot.bin
Boot header boot-header boot-header
Linux kernel uImage uImage
Device tree bora.dtb bora.dtb
Root File System bora.tar.gz bora.tar.gz


Image BELK version BXELK version
3.0.1 1.0.0
mksd.sh mksd.sh mksd.sh
uEnv uEnv.txt uEnv.txt
FSBL (QSPI) fsbl.bin fsbl.bin
U-Boot (QSPI) u-boot.bin u-boot.bin
Boot.bin (SD) boot.bin boot.bin
Boot header boot-header boot-header
Linux kernel uImage uImage
Device tree bora.dtb bora.dtb
Root File System bora.tar.gz bora.tar.gz

microSD layout

The microSD card provided with BELK/BXELK is partitioned as shown in the following image:


microSD card partitioning


Most of storage space is occupied by two partitions:

  • a FAT32 partition (mmcblk0p1) containing:
    • For BELK <= 3.0.2 and BXELK <= 1.0.1 :
      • boot.bin boot image (containing FSBL, FPGA Bitstream an U-boot binaries)
      • U-Boot boot.scr bootscript
      • Linux kernel and DTB binary images
    • For BELK 4.0.0 or newer and BXELK 2.0.0 or newer:
      • boot.bin u-boot SPL image
      • fpga.bit optional Fpga bitstream
      • u-boot.img u-boot image
      • U-Boot boot.scr bootscript
      • Linux kernel and DTB binary images
      • MVM image in OVA format
  • an ext3 partition (mmcblk0p2) containing the root file system for the target.

bootscript and root file system are used to boot the target as described in this section.

It is worth remembering that the microSD card is bootable and U-Boot environment is retrieved from (and stored to with saveenv) into the FAT partition as bora.env

Updates

200px-Emblem-important.svg.png It's recommended to use the latest source release available. Please refer to Release notes for further information. 200px-Emblem-important.svg.png

Updating git repositories

In BELK/BXELK, the following source trees are clones of the correspondent DAVE Embedded Systems git repositories:

Component GIT Remote
U-Boot git@git.dave.eu:dave/bora/u-boot-xlnx.git
Linux kernel git@git.dave.eu:dave/bora/linux-xlnx.git
Yocto BSP git@git.dave.eu:dave/bora/bora-bsp.git
Vivado project git@git.dave.eu:dave/bora/bora.git

For more information about the access to these repositories, please refer to this link.

Updating the repositories from BELK 2.1.0

200px-Emblem-important.svg.png To update the repositories from BELK 2.1.0, the following commands should be used: 200px-Emblem-important.svg.png
git fetch origin
git checkout -b <new_branch_name> origin/bora

Synchronizing the repositories

When the account is enabled, you can synchronize a source tree entering the repository directory and launching the git fetch command. Please note that git fetch doesn't merge the commits on the current branch. To do that, you should run the git merge command or replace the fetch-merge process with a single git pull command. Please note that the recommended method is the fetch-merge process. For further information on Git, please refer to Git Documentation.

Release notes

BELK 4.0.0 / BXELK 2.0.0

Updates:

  1. Switched to Vivado 2017.1
  2. Updated U-Boot and Linux versions

Known Limitations

Issue Description
External DDR3 bank (BoraEVB only) DDR3 bank can be populated on request. For more details please refer to Sales Department.
ETH1 interface Please refer to this application note for second Ethernet interface support.
RTC Date/time retention is limited to about 4 hours.
MVM Eclipse cross-toolchain configuration Cross-toolchain configuration in Eclipse in the BELK MVM cannot be saved correctly.
To fix the problem the following commands must be issued in the MVM terminal:
cd /home/dvdk/bora/sdk/belk-4.0.0/sysroots/
sudo ln -s x86_64-petalinux-linux x86_64-petalinuxsdk-linux
MVM Eclipse gdb remote debug Remote debug of an application using Eclipse and gdb is not working due to an issue with the Yocto SDK included in the BELK/BXELK MVM.

This issue will be fixed in next BELK/BXELK release

BELK 3.0.2 / BXELK 1.0.1

Updates:

  1. Fix BELK-3.0.1/BXELK-1.0.0 software issues
  2. Use standard DAVE recovery scripts for u-boot

(BoraXEVB only) For LCD interfacing, please refer to this application note.

Known Limitations

Issue Description
External DDR3 bank (BoraEVB only) DDR3 bank can be populated on request. For more details please refer to Sales Department.
ETH1 interface Please refer to this application note for second Ethernet interface support.
RTC Date/time retention is limited to about 4 hours.


BELK 3.0.1 / BXELK 1.0.0

Updates: added support for BoraX/BoraXEVB evaluation system

(BoraXEVB only) For LCD interfacing, please refer to this application note.

Known Limitations

Issue Description
canutils package is missing is default root file system It can be downloaded directly from our package repository as described here
External DDR3 bank (BoraEVB only) DDR3 bank can be populated on request. For more details please refer to Sales Department.
ETH1 interface Please refer to this application note for second Ethernet interface support.
RTC Date/time retention is limited to about 4 hours.
Boot for NOR flash U-Boot is not configured properly to support NOR boot. Please use boot from microSD card instead.

BELK 3.0.0

Updates:

  1. Added preliminary support for BORA Xpress SOM
  2. Updated U-Boot and Linux versions

(BoraXEVB only) For LCD interfacing, please refer to this application note.

Known Limitations

Issue Description
Yocto ubi-utils command line Some Yocto ubi-utils command line are in non standard format. For ubimkvol and ubirmvol the UBI device must be the last argument (e.g. ubimkvol -m -N belk /dev/ubi0)
External DDR3 bank (BoraEVB only) DDR3 bank can be populated on request. For more details please refer to Sales Department.
ETH1 interface Please refer to this application note for second Ethernet interface support.
RTC Date/time retention is limited to about 4 hours.

BELK 2.2.0

Updates:

  1. Switched to Vivado 2014.4
  2. Added “board part” for the BORA SOM, which includes all the settings of the Zynq PS for BORA, allowing users to manage projects from the Vivado GUI (and not only using the CLI).
  3. Added ConfigID
  4. Updated U-Boot and Linux versions

Known Limitations

Issue Description
Kernel command line User should remove mem=xxx from kernel command line to avoid system hang during boot. This is fixed in current u-boot default environment
Yocto ubi-utils command line Some Yocto ubi-utils command line are in non standard format. For ubimkvol and ubirmvol the UBI device must be the last argument (e.g. ubimkvol -m -N belk /dev/ubi0)
External DDR3 bank (BoraEVB only) DDR3 bank can be populated on request. For more details please refer to Sales Department.
ETH1 interface Please refer to this application note for second Ethernet interface support.
RTC Date/time retention is limited to about 4 hours.
u-boot default environment Default u-boot environment has a syntax error on sdboot command. This is already fixed in bora-next branch, release belk-2.2.1-rc1, available on u-boot repository.

BELK 2.1.0

Updates:

  1. Fix and performance improvement on u-boot network interface
  2. Fix SD card hotplug issue in Linux
  3. First Yocto Daisy (1.6) BSP Release

Known Limitations

Issue Description
ETH0 interface Primary Gigabit Ethernet Interface (ETH0) is not working correctly at 10Mbps
Kernel command line User should remove mem=xxx from kernel command line to avoid system hang during boot
Yocto ubi-utils command line Some Yocto ubi-utils command line are in non standard format. For ubimkvol and ubirmvol the UBI device must be the last argument (e.g. ubimkvol -m -N belk /dev/ubi0)
External DDR3 bank (BoraEVB only) DDR3 bank can be populated on request. For more details please refer to Sales Department.
ETH1 interface The additional Gigabit Ethernet interface (ETH1) is not supported in this BELK version.
RTC Date/time retention is limited to about 4 hours.

BELK 2.0.0

Updates:

  1. Added support for the BoraEVB carrier board
  2. Updated supported drivers list (please refer to BELK_software_components)

Known Limitations

The following table reports the known limitations of this BELK release:

Issue Description
External DDR3 bank (BoraEVB only) DDR3 bank can be populated on request. For more details please refer to Sales Department.
ETH1 interface The additional Gigabit Ethernet interface (ETH1) is not supported in this BELK version.
RTC Date/time retention is limited to about 4 hours.

BELK 1.1.0

Updates:

  1. Switched to Vivado 2013.3
  2. Added application note "AMP on Bora"

BELK 1.0.0

First official release