Changes

Jump to: navigation, search

BELK/BXELK software components

17,056 bytes added, 09:21, 14 December 2016
Created page with "== BELK software components == '''DAVE Embedded Systems''' adds to the latest Linux BSP from Xilinx the customization required to support the Bora platform, in particular at..."
== BELK software components ==

'''DAVE Embedded Systems''' adds to the latest Linux BSP from Xilinx the customization required to support the Bora platform, in particular at bootloader and linux kernel levels.

The following table reports the BELK releases information.
{| class="wikitable"
!
!colspan="6" | BELK version
|-
|Release number
|1.0.0
|1.1.0
|2.0.0
|2.1.0
|2.2.0
|3.0.0
|-
|Status
|Released
|Released
|Released
|Released
|Released
|Released
|-
|Release date
|July 2013
|November 2013
|May 2014
|August 2014
|September 2015
|March 2016
|-
|'''Release notes'''
|[[Bora_Embedded_Linux_Kit_(BELK)#BELK 1.0.0 | Ver 1.0.0]]
|[[Bora_Embedded_Linux_Kit_(BELK)#BELK 1.1.0 | Ver 1.1.0]]
|[[Bora_Embedded_Linux_Kit_(BELK)#BELK 2.0.0 | Ver 2.0.0]]
|[[Bora_Embedded_Linux_Kit_(BELK)#BELK 2.1.0 | Ver 2.1.0]]
|[[Bora_Embedded_Linux_Kit_(BELK)#BELK 2.2.0 | Ver 2.2.0]]
|[[Bora_Embedded_Linux_Kit_(BELK)#BELK 3.0.0 | Ver 3.0.0]]
|-
|SOM PCB version
|CS020313A
|CS020313A
|CS020313B
|CS020313B
|CS020313B
|BORA: CS020313C
|--
|Supported carrier boards
|[[BoraEVB-Lite]]
|[[BoraEVB-Lite]]
|[[BoraEVB]]
|[[BoraEVB]]
|[[BoraEVB]]
|[[BoraEVB]]<br>
|-
|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
|-
|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
|-
|Drivers
|valign="top" | -
|valign="top" | -
|valign="top" | Gigabit Eth #0<br>UART<br>NOR<br>NAND<br>SD/MMC<br>USB Host/Device<br>RTC<br>CAN<br>I2C
|valign="top" | Gigabit Eth #0<br>UART<br>NOR<br>NAND<br>SD/MMC<br>USB Host/Device<br>RTC<br>CAN<br>I2C
|valign="top" | Gigabit Eth #0<br>UART<br>NOR<br>NAND<br>SD/MMC<br>USB Host/Device<br>RTC<br>CAN<br>I2C<br>[[ConfigID_and_UniqueID | ConfigID]]
|valign="top" | Gigabit Eth #0<br>UART<br>NOR<br>NAND<br>SD/MMC<br>USB Host/Device<br>RTC<br>CAN<br>I2C<br>[[ConfigID_and_UniqueID | ConfigID]]
|-
|Vivado version
|valign="top" | 2013.2
|valign="top" | 2013.3
|valign="top" | 2013.3
|valign="top" | 2013.3
|valign="top" | 2014.4
|valign="top" | 2014.4
|-
|Build System
|valign="top" | -
|valign="top" | -
|valign="top" | -
|valign="top" | Yocto Daisy (1.6)
|valign="top" | Yocto Daisy (1.6)
|valign="top" | Yocto Daisy (1.6)
|-
|}


=== How to update BELK ===

{{ImportantMessage|text=It's recommended to use the latest available BELK version. Please refer to [[Bora_Embedded_Linux_Kit_(BELK)#Release_notes | Release notes]] for further information.}}

==== Updating git repositories ====

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

{| class="wikitable"
|-
!| 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 ====

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: <code>cd ~/.ssh/</code>
* launch the following command: <br><pre>ssh-keygen -t rsa -C "username@myhost.com" -f username@myhost.com</pre>
* this command creates the files <code>~/.ssh/username@myhost.com</code> ('''private key''') and <code>~/.ssh/username@myhost.com.pub</code> ('''public key''')
* edit your <code>~/.ssh/config</code> adding the following lines:

<pre>
Host git.dave.eu
User git
Hostname git.dave.eu
PreferredAuthentications publickey
IdentityFile ~/.ssh/username@myhost.com
</pre>

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

* [mailto:support-bora@dave.eu support-bora@dave.eu]

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

{{ImportantMessage|text=To '''update the repositories from BELK 2.1.0''', the following commands should be used:}}

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

==== Synchronizing the repositories ====

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

=== Release notes ===

==== BELK 3.0.0 ====

Updates:
# Added support for BORA Xpress SOM
# Updated U-Boot and Linux versions

===== Known Limitations =====

{| class="wikitable"
|-
!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 ====

Updates:
# Switched to Vivado 2014.4
# 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).
# Added [[ConfigID_and_UniqueID | ConfigID]]
# Updated U-Boot and Linux versions

===== Known Limitations =====

{| class="wikitable"
|-
!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 <code>bora-next</code> branch, release <code>belk-2.2.1-rc1</code>, available on u-boot repository.
|-
|}

==== BELK 2.1.0 ====

Updates:
# Fix and performance improvement on u-boot network interface
# Fix SD card hotplug issue in Linux
# First [[Building_the_software_components_via_Yocto_(BELK)|Yocto Daisy (1.6) BSP Release]]

===== Known Limitations =====

{| class="wikitable"
|-
!Issue
!Description
|-
| ETH0 interface
| Primary Gigabit Ethernet Interface (ETH0) is not working correctly at 10Mbps<br>
|-
| 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 ====

Updates:
# Added support for the BoraEVB carrier board
# Updated supported drivers list (please refer to [[Bora_Embedded_Linux_Kit_(BELK)#BELK_software_components | BELK_software_components]])

===== Known Limitations =====

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

{| class="wikitable"
|-
!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 ====

Updates:
# Switched to Vivado 2013.3
# Added application note "AMP on Bora"

==== BELK 1.0.0 ====

First official release







roba presa da XUELK



== BXELK software components ==
{{ImportantMessage|text=From the software perspective, BXELK supports SBC Lynx and [[:Category:AXEL_ULite|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.
{| class="wikitable"
!
!colspan="3" | 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
|[[#BXELK 0.9.0|0.9.0]]
|[[#BXELK 1.0.0|1.0.0]]
|[[#BXELK 1.1.0|1.1.0]]
|-
|PCB version
|SBC Lynx CS214515
|SBC Lynx CS214515A<br>
(AXELULite CS184015) [1]
|SBC Lynx CS214515A<br>
(AXELULite CS184015) [1]
|-
|[[ConfigID_and_UniqueID|ConfigIDs]] (core/interfaces)
|0x00000008/0x0000000E
|0x00000008/0x0000000E<br>
0x0000000C/NA<br>
(0x0000000B/NA) [1]
|0x00000008/0x0000000E<br>
0x0000000C/NA<br>
(0x0000000B/NA) [1]
|-
|[[Managed_Virtual_Machine_(MVM)|MVM]] version
|xuelk-0.9.0, tested with:<br/>
Virtual Box 5.0.14<br/>
Vagrant 1.8.1
|xuelk-1.0.0, tested with:<br/>
Virtual Box 5.0.26<br/>
Vagrant 1.8.1
|xuelk-1.1.0, tested with:<br/>
Virtual Box 5.1.10<br/>
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
|valign="top"|UART<br/>
Ethernet<br/>
SD/MMC<br/>
USB Host<br/>
USB Device<br/>
NOR Flash<br/>
NAND Flash<br/>
ADC<br/>
RTC<br/>
|valign="top"|UART<br/>
Ethernet<br/>
SD/MMC<br/>
USB Host<br/>
USB Device<br/>
NOR Flash<br/>
NAND Flash<br/>
ADC<br/>
RTC<br/>
CAN<br/>
DWM<br/>
LCD<br/>
|valign="top"|UART<br/>
Ethernet<br/>
SD/MMC<br/>
USB Host<br/>
USB Device<br/>
NOR Flash<br/>
NAND Flash<br/>
ADC<br/>
RTC<br/>
CAN<br/>
DWM<br/>
LCD<br/>
|-
|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====


All binary images for BXELK are hosted on [[mirror:lynx|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:

{| class="wikitable"
|-
! rowspan=2|Image !! colspan=2|BXELK version
|-
| 1.0.0 || 1.1.0
|-
| bootscript || [[mirror:lynx/xuelk-1.0.0/xuelk-1.0.0_boot.scr|boot.scr]] || [[mirror:lynx/xuelk-1.1.0/xuelk-1.1.0_boot.scr|boot.scr]]
|-
| U-Boot || [[mirror:lynx/xuelk-1.0.0/xuelk-1.0.0_mx6ul_lynx_u-boot.imx|u-boot.imx]] || [[mirror:lynx/xuelk-1.1.0/xuelk-1.1.0_mx6ul_lynx_u-boot.imx|u-boot.imx]]
|-
| Linux kernel || [[mirror:lynx/xuelk-1.0.0/xuelk-1.0.0_uImage|uImage]] || [[mirror:lynx/xuelk-1.1.0/xuelk-1.1.0_uImage|uImage]]
|-
| Device tree || [[mirror:lynx/xuelk-1.0.0/xuelk-1.0.0_imx6ul-lynx-som000c.dtb|imx6ul-lynx-som000c.dtb]] || [[mirror:lynx/xuelk-1.1.0/xuelk-1.1.0_imx6ul-lynx-som000c.dtb|imx6ul-lynx-som000c.dtb]]
|}

=== BXELK microSD Layout ===
The microSD card provided with BXELK is partitioned as shown in the following image:


[[File:BXELK-uSD-partitioning.png|thumb|center|600px|microSD card partitioning]]


Most of storage space is occupied by two partitions:
*a <code>FAT32</code> partition (<code>mmcblk0p1</code>) containing:
**U-Boot <code>bootscript</code>
**Linux kernel and DTB binary images
**BXELK virtual machine image in OFV format ([[Managed_Virtual_Machine_(MVM)|MVM]] basic version)
**7-zip Windows executable file
*an <code>ext3</code> partition (<code>mmcblk0p2</code>) containing the root file system for the target.

<code>bootscript</code> and root file system are used to boot the target as described in [[#AXEL_ULite_and_SBC_Lynx_Embedded_Linux_Kit_(BXELK)|this section]].

It is worth remembering that the microSD card is [[Booting_options_(SBC_Lynx)|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 ===

{{ImportantMessage|text=It's recommended to use the latest available BXELK version. Please refer to [[#Release notes | Release notes]] for further information.}}

BXELK updating process consists of updating the [[Managed_Virtual_Machine_(MVM)|Managed Virtual Machine]] it is based on. The procedure is described [[Managed_Virtual_Machine_(MVM)#Updating_MVM|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 ===

==== BXELK 1.1.0 ====

===== Notes =====

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

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


{| class="wikitable"
|-
!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 ====

===== Notes =====

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

===== Known issues and limitations =====
The following table reports the known limitations of this BXELK release:


{| class="wikitable"
|-
!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<br/>on SBC Lynx
|To boot with the BXELK SD card, user may need to execute the following commands at u-boot prompt<br/>
<pre>
setenv mmcroot /dev/mmcblk0p2
setenv mmc_loadfdt 'fatload mmc 0:1 ${fdtaddr} imx6ul-lynx-som000c.dtb'
saveenv
</pre>
|-
|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 <code>shutdown -h now</code> command prevent the subsequent system's power-up
|Issuing a system shutdown by the command <code>shutdown -h now</code> 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, <code>network-manager</code> applet is not installed by default.
| Please refer to [[VirtualBox_Network_Configuration#VBox_Bridged_configuration|this page]] to install it.
|}

==== BXELK 0.9.0 ====
===== Notes =====
First beta release.
===== Known issues and limitations =====
The following table reports the known limitations of this BXELK release:

{| class="wikitable"
|-
!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
|-
|}
4,650
edits

Navigation menu