Open main menu

DAVE Developer's Wiki β

Changes

AXEL ULite and SBC Lynx Embedded Linux Kit (XUELK)

42,512 bytes added, 15:50, 16 August 2019
XUELK 2.0.1/2.0.2/2.0.3
{{InfoBoxTop}}
{{AppliesToAXELULite}}
{{AppliesToSBCLynx}}
{{InfoBoxBottom}}
==Introduction==
==Introduction==
[[File:TBDSBC Lynx-top.png|thumb|center|600px500px|captionSBC Lynx]] 
SBC Lynx Embedded Linux Kit (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 and debug Linux 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)* Development development host released in the form of [[Managed_Virtual_Machine_(MVM)|Managed Virtual Machine]] containing:** cross, tailored for [[Managed_Virtual_Machine_(MVM)#Yocto-tool chain** Ubased_Linux_distribution|Yocto-Boot bootloader sources** Linux kernel sources** development root file systembased distribution]]** Yocto build system.* 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.
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. 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==
|style="text-align: center;" | [[File:Lynx.png|60px]]
|SBC Lynx<br>
CPU: Freescale NXP i.MX6MX6UL<br>SDRAM: 512 GB MB DDR3<br>
NOR: bootable SPI flash 32 MB<br>
NAND: 1GB
|AC/DC Single Output Wall Mount adapter<br>
Output: +12V – 2.0 A
|
|-
|style="text-align: center;" | [[File:TTL-232RG-VIP-WE.png|50px]]
|FTDI TTL/USB cable
|FTDI code: [http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm TTL-232RG-VIP-WE]
|-
|style="text-align: center;" | [[File:ProdSDC-MBLY-thumb.png|50px]]
|-
|}
 
==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.
}}
SBC Lynx Embedded Linux Kit is largely derived from the Yocto distributions released by NXP for the i.MX6 product family. For this reason most of the documentation provided by NXP remains valid for the XUELK development kit.
{| class="wikitable"
!
!colspan="16" | XUELK version
|-
|Release number
|0.9.0
|1.0.0
|1.1.0
|1.1.3
|1.2.0
|2.0.1/2.0.2/2.0.3
|-
|Release type
|Major
|Major
|Minor
|Minor
|Minor
|Major
|-
|Status
|Beta
|Released
|Released
|Released
|Released
|Released
|-
|Release date
|March 2016
|August 2016
|November 2016
|March 2017
|May 2017
|Sep 2017
|-
|Release notes
|[[#XUELK 0.9.0|0.9.0]]|[[#XUELK 1.0.0|1.0.0]]|[[#XUELK 1.1.0|1.1.0]]|[[#XUELK 1.1.3|1.1.3]]|[[#XUELK 1.2.0|1.2.0]]|[[#XUELK 2.0.1/2.0.2/2.0 .3| Ver 2.0.1/2.0.2/2.0.3]]
|-
|PCB version
|SBC Lynx CS214515|SBC Lynx CS214515A<br>(AXELULite CS184015) [1]|SBC Lynx CS214515A<br>(AXELULite CS184015) [1]|SBC Lynx CS214515A<br>SBC Lynx CS214515B<br>(AXELULite CS184015) [1]|SBC Lynx CS214515A<br>SBC Lynx CS214515B<br>(AXELULite CS184015)<br>(AXELULite CS184015A) [1]|SBC Lynx CS214515A<br>SBC Lynx CS214515B<br>(AXELULite CS184015)<br>(AXELULite CS184015A) [1]
|-
|[[ConfigID_and_UniqueIDConfigID_(XUELK)|ConfigIDs]] (core/interfaces)|TBD0x00000008/0x0000000E|0x00000008/0x0000000E<br>0x0000000C/NA<br>(0x0000000B/TBDNA) [1]|0x00000008/0x0000000E<br>0x0000000C/NA<br>(0x0000000B/NA) [1]|0x00000008/0x0000000E<br>0x0000000C/NA<br>0x00000013/NA [2]<br>(0x0000000B/0x00000010) [1]|0x00000008/0x0000000E<br>0x0000000C/NA<br>0x00000013/0x0000002D [3]<br>0x00000013/0x0000002E [3]<br>0x00000013/0x0000002F [3]<br>0x00000013/0x00000030 [3]<br>(0x0000000B/0x00000010) [1]<br>(0x00000014/0x00000010) [1]|0x00000008/0x0000000E<br>0x0000000C/NA<br>0x00000013/0x0000002D [3]<br>0x00000013/0x0000002E [3]<br>0x00000013/0x0000002F [3]<br>0x00000013/0x00000030 [3]<br>(0x0000000B/0x00000010) [1]<br>(0x00000014/0x00000010) [1]
|-
|[[Managed_Virtual_Machine_(MVM)|MVM]] version
|TBDxuelk-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|xuelk-1.1.3, tested with:<br/>Virtual Box 5.1.10<br/>Vagrant 1.8.7|xuelk-1.2.0, tested with:<br/>Virtual Box 5.1.10<br/>Vagrant 1.8.7|xuelk-2.0.0, tested with:<br/>Virtual Box 5.1.28<br/>Vagrant 2.0.0
|-
|U-Boot version/release
|TBDU-Boot 2015.04/TBDxuelk-0.9.0|U-Boot 2015.04/xuelk-1.0.0|U-Boot 2015.04/xuelk-1.1.0|U-Boot 2015.04/xuelk-1.1.3|U-Boot 2015.04/xuelk-1.2.1|U-Boot 2016.03/xuelk-2.0.3
|-
|Linux version/release
|TBDLinux 3.14.52/TBDxuelk-0.9.0|Linux 3.14.52/xuelk-1.0.0|Linux 3.14.52/xuelk-1.1.0|Linux 3.14.52/xuelk-1.1.3|Linux 3.14.52/xuelk-1.2.1|Linux 4.1.15/xuelk-2.0.3
|-
|Drivers
|valign="top" | TBDUART<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/>|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 OTG<br/>NOR Flash<br/>NAND Flash<br/>ADC<br/>RTC<br/>CAN<br/>DWM (WLAN/BT)<br/>LCD<br/>|valign="top"|UART<br/>Ethernet<br/>SD/MMC<br/>USB Host<br/>USB OTG<br/>NOR Flash<br/>NAND Flash<br/>ADC<br/>RTC<br/>CAN<br/>DWM (WLAN/BT)<br/>LCD<br/>
|-
|Freescale NXP BSP version|TBD3.14.52_1.1.0_ga|3.14.52_1.1.0_ga|3.14.52_1.1.0_ga|3.14.52_1.1.0_ga|3.14.52_1.1.0_ga|4.1.15-2.0.0_ga|-|Xenomai version|||| 2.6.5| 2.6.5|
|-
|Build System
|TBDYocto Fido (1.8)|Yocto Fido (1.8)|Yocto Fido (1.8)|Yocto Fido (1.8)|Yocto Fido (1.8)|Yocto Krogoth (2.1)
|-
|}
===MVM specific information===
For general structure of the MVM please refer to [[Managed_Virtual_Machine_(MVM)|this link]].
The <code><i>project-name</i></code> to be used for the [[Managed_Virtual_Machine_(MVM)#Advanced_version|MVM repository]] is <code>lynx</code>.
TBD[1] Not included in the kit*TFTP [2] Carrier Board 0x00000013 (SBC Lynx CS214515B) uses same dtb file as 0x0000000C  [3] Carrier Board 0x0000002D/2E/2F/30 have its own device tree file for different peripherals mapping====Downloadable binary images====  All binary images for XUELK are hosted on [[mirror:lynx|DAVE Embedded System mirror server root ]]. There you can find a sub directoryfor 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>TBDboot.scr</code>*target's development root file system pathLinux kernel: <code>TBDuImage</code>*cross-tool chain pathDevice tree: <code>TBDimx6ul-lynx.dtb</code>*targetThe 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-specific source code pathslynx]] || [[mirror:lynx/xuelk-2.0.1/xuelk-2.0.1_lynx-image-networking-sbc-lynx.tar.bz2|networking-sbc-lynx]]** TBD|}
=== XUELK microSD Layout ===
TBDThe microSD card provided with XUELK is partitioned as shown in the following image:
The microSD provided with XUELK is used to store:
* A FAT32 partition (mmcblk0p1) containing:
** Linux kernel and DTB binary images
** XUELK documentation
** XUELK DVDK virtual machine image
* XUELK root file system partition (mmcblk0p2, ext3)
[[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 updates ===TBD
{{ImportantMessage|text=It's recommended to use the latest available XUELK version. Please refer to [[#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 ====
|Linux
|git@git.dave.eu:lynx/linux-2.6-imx.git
|/home/dvdk/lynx/linux-2.6-imx
|-
|U-Boot
|git@git.dave.eu:dave/lynx/u-boot-imx.git|/home/dvdk/lynx/u-boot-imx
|-
|Yocto BSP
|git@git.dave.eu:davelynx/axel/axellynx-bsp.git
|/home/dvdk/lynx/lynx-bsp
|-
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 ===== Minor 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 ===== Known issues and limitations ===== The following table reports the known limitations of this XUELK release: 
Please follow the procedure reported below to generate the RSA ssh key:{| class="wikitable" |-!Issue!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|-|Bridged network configuration without DHCP server|See [[VirtualBox_Network_Configuration#LXDE|this section]].|}
* select your username (ad es==== XUELK 1. username@myhost1.com)* start the DVDK 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:3 ====
<pre>===== Notes =====Host gitMinor update on XUELK 1.dave1.eu0:* add some useful networking support (wireless WPA and bonding)* add configid support for new hardware revision User git* add support for Xenomai extension Hostname git* fix XUELK-1.dave1.eu0 commercial microSD mount issue PreferredAuthentications publickey IdentityFile ~/* fix XUELK-1.1.ssh0 reboot when rfs is on SD/username@myhost.comMMC</pre>* minor fixes and enhancement
Please send the public key file to one of the following email support addresses (depending on which SOM is included in your kit version)===== Known issues and limitations =====
* [mailtoThe following table reports the known limitations of this XUELK release:support-axel@dave.eu support-axel@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.
{| class==== Synchronizing the repository ===="wikitable" |-!Issue!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|}
When the account is enabled, you can synchronize a source tree entering the repository directory and launching the <code>git fetch</code> command, like in the following example:==== XUELK 1.1.0 ====
<pre class="workstation-terminal">dvdk@dvdk-vm:~$ cd /home/dvdk/lynx/linux-2.6-imx/dvdk@dvdk-vm:/home/dvdk/lynx/linux-2.6-imx$ git fetch origin</pre>==== Notes =====
Please note that <code>git fetch</code> doesn't merge the commits Minor update on the current branchXUELK 1. To do that, you should run 0.0:* add some useful networking support (on both Linux and file system)* fix XUELK-1.0.0 shutdown issue* fix XUELK-1.0.0 MVM network-manager issues* minor fixes and enhancement
<pre class="workstation-terminal">git merge origin/lynx</pre>==== Known issues and limitations =====
or replace The following table reports 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 [httpknown limitations of this XUELK release://git-scm.com/documentation Git Documentation].
=== Release notes ===
{{ImportantMessage|textclass=After "wikitable" |-!Issue!Description|-|Rebooting in Linux may hang|Software reboot on Linux may hang (without rebooting the XUELK DVDK installation, please check for updates 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 source tree repositories provided root file system stored on themselves. microSD cards delivered along with the kit, as described in XUELK do not exhibit this problem.|-|Missing firmware file for Bluetooth|In case [[Axel_Embedded_Linux_Kit_(XUELK)#XUELK_Updates -AN-001:_Using_WiFi-Bluetooth_combo_plugin_with_SBC_Lynx| XUELK UpdatesDWM 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)|}
==== XUELK 1.0.0 ====
===== Notes =====
TBD
First stable release with support for SBC Lynx revision A and Axel ULite ===== Known issues and limitations =====TBDThe following table reports the known limitations of this XUELK 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|-|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)|}
==== XUELK 0.9.0 ====
===== Notes =====
First beta release.
===== Known issues and limitations =====
The following table reports the known limitations of this XUELK release:
!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
|-
|}
==Quick start guide==
This chapter describes how to quickly start working with the XUELK kit. The following paragraphs will guide you through the setup and installation procedures.
===UnboxingKit registration===TBD{{ImportantMessage|text='''Customers are strongly recommended to register their kits'''. Registration grants access to reserved material such as source code and additional documentation.===Host setup===Please install To register the kit, please send an email to [mailto:support-lynx@dave.eu support-lynx@lynx.eu], [[Development_Kits_Identification_Codes|providing the kit P/N and configure XUELK MVM as S/N]]. If you also wish to access git repositories containing source code, please follow the procedure described [[Managed_Virtual_Machine_(MVM)#Installation_and_configurationAccessing_DAVE_Embedded_Systems_restricted_git_repositories|here]].}} ===Target setupand first boot===This section describes how to quick start an SBC Lynx board.delivered along with XUELK kit (see also the following image):
*connect a TTL/USB serial cable to J42 connector; J42 pinout is:
** 1: TX data
** 4: GND
*on host side start your favorite terminal that will be used to interact with the target's serial console; communication parameters are 115200-8-N-1
*optionally connect the system to Ethernet LAN by plugging cable into connector J16
*connect 12V power supply to J35 connector; J35 pinout is:
**1: GND
**2: VIN*insert microSD card in the slot J43
===First boot===Once power has been applied to the target, U[[File:SBCLynx-Boot bootloader will be executed from the SPI NOR flashXUELK. Boot messages will be printed out on the serial console. U-Boot automatically runs the autoboot macro, that loads the kernel and launches it with the options png|thumb|center|600px|Target setup for mounting the root fi le system from the mmcblk0p2 partition. At the end of the first boot process, a demo application is launched and you can interact with the system using the touchscreen.Moreover, the Linux shell is available on the serial console. Lastly, both telnet and ssh services are available to connect to the system through the network.Please refer to Appendix 6.3 for an example of the boot messages.]]
 
Once power has been applied to the target, U-Boot bootloader will be fetched from the SPI NOR flash and executed. Boot messages will be printed out to the serial console. Redundant U-Boot environment is stored in the NOR flash as well, as depicted in the following image.
 
 
[[File:Xub-nor.png|thumb|center|350px|NOR flash default partitioning]]
 
 
By default, U-Boot is configured to retrieve Linux kernel image stored in the microSD card [1]. In turn, Linux kernel shall mount root file system from the <code>mmcblk0p2</code> partition of the [[#XUELK microSD Layout|microSD card itself]]. At the end of boot process, Linux shell shall be available on the serial console.
 
The following dump shows the typical messages printed out to the console during bootstrap process.
<pre class="mw-collapsible mw-collapsed">
U-Boot 2015.04 (Mar 31 2016 - 23:22:16)-xuelk-0.9.0
 
CPU: Freescale i.MX6UL rev1.0 at 396 MHz
CPU: Temperature 30 C
Reset cause: POR
Board: MX6UL LYNX
I2C: ready
DRAM: 512 MiB
PMIC: PFUZE300 DEV_ID=0x30 REV_ID=0x11
NAND: 1024 MiB
MMC: FSL_SDHC: 0
SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiB
In: serial
Out: serial
Err: serial
SOM ConfigID#: 00000008
SOM UniqueID#: e317402a:1735b1d4
CB ConfigID#: 0000000e
CB UniqueID#: a0000011:0dcf672d
Board: MX6UL-Lynx
Net: FEC0
Normal Boot
Hit any key to stop autoboot: 0
starting USB...
USB0: Port not available.
USB1: USB EHCI 1.00
scanning bus 1 for devices... 1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
scanning usb for ethernet devices... 0 Ethernet Device(s) found
 
USB device 0: unknown device
** Bad device usb 0 **
switch to partitions #0, OK
mmc0 is current device
reading boot.scr
228 bytes read in 12 ms (18.6 KiB/s)
Running bootscript from mmc ...
## Executing script at 80800000
bootscript generated with command "mkimage -T script -C none -n SBC-Lynx -d bootscript.txt boot.scr"
Booting SBC-Lynx via mmcboot
reading uImage
6033832 bytes read in 277 ms (20.8 MiB/s)
reading imx6ul-lynx.dtb
29394 bytes read in 22 ms (1.3 MiB/s)
FDT: override 'som_configid' with '00000008'
FDT: property cb_configid 0000000e match
FDT: override 'som_uniqueid' with 'e317402a:1735b1d4'
FDT: override 'cb_uniqueid' with 'a0000011:0dcf672d'
## Booting kernel from Legacy Image at 80800000 ...
Image Name: Linux-3.14.52-xuelk-0.9.0
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 6033768 Bytes = 5.8 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
## Flattened Device Tree blob at 83000000
Booting using the fdt blob at 0x83000000
EHCI failed to shut down host controller.
Loading Kernel Image ... OK
Using Device Tree in place at 83000000, end 8300a2d1
switch to ldo_bypass mode!
 
Starting kernel ...
 
Booting Linux on physical CPU 0x0
Linux version 3.14.52-xuelk-0.9.0 (amon@linuxserver2) (gcc version 4.9.2 (GCC) ) #2 SMP PREEMPT Thu Mar 31 22:53:29 CEST 2016
CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: Freescale i.MX6 UltraLite LYNX Board
cma: CMA: reserved 320 MiB at 8c000000
Memory policy: Data cache writealloc
PERCPU: Embedded 8 pages/cpu @8bb41000 s8320 r8192 d16256 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
Kernel command line: root=/dev/mmcblk1p2 rootwait rw console=ttymxc0,115200 vmalloc=400M mtdparts=gpmi-nand:8M(nand-uboot),1M(nand-env1),1M(nand-env2),1M(nand-fdt),1M(nand-spare),8M(nand-kernel),4M(nand-splash),-(nand-ubi);spi0.0:1M(spi-uboot),256k(spi-env1),256k(spi-env2),512k(spi-dtb),6M(spi-kernel),4M(spi-splash),-(spi-free)
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 179908K/524288K available (7511K kernel code, 461K rwdata, 2596K rodata, 392K init, 433K bss, 344380K reserved, 0K highmem)
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
vmalloc : 0xa0800000 - 0xff000000 (1512 MB)
lowmem : 0x80000000 - 0xa0000000 ( 512 MB)
pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
.text : 0x80008000 - 0x809e7134 (10109 kB)
.init : 0x809e8000 - 0x80a4a080 ( 393 kB)
.data : 0x80a4c000 - 0x80abf400 ( 461 kB)
.bss : 0x80abf40c - 0x80b2ba5c ( 434 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptible hierarchical RCU implementation.
RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
NR_IRQS:16 nr_irqs:16 16
Switching to timer-based delay loop
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655765682ns
clocksource_of_init: no matching clocksources found
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
/cpus/cpu@0 missing clock-frequency property
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x807267c0 - 0x80726818
Brought up 1 CPUs
SMP: Total of 1 processors activated (6.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
pinctrl core: initialized pinctrl subsystem
regulator-dummy: no parameters
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor ladder
cpuidle: using governor menu
Use WDOG1 as reset source
syscon 20c8000.anatop: regmap [mem 0x020c8000-0x020c8fff] registered
vdd3p0: 2625 <--> 3400 mV at 3000 mV
cpu: 725 <--> 1450 mV
vddsoc: 725 <--> 1450 mV
syscon 20e4000.iomuxc-gpr: regmap [mem 0x020e4000-0x020e7fff] registered
syscon 21ac000.romcp: regmap [mem 0x021ac000-0x021affff] registered
syscon 21bc000.ocotp-ctrl: regmap [mem 0x021bc000-0x021bffff] registered
hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 8 bytes.
imx6ul-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
20dc000.gpc supply pu not found, using dummy regulator
bio: create slab <bio-0> at 0
mxs-dma 1804000.dma-apbh: initialized
vref-3v3: 3300 mV
usb_otg1_vbus: 5000 mV
usb_otg2_vbus: 5000 mV
i2c-core: driver [max17135] using legacy suspend method
i2c-core: driver [max17135] using legacy resume method
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
i2c i2c-0: IMX I2C adapter registered
Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
MIPI CSI2 driver module loaded
Advanced Linux Sound Architecture Driver Initialized.
Bluetooth: Core ver 2.18
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
cfg80211: Calling CRDA to update world regulatory domain
Switched to clocksource mxc_timer1
NET: Registered protocol family 2
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP: reno registered
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
imx rpmsg driver is registered.
Bus freq driver module loaded
futex hash table entries: 256 (order: 2, 16384 bytes)
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
fuse init (API version 7.22)
msgmni has been set to 991
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
imx-weim 21b8000.weim: Driver registered.
MIPI DSI driver module loaded
MIPI DSI driver module loaded
imx-sdma 20ec000.sdma: no event needs to be remapped
imx-sdma 20ec000.sdma: loaded firmware 3.2
imx-sdma 20ec000.sdma: initialized
pfuze100-regulator 0-0008: Full layer: 1, Metal layer: 1
pfuze100-regulator 0-0008: FAB: 0, FIN: 0
pfuze100-regulator 0-0008: pfuze3000 found.
SW1A: 700 <--> 3300 mV at 3300 mV
SW1B: 700 <--> 1475 mV at 1175 mV
SW2: 2500 <--> 3300 mV at 3300 mV
SW3: 900 <--> 1650 mV at 1350 mV
SWBST: 5000 <--> 5150 mV at 5000 mV
VSNVS: 1000 <--> 3000 mV at 3000 mV
VREFDDR: 750 mV
VLDO1: 1800 <--> 3300 mV at 3300 mV
VLDO2: 800 <--> 1550 mV at 1500 mV
VCCSD: 2850 <--> 3300 mV at 3300 mV
V33: 2850 <--> 3300 mV at 3300 mV
VLDO3: 1800 <--> 3300 mV at 1800 mV
VLDO4: 1800 <--> 3300 mV at 1800 mV
Serial: IMX driver
2018000.serial: ttymxc6 at MMIO 0x2018000 (irq = 71, base_baud = 5000000) is a IMX
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 58, base_baud = 5000000) is a IMX
console [ttymxc0] enabled
21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 60, base_baud = 5000000) is a IMX
serial: Freescale lpuart driver
imx sema4 driver is registered.
[drm] Initialized drm 1.1.0 20060810
[drm] Initialized vivante 1.0.0 20120216 on minor 0
brd: module loaded
loop: module loaded
nand: device found, Manufacturer ID: 0x01, Chip ID: 0xd3
nand: AMD/Spansion S34ML08G1
nand: 1024MiB, SLC, page size: 2048, OOB size: 64
gpmi-nand 1806000.gpmi-nand: mode:4 ,failed in set feature.
Scanning device for bad blocks
random: nonblocking pool is initialized
Bad eraseblock 5903 at 0x00002e1e0000
8 cmdlinepart partitions found on MTD device gpmi-nand
Creating 8 MTD partitions on "gpmi-nand":
0x000000000000-0x000000800000 : "nand-uboot"
0x000000800000-0x000000900000 : "nand-env1"
0x000000900000-0x000000a00000 : "nand-env2"
0x000000a00000-0x000000b00000 : "nand-fdt"
0x000000b00000-0x000000c00000 : "nand-spare"
0x000000c00000-0x000001400000 : "nand-kernel"
0x000001400000-0x000001800000 : "nand-splash"
0x000001800000-0x000040000000 : "nand-ubi"
gpmi-nand 1806000.gpmi-nand: driver registered.
m25p80 spi0.0: s25fl256s1 (32768 Kbytes)
7 cmdlinepart partitions found on MTD device spi0.0
Creating 7 MTD partitions on "spi0.0":
0x000000000000-0x000000100000 : "spi-uboot"
0x000000100000-0x000000140000 : "spi-env1"
0x000000140000-0x000000180000 : "spi-env2"
0x000000180000-0x000000200000 : "spi-dtb"
0x000000200000-0x000000800000 : "spi-kernel"
0x000000800000-0x000000c00000 : "spi-splash"
0x000000c00000-0x000002000000 : "spi-free"
spi_imx 2008000.ecspi: probed
CAN device driver interface
2188000.ethernet supply phy not found, using dummy regulator
pps pps0: new PPS source ptp0
libphy: fec_enet_mii_bus: probed
fec 2188000.ethernet eth0: registered PHC device 0
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-mxc: Freescale On-Chip EHCI Host driver
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usb_ehset_test
2184800.usbmisc supply vbus-wakeup not found, using dummy regulator
ci_hdrc ci_hdrc.1: EHCI Host Controller
ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
mousedev: PS/2 mouse device common for all mice
snvs_pwrkey 20cc000.snvs-pwrkey: can't get snvs clock
input: 20cc000.snvs-pwrkey as /devices/soc0/soc.0/2000000.aips-bus/20cc000.snvs-pwrkey/input/input0
snvs_pwrkey 20cc000.snvs-pwrkey: i.MX snvs powerkey probed
i2c-core: driver [isl29023] using legacy suspend method
i2c-core: driver [isl29023] using legacy resume method
snvs_rtc 20cc034.snvs-rtc-lp: can't get snvs-rtc clock
snvs_rtc 20cc034.snvs-rtc-lp: rtc core: registered 20cc034.snvs-rtc-lp as rtc0
i2c /dev entries driver
IR NEC protocol handler initialized
IR RC5(x) protocol handler initialized
IR RC6 protocol handler initialized
IR JVC protocol handler initialized
IR Sony protocol handler initialized
IR RC5 (streamzap) protocol handler initialized
IR SANYO protocol handler initialized
IR MCE Keyboard/mouse protocol handler initialized
i2c-core: driver [mag3110] using legacy suspend method
i2c-core: driver [mag3110] using legacy resume method
imx2-wdt 20bc000.wdog: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=0)
Bluetooth: HCI UART driver ver 2.2
Bluetooth: HCI H4 protocol initialized
Bluetooth: HCI BCSP protocol initialized
Bluetooth: HCIATH3K protocol initialized
usbcore: registered new interface driver bcm203x
usbcore: registered new interface driver btusb
usbcore: registered new interface driver ath3k
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
mmc1: no vqmmc regulator found
mmc1: no vmmc regulator found
mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
caam 2140000.caam: Instantiated RNG4 SH0
mmc1: host does not support reading read-only switch. assuming write-enable.
caam 2140000.caam: Instantiated RNG4 SH1
caam 2140000.caam: device ID = 0x0a160300 (Era 8)
caam 2140000.caam: job rings = 3, qi = 0
mmc1: new high speed SDHC card at address 1234
mmcblk1: mmc1:1234 SA16G 14.4 GiB
mmcblk1: p1 p2
caam algorithms registered in /proc/crypto
caam_jr 2141000.jr0: registering rng-caam
platform caam_sm: blkkey_ex: 8 keystore units available
platform caam_sm: 64-bit clear key:
platform caam_sm: [0000] 00 01 02 03 04 0f 06 07
platform caam_sm: 64-bit black key:
platform caam_sm: [0000] 5f 69 65 43 d8 01 d4 35
platform caam_sm: [0008] 72 51 75 22 a5 33 93 cf
platform caam_sm: 128-bit clear key:
platform caam_sm: [0000] 00 01 02 03 04 0f 06 07
platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f
platform caam_sm: 128-bit black key:
platform caam_sm: [0000] 7e 83 f5 8e ed bd bf 4e
platform caam_sm: [0008] 6f 98 a2 68 c3 30 a3 81
platform caam_sm: 192-bit clear key:
platform caam_sm: [0000] 00 01 02 03 04 0f 06 07
platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f
platform caam_sm: [0016] 10 11 12 13 14 15 16 17
platform caam_sm: 192-bit black key:
platform caam_sm: [0000] 73 ba ab 08 93 75 f2 e3
platform caam_sm: [0008] 66 73 d2 17 0c a7 f3 08
platform caam_sm: [0016] 5b ee ee 28 37 82 c6 d6
platform caam_sm: [0024] 75 3f 5e fc 50 be 9f c9
platform caam_sm: 256-bit clear key:
platform caam_sm: [0000] 00 01 02 03 04 0f 06 07
platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f
platform caam_sm: [0016] 10 11 12 13 14 15 16 17
platform caam_sm: [0024] 18 19 1a 1b 1c 1d 1e 1f
platform caam_sm: 256-bit black key:
platform caam_sm: [0000] da 35 27 8d 68 e2 e8 44
platform caam_sm: [0008] 58 3a 7d 32 ea 54 dc 77
platform caam_sm: [0016] 48 a1 28 bc a2 71 ad 8d
platform caam_sm: [0024] 6f 9a 59 ba 5c 35 63 56
platform caam_sm: 64-bit unwritten blob:
platform caam_sm: [0000] 00 00 00 00 00 00 00 00
platform caam_sm: [0008] 00 00 00 00 00 00 00 00
platform caam_sm: [0016] 00 00 00 00 00 00 00 00
platform caam_sm: [0024] 00 00 00 00 00 00 00 00
platform caam_sm: [0032] 00 00 00 00 00 00 00 00
platform caam_sm: [0040] 00 00 00 00 00 00 00 00
platform caam_sm: [0048] 00 00 00 00 00 00 00 00
platform caam_sm: [0056] 00 00 00 00 00 00 00 00
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 128-bit unwritten blob:
platform caam_sm: [0000] 00 00 00 00 00 00 00 00
platform caam_sm: [0008] 00 00 00 00 00 00 00 00
platform caam_sm: [0016] 00 00 00 00 00 00 00 00
platform caam_sm: [0024] 00 00 00 00 00 00 00 00
platform caam_sm: [0032] 00 00 00 00 00 00 00 00
platform caam_sm: [0040] 00 00 00 00 00 00 00 00
platform caam_sm: [0048] 00 00 00 00 00 00 00 00
platform caam_sm: [0056] 00 00 00 00 00 00 00 00
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 196-bit unwritten blob:
platform caam_sm: [0000] 00 00 00 00 00 00 00 00
platform caam_sm: [0008] 00 00 00 00 00 00 00 00
platform caam_sm: [0016] 00 00 00 00 00 00 00 00
platform caam_sm: [0024] 00 00 00 00 00 00 00 00
platform caam_sm: [0032] 00 00 00 00 00 00 00 00
platform caam_sm: [0040] 00 00 00 00 00 00 00 00
platform caam_sm: [0048] 00 00 00 00 00 00 00 00
platform caam_sm: [0056] 00 00 00 00 00 00 00 00
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 256-bit unwritten blob:
platform caam_sm: [0000] 00 00 00 00 00 00 00 00
platform caam_sm: [0008] 00 00 00 00 00 00 00 00
platform caam_sm: [0016] 00 00 00 00 00 00 00 00
platform caam_sm: [0024] 00 00 00 00 00 00 00 00
platform caam_sm: [0032] 00 00 00 00 00 00 00 00
platform caam_sm: [0040] 00 00 00 00 00 00 00 00
platform caam_sm: [0048] 00 00 00 00 00 00 00 00
platform caam_sm: [0056] 00 00 00 00 00 00 00 00
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 64-bit black key in blob:
platform caam_sm: [0000] 76 1a d3 a8 86 30 b4 a9
platform caam_sm: [0008] 03 2d 01 ef dd 15 89 7c
platform caam_sm: [0016] d3 b3 14 03 ff 1d 6d ef
platform caam_sm: [0024] b1 74 a7 d4 2e 7f 3a 65
platform caam_sm: [0032] d5 b2 b6 56 e8 b0 82 cf
platform caam_sm: [0040] d4 59 c7 be 73 47 b9 db
platform caam_sm: [0048] 6f 44 84 81 a1 04 13 d9
platform caam_sm: [0056] 00 00 00 00 00 00 00 00
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 128-bit black key in blob:
platform caam_sm: [0000] 50 a0 64 22 80 35 36 4e
platform caam_sm: [0008] 1c 6a 31 07 87 4c db f2
platform caam_sm: [0016] 13 6a 4c 47 08 40 e3 87
platform caam_sm: [0024] 98 52 fe 72 25 9f 91 dd
platform caam_sm: [0032] a6 e0 31 e1 72 50 ea 02
platform caam_sm: [0040] 05 a9 62 d8 7e dd 91 48
platform caam_sm: [0048] 58 94 2d bd 1c 84 9b 2e
platform caam_sm: [0056] 68 b7 16 05 6b 6c 4a 8a
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 192-bit black key in blob:
platform caam_sm: [0000] a5 d5 43 dc 3e a5 72 dc
platform caam_sm: [0008] 6a 8c 07 1a 3c 29 29 0d
platform caam_sm: [0016] af d9 84 13 68 5f 65 15
platform caam_sm: [0024] 67 ae e9 5b 16 26 ab 2c
platform caam_sm: [0032] f3 ee 21 2f 51 ea f4 17
platform caam_sm: [0040] 27 42 81 f3 ea a2 73 fb
platform caam_sm: [0048] 8e b9 45 dd c8 04 9b 67
platform caam_sm: [0056] 6a 5f 9f c2 08 dc c7 73
platform caam_sm: [0064] 0b a5 46 35 bb 65 ee d1
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 256-bit black key in blob:
platform caam_sm: [0000] d6 36 a9 1b df 26 a2 7f
platform caam_sm: [0008] 1c 8b 99 8b 33 34 5a 92
platform caam_sm: [0016] c4 00 dc dc 51 c4 2c f4
platform caam_sm: [0024] c3 11 f6 c7 a2 7c c2 ba
platform caam_sm: [0032] 7f 6f 4a d1 a7 7f 7b a0
platform caam_sm: [0040] 2f cb f4 4a b8 b8 4d 54
platform caam_sm: [0048] ae 10 ce 13 02 c5 09 da
platform caam_sm: [0056] ce 88 da 48 10 ee 20 e5
platform caam_sm: [0064] 28 bb 0f 76 e4 8a 8e ee
platform caam_sm: [0072] 46 e2 69 6f ca d3 e4 ba
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: restored 64-bit black key:
platform caam_sm: [0000] 58 1c 8d b3 fa 93 6e 2c
platform caam_sm: [0008] f2 ae 66 67 b1 f4 e6 b9
platform caam_sm: restored 128-bit black key:
platform caam_sm: [0000] 7e 83 f5 8e ed bd bf 4e
platform caam_sm: [0008] 6f 98 a2 68 c3 30 a3 81
platform caam_sm: restored 192-bit black key:
platform caam_sm: [0000] 73 ba ab 08 93 75 f2 e3
platform caam_sm: [0008] 66 73 d2 17 0c a7 f3 08
platform caam_sm: [0016] ee 51 4c 4f 16 0a f2 9f
platform caam_sm: [0024] 9e c9 48 38 46 04 11 04
platform caam_sm: restored 256-bit black key:
platform caam_sm: [0000] da 35 27 8d 68 e2 e8 44
platform caam_sm: [0008] 58 3a 7d 32 ea 54 dc 77
platform caam_sm: [0016] 48 a1 28 bc a2 71 ad 8d
platform caam_sm: [0024] 6f 9a 59 ba 5c 35 63 56
snvs-secvio 20cc000.caam-snvs: can't get snvs clock
snvs-secvio 20cc000.caam-snvs: violation handlers armed - non-secure state
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
fsl-asrc 2034000.asrc: driver registered
NET: Registered protocol family 26
TCP: cubic registered
NET: Registered protocol family 10
sit: IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
can: controller area network core (rev 20120528 abi 9)
NET: Registered protocol family 29
can: raw protocol (rev 20120528)
can: broadcast manager protocol (rev 20120528 t)
can: netlink gateway (rev 20130117) max_hops=1
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: BNEP socket layer initialized
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
Bluetooth: HIDP socket layer initialized
8021q: 802.1Q VLAN Support v1.8
Key type dns_resolver registered
cpu cpu0: dev_pm_opp_get_opp_count: device OPP not found (-19)
SWBST: disabling
usb_otg1_vbus: disabling
regulator-dummy: disabling
imx mcc test is registered.
snvs_rtc 20cc034.snvs-rtc-lp: setting system clock to 2016-04-01 08:34:36 UTC (1459499676)
ALSA device list:
No soundcards found.
kjournald starting. Commit interval 5 seconds
EXT3-fs (mmcblk1p2): using internal journal
EXT3-fs (mmcblk1p2): recovery complete
EXT3-fs (mmcblk1p2): mounted filesystem with ordered data mode
VFS: Mounted root (ext3 filesystem) on device 179:2.
devtmpfs: mounted
Freeing unused kernel memory: 392K (809e8000 - 80a4a000)
INIT: version 2.88 booting
Error opening /dev/fb0: No such file or directory
Starting udev
udevd[157]: starting version 182
 
udevadm settle - timeout of 3 seconds reached, the event queue contains:
/sys/devices/soc0/soc.0/2100000.aips-bus/2188000.ethernet/net/eth0 (1225)
/sys/devices/soc0/soc.0/2100000.aips-bus/2194000.usdhc/mmc_host/mmc1/mmc1:1234/block/mmcblk1 (1231)
/sys/devices/soc0/soc.0/2100000.aips-bus/2194000.usdhc/mmc_host/mmc1/mmc1:1234/block/mmcblk1/mmcblk1p1 (1232)
/sys/devices/soc0/soc.0/2100000.aips-bus/2194000.usdhc/mmc_host/mmc1/mmc1:1234/block/mmcblk1/mmcblk1p2 (1233)
/sys/devices/virtual/block/loop0 (1313)
/sys/devices/virtual/block/loop1 (1314)
/sys/devices/virtual/block/loop4 (1317)
/sys/devices/virtual/block/loop5 (1318)
/sys/devices/virtual/block/loop6 (1319)
/sys/devices/virtual/block/loop7 (1320)
/sys/devices/virtual/block/ram0 (1321)
/sys/devices/virtual/block/ram1 (1322)
/sys/devices/virtual/block/ram10 (1323)
/sys/devices/virtual/block/ram11 (1324)
/sys/devices/virtual/block/ram12 (1325)
/sys/devices/virtual/block/ram13 (1326)
/sys/devices/virtual/block/ram14 (1327)
/sys/devices/virtual/block/ram15 (1328)
/sys/devices/virtual/block/ram2 (1329)
/sys/devices/virtual/block/ram3 (1330)
/sys/devices/virtual/block/ram4 (1331)
/sys/devices/virtual/block/ram5 (1332)
/sys/devices/virtual/block/ram6 (1333)
/sys/devices/virtual/block/ram7 (1334)
/sys/devices/virtual/block/ram8 (1335)
/sys/devices/virtual/block/ram9 (1336)
/sys/devices/virtual/mtd/mtd0/mtdblock0 (1340)
/sys/devices/virtual/mtd/mtd1/mtdblock1 (1343)
/sys/devices/virtual/mtd/mtd2/mtdblock2 (1346)
/sys/devices/virtual/mtd/mtd3/mtdblock3 (1349)
/sys/devices/virtual/mtd/mtd4/mtdblock4 (1352)
/sys/devices/virtual/mtd/mtd5/mtdblock5 (1355)
/sys/devices/virtual/mtd/mtd6/mtdblock6 (1358)
/sys/devices/virtual/mtd/mtd7/mtdblock7 (1361)
/sys/devices/virtual/net/lo (1363)
/sys/devices/virtual/net/sit0 (1364)
bootlogd: cannot allocate pseudo tty: No such file or directory
FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
ALSA: Restoring mixer settings...
/usr/sbin/alsactl: load_state:1729: No soundcards found...
INIT: Entering runlevel: 5
Configuring network interfaces... fec 2188000.ethernet eth0: Freescale FEC PHY driver [Micrel KSZ8081 or KSZ8091] (mii_bus:phy_addr=2188000.ethernet:00, irq=-1)
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
done.
Starting Xserver
open /dev/fb0: No such file or directory
Starting system message bus: Unknown username "xuser" in message bus configuration file
dbus.
Starting Connection Manager
Starting Dropbear SSH server: dropbear.
Starting rpcbind daemon...done.
starting statd: done
Starting advanced power management daemon: No APM support in kernel
(failed.)
NFS daemon support not enabled in kernel
Starting syslogd/klogd: done
* Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon
...done.
Starting Telephony daemon
Starting Linux NFC daemon
Starting OProfileUI server
Running local boot scripts (/etc/rc.local).
Starting tcf-agent: OK
 
Freescale i.MX Release Distro 3.14.52-1.1.0 sbc-lynx /dev/ttymxc0
 
sbc-lynx login: root
root@sbc-lynx:~#
</pre>
 
 
 
[1] <code>bootscript</code> is used to do this task.
 
===Host setup===
As stated previously, XUELK host tools are based on a [[Managed_Virtual_Machine_(MVM)|Managed Virtual Machine]]. As indicated [[#XUELK microSD Layout|here]], microSD card delivered along with XUELK includes basic version of MVM that is the default option.
 
In case you choose to use the [[Managed_Virtual_Machine_(MVM)#Advanced_version|''Advanced'' version]] of the MVM instead, the <code><i>project-name</i></code> to be used is <code>lynx</code>.
 
Either version you choose, please follow the procedure described [[Managed_Virtual_Machine_(MVM)#Installation_and_configuration|here]] to install the MVM.
 
It is also worth remembering that access to git repositories is required to download target source code. To enable it, please refer to [[Accessing_DAVE_Embedded_Systems_restricted_git_repositories|this page]].
 
{{ImportantMessage|text=Either version of MVM is installed, it provides the tools required to build [[Building_U-Boot_(XUELK)|U-boot]] and [[Building_Linux_kernel_(XUELK)|Linux kernel]]. It does not include the tools required to run Yocto build system instead.}}
 
===Target configuration for the development stage (<code>net_nfs</code>)===
During the development stage, the target is usually connected via Ethernet LAN to the host machine and is configured to:
*retrieve binary images (i.e. Linux kernel) via TFTP protocol
*mount the development root file system via NFS protocol. This root file system is physically in the file system of the host machine as depicted [[Deploying_Embedded_Linux_Systems#The_development_environment|here]].
In DAVE Embedded Systems development kits, this configuration is generally denoted as <code>net_nfs</code>. U-Boot bootloader supports this configuration. Some U-Boot environment variables are needed to set it up. They are detailed [[Booting_Linux_Kernel#Configuration_net_nfs|here]].
 
For more details about TFTP and NFS servers on host side, please refer to this [[Setting_up_tftp_and_nfs|page]].
===Target configuration for standalone boot===
Please refer to [[Standalone_boot_(XUELK)|this page]].
 
===How to update root file system on SD card===
RFS update on SD card consists on expanding the new tarball compressed file on SD card ext3 partition.
It is possible, for example, to perform this operation using one of the following process:
* directly on the target
* using a Linux PC (or the XUELK VM)
 
The ext3 partition (mmcblk0p2) containing the root file system need to be:
* erased
* written with new rfs files
 
==== Update rfs on target====
* start SBC Lynx via nfs. See how to boot from nfs [[AXEL_ULite_and_SBC_Lynx_Embedded_Linux_Kit_(XUELK)#Target_configuration_for_the_development_stage_.28net_nfs.29|here]]
* change directory to the ext3 partition into the filesystem: typically <code>/run/media/mmcblk0p2</code>
<pre>
root@sbc-lynx:~# cd /run/media/mmcblk0p2
root@sbc-lynx:/run/media/mmcblk0p2#
</pre>
* delete all previous files
<pre>
root@sbc-lynx:/run/media/mmcblk0p2# rm -r *
</pre>
* extract new rfs files from tarball archive previously copied into nfs directory (the following command assumes that xuelk-1.1.0 rfs have been already copied into VM '''/home/dvdk/lynx/rfs/xuelk/home/root''' nfs directory
<pre>
root@sbc-lynx:/run/media/mmcblk0p2# tar jxvpf /home/dvdk/lynx/rfs/xuelk/home/root/xuelk-1.1.0_lynx-image-gui-sbc-lynx.tar.bz2
</pre>
 
==== Update rfs on a Linux PC====
* insert the SD card and check its mount point
* change dir to the ext3 SD card partition
* delete previous files and extract new files from tarball archive as described [[AXEL_ULite_and_SBC_Lynx_Embedded_Linux_Kit_(XUELK)#Update_rfs_on_target|here]]
===Developing the software for the target===
Please refer to [[Developing the software for the target (XUELK)|this page]].
 
==Physical devices mapping==
Please refer to [[Physical_devices_mapping_(XUELK)|this page]].
==Advanced topics==
===Debugging with Eclipse===
Please refer to [[Debugging with Eclipse (MVM)|this page]].
 
==Related Documents ==
TBD
8,220
edits