Open main menu

DAVE Developer's Wiki β

Changes

AXEL ULite and SBC Lynx Embedded Linux Kit (XUELK)

16,024 bytes added, 15:50, 16 August 2019
XUELK 2.0.1/2.0.2/2.0.3
{{InfoBoxBottom}}
==Introduction==
 
[[File:SBC Lynx-top.png|thumb|center|500px|SBC 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 applications that will be executed on top of Yocto-based Linux distribution running on the target.
The main kit components are:
* hardware platform composed (SBC Lynx)
* development host released in the form of [[Managed_Virtual_Machine_(MVM)|Managed Virtual Machine]], tailored for [[Managed_Virtual_Machine_(MVM)#Yocto-based_Linux_distribution|Yocto-based distribution]]
* 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.
|SBC Lynx<br>
CPU: NXP i.MX6UL<br>
SDRAM: 512 GB MB DDR3<br>
NOR: bootable SPI flash 32 MB<br>
NAND: 1GB
|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="26" | 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
|-
|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|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)
|0x00000008/0x0000000E
|0x00000008/0x0000000E<br>0x0000000C/NA<br>(0x0000000B/NA) [1]|0x00000008/0x0000000E<br>0x0000000C/NA<br>(0x0000000B/NA) [1]|0x00000008/0x0000000E<br>0x0000000C/NA<br>0x00000013/NA [2]<br>(0x0000000B/TBD0x00000010) [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
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
|U-Boot 2015.04/xuelk-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
|Linux 3.14.52/xuelk-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
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/>
|-
|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
|3.14.52_1.1.0_ga
|4.1.15-2.0.0_ga
|-
|Xenomai version
|
|
|
| 2.6.5
| 2.6.5
|
|-
|Build System
|Yocto Fido (1.8)
|Yocto Fido (1.8)
|Yocto Fido (1.8)
|Yocto Fido (1.8)
|Yocto Fido (1.8)
|Yocto Krogoth (2.1)
|-
|}
 
 
 
[1] Not included in the kit
 
[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]]. 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]].
The It is worth remembering that the microSD provided with XUELK card is used to store:* A FAT32 partition [[Booting_options_(<code>mmcblk0p1</code>SBC_Lynx) containing:** |bootable]], because U-Boot image is stored at address 0x400. However, even if U-Boot bootscriptis run from the microSD card, '''the environment is retrieved from NOR flash'''.** Linux kernel and DTB binary images====How to create a bootable microSD card====** XUELK documentation** XUELK virtual machine image in OFV format Please refer to this [[How_to_create_a_bootable_microSD_card_(MVM basic version)* XUELK root file system partition (<code>mmcblk0p2</code>, ext3)|this page]].
=== XUELK updates ===
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 repositoriesof 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 XUELK, the following source trees are clones of '''DAVE Embedded Systems''' public git repositories: {| class="wikitable" |-!| Component!GIT Remote!XUELK Installation Directory|-|Linux|git@git.dave.eu:lynx/linux-2.6-imx.git|/home/dvdk/lynx/linux|-|U-Boot|git@git.dave.eu:lynx/u-boot-imx.git|/home/dvdk/lynx/u-boot|-|Yocto BSP|git@git.dave.eu:lynx/lynx-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 ===
 ==== XUELK 2.0.1/2.0.2/2.0.3 ==== ===== Notes 2.0.3 ===== * Add support for ISSI SPI NOR flash ===== Notes 2.0.92 ===== * Update Yocto BSP to latest Krogoth to fix WPA2 key 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:  {| 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]].|} ==== XUELK 1.1.3 ==== ===== Notes ===== Minor update on XUELK 1.1.0:* add some useful networking support (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 SD/MMC* minor fixes and enhancement ===== Known issues and limitations ===== 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 mode|-|Low Power Idle not supported|Low Power Idle is not supported in this release|} ==== XUELK 1.1.0 ==== 
===== Notes =====
First beta releaseMinor update on XUELK 1.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 
===== Known issues and limitations =====
 
The following table reports the known limitations of this XUELK release:
 
{| class="wikitable"
|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 MHzFailing mount of root file system on microSD card|The DDR3 RAM frequency is limited at 306 MHz in 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 releaseproblem.
|-
|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)
|}
===== 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 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.
===Kit registration===
{{ImportantMessage|text='''Customers are strongly recommended to register their kits'''. This allows them to get Registration grants access to reserved material such as source code and additional information and upgrades that are available in the [http://www.dave.eu/reserved-area|restricted download area of DAVE Embedded Systems web site]documentation.
Please To register your development the kit by sending , please send an email to [mailto:support-lynx@dave.eu support-lynx@davelynx.eu], [[Development_Kits_Identification_Codes|providing the kit P/N and CODES/N]].
===Host setup===As stated previously, XUELK is based on a [[Managed_Virtual_Machine_(MVM)|Managed Virtual Machine]]. To install itIf 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]].}}
In case you chose to use the [[Managed_Virtual_Machine_(MVM)#Advanced_version|''Advanced'' version]] of the MVM, the <code><i>project-name</i></code> to be used is <code>lynx</code>.===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
*insert microSD card in the slot J43.
===First [[File:SBCLynx-XUELK.png|thumb|center|600px|Target setup for first boot===]]  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 on 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 environment is configured to retrieve Linux kernel image stored in the microSD card. 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.
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
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:
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
==Physical devices mapping==This section details how physical devices are mapped to Linux device files.==Update rfs on target=Console UART==={* 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| class="wikitable"here]]|-* change directory to the ext3 partition into the filesystem: typically <code>/run/media/mmcblk0p2</code>! Physical device !! Processor's resource !! Connector !! Type !! Linux device file !! Notes<pre>|root@sbc-lynx:~# cd /run/media/mmcblk0p2| Boot Console || UART1 || J42 || 2root@sbc-wire LVTTL UART || lynx:/run/media/mmcblk0p2# </pre>* delete all previous files <codepre>root@sbc-lynx:/devrun/ttymxc0media/mmcblk0p2# rm -r *</codepre> |||* 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>===Multiroot@sbc-lynx:/run/media/mmcblk0p2# tar jxvpf /home/dvdk/lynx/rfs/xuelk/home/root/xuelk-1.1.0_lynx-image-gui-sbc-protocol UARTs===lynx.tar.bz2====Ordering code: XUBBx0xxxxx====</pre>
{| class="wikitable"|-! Physical device !! Processor's resource !! Connector !! Type !! === Update rfs on a Linux device file !! NotesPC====|-| MPUART0 || UART7 || J34 || 2-wire RS232 || <code>/dev/ttymxc6</code> ||* 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| MPUART1 || UART3 || J21 || RS485 || <code>/dev/ttymxc2</code> ||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]].
8,186
edits