SBC Lynx Embedded Linux Kit (TBD XUELK for short) provides all the necessary components required to set up the developing environment to:
* build the bootloader (U-Boot)
* build and run Linux operating system on [[:Category:SBC Lynx|SBC Lynx board]]* build Linux and debug applications that will run be executed on top of Yocto-based Linux distribution running on the target.
The main kit components are:
* hardware platform composed of(SBC Lynx)** TBD* Development development host released in the form of [[Managed_Virtual_Machine_(MVM)|Managed Virtual Machine]] containing:** Toolchain** U, tailored for [[Managed_Virtual_Machine_(MVM)#Yocto-based_Linux_distribution|Yocto-Boot bootloader sources** Linux kernel sources** Root file systemsbased distribution]]* Technical technical documentation such (hardware manuals, mechanical drawings, reference schematics, application notes etc. )
The documents related to the software issues help the user to quickly start configuring the bootloader and the operating system, by hiding most of the complexity of the underlying hardware. '''Reading of the [[Managed_Virtual_Machine_(MVM)|Managed Virtual Machine documentation]] is strongly recommended''', as it plays a '''major role''' in the XUELK organization. For more details about SBC Lynx hardware characteristics, please refer to the [[Hardware_Manual_(SBC_Lynx)|SBC Lynx Hardware Manual]]. An account for the reserved area of [http://www.dave.eu '''DAVE Embedded Systems''' website] is required to access the kit contents.
==Kit Contents==
!Notes
|-
|style="text-align: center;" | [[File:Axel-01Lynx.png|60px]]|Axel Ultra SOM (or Axel Lite SOM) SBC Lynx<br>CPU: Freescale NXP i.MX6MX6UL<br>SDRAM: 2 GB 512 MB DDR3<br>NOR: bootable SPI flash 32 MB<br>NAND: 1GB|Please refer to [[Hardware Manual Hardware_Manual_(AxelUltraSBC_Lynx) | Axel Ultra SBC Lynx Hardware Manual]]|-|style="text-align: center;" | [[File:Axelevb-lite-01.png|60px]]|AxelEVB-Lite Carrier board|Please refer to [[AxelEVB-Lite | AxelEVB-Lite]] page|-|style="text-align: center;" | [[File:Dacu-top-view.png|80px]]|Dacu Carrier board|Please refer to [[Dacu | Dacu]] page|-|style="text-align: center;" | [[File:Display.jpg|60px]]|Ampire AM-800480STMQW<br>7” 800x480 LCD display<br>LVDS interface|Please refer to [[XELK Quick Start Guide]]
|AC/DC Single Output Wall Mount adapter<br>Output: +12V – 2.0 A|Please refer to [[XELK Quick Start Guide]]
|-
|style="text-align: center;" | [[File:CavettoTTL-seriale2232RG-VIP-WE.jpgpng|50px]]|DB9 Male Serial port adapterFTDI TTL/USB cable|Please refer to FTDI code: [[XELK Quick Start Guide]http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm TTL-232RG-VIP-WE]
== TBD Additional documentation==SBC Lynx documentation is provided on [[:Category:SBC_Lynx|Wiki]] product pages. The most important documents are listed below: * [[XUELK Quick Start Guide]]* [[Hardware_Manual_(SBC_Lynx)|Hardware Manual]]* [[Mechanicals_(SBC_Lynx)|Mechanicals]] == XUELK software components =={{ImportantMessage|text=From the software perspective, XUELK supports SBC Lynx and [[:Category:AXEL_ULite|AXEL ULite SOM]]. However, physical contents of the kit include SBC Lynx only.}}
'''DAVE SBC Lynx Embedded Systems''' adds to the latest Linux BSP Kit is largely derived from Freescale the customization required to support Yocto distributions released by NXP for the SBC Lynx platformi.MX6 product family. For this reason most of the documentation provided by Freescale NXP remains valid for the TBD XUELK development kit. However, some customization is required, in particular at bootloader and linux kernel levels.
The following table reports the XELK XUELK releases information.
* A bootable partition (mmcblk0p1, vfat) containing:
** binary images (u-boot and kernel images)
** XELK documentation
** XELK DVDK virtual machine image
* XELK root file system partition (mmcblk0p2, ext3)
XELK contains all [1] Not included in the required software and documentation to start developing Linux application on the Axel platform. In particular, XELK provides a virtual machine, called DVDK, with the following features:kit
* VirtualBox virtual machine [2] Carrier Board 0x00000013 (.OVA archiveSBC Lynx CS214515B)* Based on Lubuntu 12.04 LTS (64-bit version)* Pre-installed VirtualBox Guest Additions* LXDE desktop environment* Boot disk with the distro and pre-configured basic Linux services:** TFTP: with base directory /srv/tftp/** NFS: configured through the /etc/exports file* Secondary disk containing source code and tools:** Bootloader (u-boot) source tree cloned from DAVE Embedded Systems public git repository ** Linux kernel source tree cloned from DAVE Embedded Systems public git repository** External pre-built toolchain** Yocto bsp for AXEL* Pre-installed Yocto-based root uses same dtb file systems with setup scripts, makefiles, example applications, ...* Administrator account (dvdk) with autologin. Please note that the user account credentials are provided with the development kit (you can find them into the README file contained in the sw/dvdk folder of the kit distribution)as 0x0000000C
Please note that XELK u-boot and kernel source trees are derived from the official trees released by Freescale; these trees [3] Carrier Board 0x0000002D/2E/2F/30 have been customized to add support its own device tree file for the Axel SOM.different peripherals mapping====Downloadable binary images====
=== XELK Updates ===
All binary images for XUELK 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: {{ImportantMessage|text=For [[AXEL_ULite_and_SBC_Lynx_Embedded_Linux_Kit_(XUELK)#XUELK_software_components|XUELK releases]] 1.1.3 and older, in order to boot Linux from SD card files, '''the binary files must be renamed''' as follows:*bootscript: <code>boot.scr</code>*Linux kernel: <code>uImage</code>*Device tree: <code>imx6ul-lynx.dtb</code>The default U-Boot enviroment variables assume in fact that these names are used.}} {| class="wikitable"|-! rowspan=2|Image !! colspan=6|XUELK version|-|style="text-align: center" |1.0.0 || style="text-align: center" |1.1.0 || style="text-align: center" |1.1.3 || style="text-align: center" |1.1.3-xenomai|| style="text-align: center" |1.2.0 || style="text-align: center" |2.0.3 |-| 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]] || colspan=2 style="text-align: center" |[[mirror:lynx/xuelk-1.1.3/xuelk-1.1.3_boot.scr|boot.scr]]|| [[mirror:lynx/xuelk-1.2.0/boot.scr|boot.scr]]|| [[mirror:lynx/xuelk-2.0.3/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]] || colspan=2 style="text-align: center" |[[mirror:lynx/xuelk-1.1.3/xuelk-1.1.2_mx6ul_lynx_u-boot.imx|u-boot.imx]] || [[mirror:lynx/xuelk-1.2.0/xuelk-1.2.1_mx6ul_lynx_u-boot.imx|u-boot.imx]] || [[mirror:lynx/xuelk-2.0.3/xuelk-2.0.3_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]] || [[mirror:lynx/xuelk-1.1.3/xuelk-1.1.3_uImage|uImage]] || [[mirror:lynx/xuelk-1.1.3/xuelk-1.1.3-xeno1_uImage|xeno_uImage]] || [[mirror:lynx/xuelk-1.2.0/xuelk-1.2.1_uImage|uImage]] || [[mirror:lynx/xuelk-2.0.3/xuelk-2.0.3_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]] || style="text-align: center" |[[mirror:lynx/xuelk-1.1.3/xuelk-1.1.3_imx6ul-lynx-som000c.dtb|imx6ul-lynx-som000c.dtb]] || [[mirror:lynx/xuelk-1.1.3/xuelk-1.1.3-xeno1_imx6ul-lynx-som000c.dtb|xeno_imx6ul-lynx-som000c.dtb]] || [[mirror:lynx/xuelk-1.2.0/xuelk-1.2.1_imx6ul-lynx-som000c.dtb|imx6ul-lynx-som000c.dtb]]<br>[[mirror:lynx/xuelk-1.2.0/xuelk-1.2.1_imx6ul-lynx-som0013-cb002f.dtb|imx6ul-lynx-som0013-cb002f.dtb]] || [[mirror:lynx/xuelk-2.0.3/xuelk-2.0.3_imx6ul-lynx-som000c.dtb|imx6ul-lynx-som000c.dtb]]<br>[[mirror:lynx/xuelk-2.0.3/xuelk-2.0.3_imx6ul-lynx-som0013-cb002f.dtb|imx6ul-lynx-som0013-cb002f.dtb]]|-| Root file system || [[mirror:lynx/xuelk-1.0.0/xuelk-1.0.0_lynx-image-gui-sbc-lynx.tar.bz2|gui-sbc-lynx]] || [[mirror:lynx/xuelk-1.1.0/xuelk-1.1.0_lynx-image-gui-sbc-lynx.tar.bz2|gui-sbc-lynx]] <br>[[mirror:lynx/xuelk-1.1.0/xuelk-1.1.0_lynx-image-networking-sbc-lynx.tar.bz2|networking-sbc-lynx]] || [[mirror:lynx/xuelk-1.1.3/xuelk-1.1.3_lynx-image-networking-sbc-lynx.tar.bz2|networking-sbc-lynx]] || [[mirror:lynx/xuelk-1.1.3/xuelk-1.1.3_lynx-image-networking-sbc-lynx-xeno.tar.bz2|networking-sbc-lynx-xeno]] || [[mirror:lynx/xuelk-1.2.0/xuelk-1.2.0_lynx-image-networking-sbc-lynx.tar.bz2|networking-sbc-lynx]] || [[mirror:lynx/xuelk-2.0.1/xuelk-2.0.1_lynx-image-networking-sbc-lynx.tar.bz2|networking-sbc-lynx]]|} === XUELK microSD Layout ===The microSD card provided with XUELK is partitioned as shown in the following image: [[File:XUELK-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**XUELK 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 [[#Target_setup_and_first_boot|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'''.====How to create a bootable microSD card====Please refer to this [[How_to_create_a_bootable_microSD_card_(XUELK)|this page]]. === XUELK updates === {{ImportantMessage|text=It's recommended to use the latest available XELK XUELK version. Please refer to [[Axel_Embedded_Linux_Kit_(XELK)#Release notes | Release notes]] for further information.}} XUELK 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'''.
==== Updating git repositories ====
In XELKXUELK, the following source trees are clones of '''DAVE Embedded Systems''' public git repositories:
This means that these components can be kept in sync and up to date with '''DAVE Embedded Systems''' repositories.
===Release notes = RSA == ==== XUELK 2.0.1/2.0.2/2.0.3 ==== ===== Notes 2.0.3 ===== * Add support for ISSI SPI NOR flash ===== Notes 2.0.2 ===== * Update Yocto BSP to latest Krogoth to fix WPA2 key generation replay security bug (for more details see [http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?h=krogoth&id=54e3f82bd77203c3d578e26c86506e6ef5c27000]) ===== Notes 2.0.1 =====Major update on XUELK 1.2.0:* BSP update to NXP 4.1.15-2.0.0_ga* Minor fixes for Wifi and BT ===== Known issues and limitations ===== The following table reports the known limitations of this XUELK release: {| class="wikitable" |-!Limitations!Description|-|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|} ==== XUELK 1.2.0 ==== ===== Notes =====
Please follow the procedure reported below to generate the RSA ssh keyMinor update on XUELK 1.1.3:* add CPU temperature for thermal thresholds settings* add rf kill support for Bluetooth on device tree* add [[ConfigID and UniqueID|ConfigID]] support for different hardware configurations: SOM_ConfigID and CB_ConfigID* minor fixes and enhancement
* select your username (ad es. username@myhost.com)* start the DVDK ===== Known issues and login into the virtual machine* start a shell session* 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:limitations =====
<pre>The following table reports the known limitations of this XUELK release: {| class="wikitable" |-!Issue!Description|-|USB OTG Current Limit|USB OTG current limit is set at 75mA in Host git.dave.eumode|-|Low Power Idle not supported|Low Power Idle is not supported in this release|- User git|Bridged network configuration without DHCP server Hostname git|See [[VirtualBox_Network_Configuration#LXDE|this section]].dave.eu PreferredAuthentications publickey|} IdentityFile ~/==== XUELK 1.ssh/username@myhost1.com3 ==== </pre>===== Notes =====
Please send the public key file to one of the following email Minor update on XUELK 1.1.0:* add some useful networking support addresses (depending wireless WPA and bonding)* add configid support for new hardware revision* add support for Xenomai extension* fix XUELK-1.1.0 commercial microSD mount issue* fix XUELK-1.1.0 reboot when rfs is on which SOM is included in your kit version)SD/MMC* minor fixes and enhancement
* [mailto:support-axel@dave.eu support-axel@dave.eu]===== Known issues and limitations =====
with the request for The following table reports the creation known limitations 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.this XUELK release:
==== Synchronizing the repository ====
When the account {| class="wikitable" |-!Issue!Description|-|USB OTG Current Limit|USB OTG current limit is enabled, you can synchronize a source tree entering the repository directory and launching the <code>git fetch</code> command, like set at 75mA in the following example:Host mode|-|Low Power Idle not supported|Low Power Idle is not supported in this release|}
<pre class="workstation-terminal">dvdk@dvdk-vm:~$ cd /home/dvdk/xelk/linux-2=== XUELK 1.6-imx/dvdk@dvdk-vm:/home/dvdk/xelk/linux-21.6-imx$ git fetch origin</pre>0 ====
Please note that <code>git fetch</code> doesn't merge the commits on the current branch. To do that, you should run ===== Notes =====
<pre class="workstationMinor update on XUELK 1.0.0:* add some useful networking support (on both Linux and file system)* fix XUELK-terminal">1.0.0 shutdown issuegit merge origin/axel* fix XUELK-1.0.0 MVM network-manager issues</pre>* minor fixes and enhancement
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].===== Known issues and limitations =====
== Release types ==The following table reports the known limitations of this XUELK release:
XELK release type can be:
* '''Major''', when substantial changes are applied to the BSP (eg: major kernel version upgrades) or to the development kit (eg: new features, build system updates, ..). This usually means that a new DVDK is created for the XELK release
* '''Maintenance''', when minor updates and bug fixes are introduced. This usually means that the DVDK remains the same provided with the previous major version, and only an update of the source tree repositories (and the tftp binaries) is required
As an example, XELK 2.2.0 {| 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 a maintenance not supported in this release, so it provides |-|Failing mount of root file system on microSD card|Some commercial microSD cards occasionally prevent the DVDK released with target from mounting the 2root file system stored on themselves.0microSD cards delivered along with XUELK do not exhibit this problem.0 major release; customers can easily upgrade |-|Missing firmware file for Bluetooth|In case [[XUELK-AN-001:_Using_WiFi-Bluetooth_combo_plugin_with_SBC_Lynx|DWM wireless plugin]] is used, the following file need to the 2be copied in <code>/lib/firmware/ti-connectivity/</code>:*<code>TIInit_7.6.215.0 release by updating the software components as described in bts</code> (please click [[Axel_Embedded_Linux_Kit_(XELKhttps://github.com/TI-ECS/bt-firmware/blob/master/am335x/TIInit_7.6.15.bts here] to download it)#XELK_Updates]].|}
==== XUELK 1.0.0 ====
== Release notes === Notes =====
{{ImportantMessage|text=After the XELK DVDK installation, please check First stable release with support for updates of the source tree repositories provided with the kit, as described in [[Axel_Embedded_Linux_Kit_(XELK)#XELK_Updates | XELK Updates]].}}SBC Lynx revision A and Axel ULite
=== TBD 1.0.0 ==Known issues and limitations =====The following table reports the known limitations of this XUELK release:
==== Notes ====
TBD
{| class==== Known Limitations ===="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|-|XUELK environment fixup for SD boot<br/>on SBC Lynx|To boot with the XUELK SD card, user may need to execute the following commands at u-boot prompt<br/><pre>setenv mmcroot /dev/mmcblk0p2setenv 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 XUELK 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.|-|Missing firmware file for Bluetooth|In case [[XUELK-AN-001:_Using_WiFi-Bluetooth_combo_plugin_with_SBC_Lynx|DWM wireless plugin]] is used, the following file need to be copied in <code>/lib/firmware/ti-connectivity/</code>:*<code>TIInit_7.6.15.bts</code> (please click [https://github.com/TI-ECS/bt-firmware/blob/master/am335x/TIInit_7.6.15.bts here] to download it)TBD|}
==== XUELK 0.9.0 ========= Notes =====First beta release.===== Known issues and limitations =====The following table reports the known limitations of this XELK XUELK release:
{| class="wikitable"
!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
==Related Documents Physical devices mapping==TBDPlease refer to [[Physical_devices_mapping_(XUELK)|this page]].==Advanced topics=====Debugging with Eclipse===Please refer to [[Debugging with Eclipse (MVM)|this page]].