BELK/BXELK software components

From DAVE Developer's Wiki
< BELK
Revision as of 15:36, 22 September 2021 by U0007 (talk | contribs)

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

Introduction[edit | edit source]

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. Customizations 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[edit | edit source]

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

4.1.0
4.1.0

4.1.2
4.1.2

4.1.4
4.1.4
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

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

July 2017
July 2017

Jan 2020
Jan 2020

Sep 2020
Sep 2020

Jul 2021
Jul 2021
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

Ver 4.1.0

Ver 4.1.2

Ver 4.1.4
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

CS020313B/CS020313C/CS061919

CS112714B

CS020313B/CS020313C/CS061919

CS112714B

CS020313B/CS020313C/CS061919

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

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 2017.01-belk-4.1.1 2017.01-belk-4.1.2 2017.01-belk-4.1.4
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 4.9.0-bora-4.1.0 4.9.0-bora-4.1.4 4.9.0-bora-4.1.4
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
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 2017.1 2017.1 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.2) Yocto Morty (2.2) Yocto Morty (2.2) Yocto Morty (2.2)
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) belk-4.1.0 (based on Ubuntu 14.04 64 bit) belk-4.1.0 (based on Ubuntu 14.04 64 bit) belk-4.1.0 (based on Ubuntu 14.04 64 bit)

Downloadable binary images[edit | edit source]

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.1.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
Image BELK version BXELK version
4.1.4 4.1.4
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 SPL (for NAND flash boot)
(for BoraLite SOM)
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
U-Boot (for NAND flash boot)
(for BoraLite SOM)
u-boot.img -
FPGA Bitstream fpga.bit fpga.bit
Linux kernel uImage uImage
Device tree bora.dtb bora.dtb
Root File System bora.tar.bz2 bora.tar.bz2
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[edit | edit source]

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[edit | edit source]

200px-Emblem-important.svg.png

It's recommended to use the latest source release available. Please refer to Release notes for further information.


Updating git repositories[edit | edit source]

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[edit | edit source]

200px-Emblem-important.svg.png

To update the repositories from BELK 2.1.0, the following commands should be used:

git fetch origin
git checkout -b <new_branch_name> origin/bora


Synchronizing the repositories[edit | edit source]

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[edit | edit source]

BELK 4.1.4[edit | edit source]

Updates:

  1. Fixes for MAC programming on NOR SPI OTP

Known Limitations[edit | edit source]

ID Component Subsystem Description
0001 BoraEVB External DDR3 bank (BoraEVB only) DDR3 bank can be populated on request. For more details please refer to Sales Department.
0002 BoraEVB/BoraXEVB ETH1 interface Please refer to this application note for second Ethernet interface support.
0003 BoraEVB/BoraXEVB RTC Date/time retention is limited to about 4 hours.
0004 BoraEVB/BoraXEVB System clock runs slower As per Xilinx issue, @333MHz (speedgrade -3) system clock is slower then expected

BELK 4.1.2[edit | edit source]

Updates:

  1. Added support for MAC programming on NOR SPI OTP

Known Limitations[edit | edit source]

ID Component Subsystem Description
0001 BoraEVB External DDR3 bank (BoraEVB only) DDR3 bank can be populated on request. For more details please refer to Sales Department.
0002 BoraEVB/BoraXEVB ETH1 interface Please refer to this application note for second Ethernet interface support.
0003 BoraEVB/BoraXEVB RTC Date/time retention is limited to about 4 hours.
0004 BoraEVB/BoraXEVB System clock runs slower As per Xilinx issue, @333MHz (speedgrade -3) system clock is slower then expected
0005 Bora/BoraX/BoraLite SOM NOR QSPI flash Wrong QSPI flash size detection in belk-4.x.x: this issue has been fixed on u-boot repository:
  • tag belk-4.1.3
  • related commit 6074f0dc148d9e40e82fab9ad44ab24156323312

BELK 4.1.0[edit | edit source]

Updates:

  1. Added support for BoraLite SOM

Known Limitations[edit | edit source]

ID Component Subsystem Description
0001 BoraEVB External DDR3 bank (BoraEVB only) DDR3 bank can be populated on request. For more details please refer to Sales Department.
0002 BoraEVB/BoraXEVB ETH1 interface Please refer to this application note for second Ethernet interface support.
0003 BoraEVB/BoraXEVB RTC Date/time retention is limited to about 4 hours.
0004 BoraEVB/BoraXEVB System clock runs slower As per Xilinx issue, @333MHz (speedgrade -3) system clock is slower then expected

BELK 4.0.0 / BXELK 2.0.0[edit | edit source]

Updates:

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

Known Limitations[edit | edit source]

ID Component Subsystem Description
0001 BoraEVB External DDR3 bank (BoraEVB only) DDR3 bank can be populated on request. For more details please refer to Sales Department.
0002 BoraEVB/BoraXEVB ETH1 interface Please refer to this application note for second Ethernet interface support.
0003 BoraEVB/BoraXEVB RTC Date/time retention is limited to about 4 hours.
0004 MVM 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

otherwise, the SDK can be updated for fixing this issue using this file

0005 MVM 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. The SDK can be updated for fixing this issue using this file

0006 MVM Cross-building environment The script ~/env.sh does not set the CC variable properly.

To fix this, please comment out the following line:

export CC=gcc

0007 BoraEVB/BoraXEVB System clock runs slower As per Xilinx issue, @333MHz (speedgrade -3) system clock is slower then expected

BELK 3.0.2 / BXELK 1.0.1[edit | edit source]

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[edit | edit source]

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

BELK/BXELK older releases[edit | edit source]

For BELK/BXELK older releases information, please click on Expand here below (on the right)

BELK 3.0.1 / BXELK 1.0.0[edit | edit source]

Updates: added support for BoraX/BoraXEVB evaluation system

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

Known Limitations[edit | edit source]
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[edit | edit source]

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[edit | edit source]
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[edit | edit source]

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[edit | edit source]
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[edit | edit source]

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[edit | edit source]
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[edit | edit source]

Updates:

  1. Added support for the BoraEVB carrier board
  2. Updated supported drivers list (please refer to BELK_software_components)
Known Limitations[edit | edit source]

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[edit | edit source]

Updates:

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

BELK 1.0.0[edit | edit source]

First official release