BELK/BXELK software components

From DAVE Developer's Wiki
< BELK
Revision as of 10:29, 14 December 2016 by U0001 (talk | contribs)

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

Introduction[edit | edit source]

From the software standpoint, BELK and BXELK are built on to of Zynq Linux BSP released by Xilinx. Customization are added to support 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.

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
0.9.0
Status
BELK
BXELK

Released
n/a

Released
n/a

Released
n/a

Released
n/a

Released
n/a

Released
n/a

Released
Beta
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
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

SOM PCB version
BELK
BXELK

CS020313A
n/a

CS020313A
n/a

CS020313B
n/a

CS020313B
n/a

CS020313B
n/a

CS020313C
n/a

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
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 TBD
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 TBD
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
TBD
Vivado version 2013.2 2013.3 2013.3 2013.3 2014.4 2014.4 2014.4
Build System - - - Yocto Daisy (1.6) Yocto Daisy (1.6) Yocto Daisy (1.6) Yocto Daisy (1.6)

Downloadable binary images[edit | edit source]

TBD

microSD layout[edit | edit source]

TBD

Updates[edit | edit source]

TBD

200px-Emblem-important.svg.png

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

Updating git repositories[edit | edit source]

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

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

This means that these components can be kept in sync and up to date with DAVE Embedded Systems repositories.

RSA key generation[edit | edit source]

Please follow the procedure reported below to generate the RSA ssh key:

  • select your username (ad es. username@myhost.com)
  • start your Linux development server machine
  • start a shell session
  • make sure the ssh client components are installed
  • enter the .ssh subdirectory into your home directory: cd ~/.ssh/
  • launch the following command:
    ssh-keygen -t rsa -C "username@myhost.com" -f username@myhost.com
  • this command creates the files ~/.ssh/username@myhost.com (private key) and ~/.ssh/username@myhost.com.pub (public key)
  • edit your ~/.ssh/config adding the following lines:
Host git.dave.eu
    User git
    Hostname git.dave.eu
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/username@myhost.com

Please send the public key file to the following email support addresses:

with the request for the creation of a new public git account associated to your username. The support team will enable the account and send you a confirmation as soon as possible.

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

Updates:

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

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 The DDR3 SDRAM bank on the BoraEVB is not supported in this BELK version.
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.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 The DDR3 SDRAM bank on the BoraEVB is not supported in this BELK version.
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.
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 The DDR3 SDRAM bank on the BoraEVB is not supported in this BELK version.
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 The DDR3 SDRAM bank on the BoraEVB is not supported in this BELK version.
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




roba presa da XUELK


BXELK software components[edit | edit source]

200px-Emblem-important.svg.png

From the software perspective, BXELK supports SBC Lynx and AXEL ULite SOM. However, physical contents of the kit include SBC Lynx only.

BoraX Embedded Linux Kit is largely derived from the Yocto distributions released by Xilinx for the Zynq product family. For this reason most of the documentation provided by Xilinx remains valid for the BXELK development kit.

The following table reports the BXELK releases information.

BXELK version
Release number 0.9.0 1.0.0 1.1.0
Release type Major Major Minor
Status Beta Released Released
Release date March 2016 August 2016 November 2016
Release notes 0.9.0 1.0.0 1.1.0
PCB version SBC Lynx CS214515 SBC Lynx CS214515A

(AXELULite CS184015) [1]

SBC Lynx CS214515A

(AXELULite CS184015) [1]

ConfigIDs (core/interfaces) 0x00000008/0x0000000E 0x00000008/0x0000000E

0x0000000C/NA
(0x0000000B/NA) [1]

0x00000008/0x0000000E

0x0000000C/NA
(0x0000000B/NA) [1]

MVM version xuelk-0.9.0, tested with:

Virtual Box 5.0.14
Vagrant 1.8.1

xuelk-1.0.0, tested with:

Virtual Box 5.0.26
Vagrant 1.8.1

xuelk-1.1.0, tested with:

Virtual Box 5.1.10
Vagrant 1.8.7

U-Boot version/release U-Boot 2015.04/xuelk-0.9.0 U-Boot 2015.04/xuelk-1.0.0 U-Boot 2015.04/xuelk-1.1.0
Linux version/release Linux 3.14.52/xuelk-0.9.0 Linux 3.14.52/xuelk-1.0.0 Linux 3.14.52/xuelk-1.1.0
Drivers UART

Ethernet
SD/MMC
USB Host
USB Device
NOR Flash
NAND Flash
ADC
RTC

UART

Ethernet
SD/MMC
USB Host
USB Device
NOR Flash
NAND Flash
ADC
RTC
CAN
DWM
LCD

UART

Ethernet
SD/MMC
USB Host
USB Device
NOR Flash
NAND Flash
ADC
RTC
CAN
DWM
LCD

NXP BSP version 3.14.52_1.1.0_ga 3.14.52_1.1.0_ga 3.14.52_1.1.0_ga
Build System Yocto Fido (1.8) Yocto Fido (1.8) Yocto Fido (1.8)


[1] Not included in the kit.

Downloadable binary images[edit | edit source]

All binary images for 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 into the table below:

Image BXELK version
1.0.0 1.1.0
bootscript boot.scr boot.scr
U-Boot u-boot.imx u-boot.imx
Linux kernel uImage uImage
Device tree imx6ul-lynx-som000c.dtb imx6ul-lynx-som000c.dtb

BXELK microSD Layout[edit | edit source]

The microSD card provided with 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:
    • U-Boot bootscript
    • Linux kernel and DTB binary images
    • BXELK virtual machine image in OFV format (MVM basic version)
    • 7-zip Windows executable file
  • 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, because U-Boot image is stored at address 0x400. However, even if U-Boot is run from the microSD card, the environment is retrieved from NOR flash.

BXELK updates[edit | edit source]

200px-Emblem-important.svg.png

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

BXELK updating process consists of updating the Managed Virtual Machine it is based on. The procedure is described here.

Please note that this process implicitly updates git source code repositories of U-Boot and/or Linux kernel. Thus it is strongly recommended to create new local branches if you need to modify source code.

Release notes[edit | edit source]

BXELK 1.1.0[edit | edit source]

Notes[edit | edit source]

Minor update on BXELK 1.0.0:

  • add some useful networking support (on both Linux and file system)
  • fix BXELK-1.0.0 shutdown issue
  • fix BXELK-1.0.0 MVM network-manager issues
  • minor fixes and enhancement
Known issues and limitations[edit | edit source]

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


Issue Description
Rebooting in Linux may hang Software reboot on Linux may hang (without rebooting the board) when root file system in on SD/MMC
USB OTG Current Limit USB OTG current limit is set at 75mA in Host mode
Low Power Idle not supported Low Power Idle is not supported in this release
Failing mount of root file system on microSD card Some commercial microSD cards occasionally prevent the target from mounting the root file system stored on themselves. microSD cards delivered along with BXELK do not exhibit this problem.

BXELK 1.0.0[edit | edit source]

Notes[edit | edit source]

First stable release with support for SBC Lynx revision A and Axel ULite

Known issues and limitations[edit | edit source]

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


Issue Description
Rebooting in Linux may hang Software reboot on Linux may hang (without rebooting the board) when root file system in on SD/MMC
USB OTG Current Limit USB OTG current limit is set at 75mA in Host mode
Low Power Idle not supported Low Power Idle is not supported in this release
BXELK environment fixup for SD boot
on SBC Lynx
To boot with the BXELK SD card, user may need to execute the following commands at u-boot prompt
setenv mmcroot /dev/mmcblk0p2
setenv mmc_loadfdt 'fatload mmc 0:1 ${fdtaddr} imx6ul-lynx-som000c.dtb'
saveenv
Failing mount of root file system on microSD card Some commercial microSD cards occasionally prevent the target from mounting the root file system stored on themselves. microSD cards delivered along with BXELK do not exhibit this problem.
System shutdown mode using the shutdown -h now command prevent the subsequent system's power-up Issuing a system shutdown by the command shutdown -h now as described in Supported power mode transitions (SBC Lynx) will prevent the subsequent system's boot.
Missing 7-zip Windows executable in microSD card Please download it from http://www.7-zip.org.
In the MVM, network-manager applet is not installed by default. Please refer to this page to install it.

BXELK 0.9.0[edit | edit source]

Notes[edit | edit source]

First beta release.

Known issues and limitations[edit | edit source]

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

Issue Description
Rebooting in Linux may hang Software reboot on Linux may hang (without rebooting the board) when root file system in on SD/MMC
USB OTG Current Limit USB OTG current limit is set at 75mA in Host mode
LDO Mode not supported LDO Mode is not supported in this SW release
Low Power Idle not supported Low Power Idle is not supported in this release
DDR3 Frequency limited at 306 MHz The DDR3 RAM frequency is limited at 306 MHz in this release