https://wiki.dave.eu/api.php?action=feedcontributions&user=U0017&feedformat=atom
DAVE Developer's Wiki - User contributions [en]
2024-03-28T14:34:51Z
User contributions
MediaWiki 1.31.3
https://wiki.dave.eu/index.php?title=Customizing_the_splash_screen_(Axel)&diff=8705
Customizing the splash screen (Axel)
2019-07-29T09:04:04Z
<p>U0017: </p>
<hr />
<div>{{InfoBoxTop}}<br />
{{AppliesToAxel}}<br />
{{AppliesToAxelLite}}<br />
{{AppliesToAxelEsatta}}<br />
{{InfoBoxBottom}}<br />
<br />
<br />
== Introduction ==<br />
{| class="wikitable" border="1"<br />
!Version<br />
!Date<br />
!XELK version<br />
!Notes<br />
|-<br />
|1.0.0<br />
|June 2017<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK_2.3.1|XELK 2.3.1]]<br/>[[Axel_Embedded_Linux_Kit_(XELK)#XELK_3.0.0|XELK 3.0.1]]<br/>[[Axel_Embedded_Linux_Kit_(XELK)#XELK_4.0.0|XELK 4.0.0]]<br />
|<br />
|-<br />
|}<br />
<br />
Starting from version 2013.04-xelk-2.2.0, U-Boot for Axel SOMs provides support for a customizable splash screen. The following sections describe how to use this feature.<br />
<br />
The splash screen image should be a 24 bpp BMP file.<br />
<br />
== Resources ==<br />
<br />
For further details on splash screen support in U-Boot, please refer to:<br />
<br />
* http://www.denx.de/wiki/DULG/UBootSplashScreen<br />
* http://www.denx.de/wiki/DULG/UbootBitmapSupport.<br />
<br />
== Customizing the splash screen ==<br />
<br />
The following U-Boot environment variables are required:<br />
* splashimage: RAM address where the BMP image is loaded. Please note that it must be a 32-bit aligned address with a 0x2 offset (eg: 0x20000002)<br />
* loadsplash: comand for loading the BMP image from the storage device (e.g flash memory) to RAM. This command is automatically run by U-Boot at startup<br />
* splashpos: image position (eg: splashpos=m,m, for centering the image)<br />
<br />
=== Splash image in NOR SPI flash ===<br />
<br />
==== U-Boot variables ====<br />
<br />
<pre><br />
loadsplash=run spi_loadsplash<br />
spi_loadsplash=sf probe; sf read ${splashimage} 0x800000 ${splashsize}<br />
splashfile=splash_image.bmp<br />
splashimage=0x20000002<br />
splashpos=m,m<br />
splashsize=0x400000<br />
loadsplashfile=tftpboot ${loadaddr} axel/${splashfile}<br />
spi_updatesplash=sf probe; sf erase 0x800000 +${filesize}; sf write ${loadaddr} 0x800000 ${filesize}<br />
</pre><br />
<br />
==== Commands ====<br />
<br />
The following commands are used to store in NOR SPI flash a BMP image loaded via tftp:<br />
<br />
<pre><br />
run loadsplashfile<br />
run spi_updatesplash<br />
</pre><br />
<br />
=== Splash image in NAND flash ===<br />
<br />
==== U-Boot variables ====<br />
<br />
<pre><br />
mtdparts=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)<br />
loadsplash=run nand_loadsplash<br />
nand_loadsplash=nand read ${splashimage} nand-splash<br />
splashfile=splash_image.bmp<br />
splashimage=0x20000002<br />
splashpos=m,m<br />
splashsize=0x400000<br />
loadsplashfile=tftpboot ${loadaddr} axel/${splashfile}<br />
nand_updatesplash=nand erase.part nand-splash; nand write ${loadaddr} nand-splash ${filesize}<br />
</pre><br />
<br />
Please note that the NAND mtd partition for the splash image ('''nand-splash''') is defined using the <code>mtdparts</code> parameter, and then referenced by the nand {erase,read,write} commands.<br />
<br />
==== Commands ====<br />
<br />
The following commands are used to store in NAND flash a BMP image loaded via tftp:<br />
<br />
<pre><br />
run loadsplashfile<br />
run nand_updatesplash<br />
</pre></div>
U0017
https://wiki.dave.eu/index.php?title=Standalone_boot_(XELK)&diff=8704
Standalone boot (XELK)
2019-07-29T08:41:27Z
<p>U0017: </p>
<hr />
<div>{{InfoBoxTop}}<br />
{{AppliesToAxelLite}}<br />
{{InfoBoxBottom}}<br />
<br />
== History ==<br />
<br />
{| class="wikitable" border="1"<br />
!Version<br />
!Date<br />
!XELK version<br />
!Hardware Part Nr<br />
!Notes<br />
|-<br />
|{{oldid|7256|2.3.1}}<br />
|June 2017<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK_2.3.1|XELK 2.3.1]]<br />
|XELK 2.0.0<br />
|<br />
|-<br />
|{{oldid|7341|3.0.1}}<br />
|Nov 2017<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK_3.0.0|XELK 3.0.1]]<br />
|XELK 3.0.1<br />
|<br />
|-<br />
|4.0.0<br />
|July 2018<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK_4.0.0|XELK 4.0.0]]<br />
|XELK 4.0.0<br />
|<br />
|-<br />
|}<br />
<br />
== Introduction ==<br />
<br />
This document has been written and tested with the software/hardware combination described in the history table above. However it contains general concept that can be adapted on any DAVE Embedded Systems' Linux platform using the SPL.<br />
<br />
We'll explain how to program and configure a <br />
[[Category:AxelLite|Axel Lite]]<br />
to boot in standalone mode, without the need of a system microSD card or a NFS server, with two options:<br />
* booting with NOR + NAND<br />
** U-Boot will fetch Linux kernel binary images (kernel + device tree) from on-board NOR flash memory, while later the OS will mount the root file system from a NAND partition.<br />
* booting with NAND only<br />
** in this configuration the whole system will boot without the need of a NOR storage, all images and the root file system will be fetch from NAND.<br />
<br />
== Update u-boot ==<br />
<br />
In order to support the SPL, new additional uboot variables have been introduced.<br />
<br />
<pre class="board-terminal"><br />
=> print load_spl load_uboot spi_update_spl spi_update_uboot<br />
load_spl=tftp ${loadaddr} ${spl}<br />
load_uboot=tftp ${loaddr} ${ubootimg}<br />
spi_update_spl=sf probe; sf erase 0 10000;sf write ${loadaddr} 400 ${filesize}<br />
spi_update_uboot=sf probe; sf erase 10000 f0000;sf write ${loadaddr} 10000 ${filesize}<br />
</pre><br />
<br />
=== u-boot on NOR SPI ===<br />
Uboot can be flashed into NOR following the example below. Firstly, the SPL is fetched from the tftpserver and then it is flashed into the NOR SPL partition. Lastly, the same operation is performed for the uboot image.<br />
<pre><br />
=> run load_spl<br />
Using FEC device<br />
TFTP from server 192.168.0.82; our IP address is 192.168.0.83<br />
Filename 'xelk4/SPL.spi'.<br />
Load address: 0x12000000<br />
Loading: ############<br />
335 KiB/s<br />
done<br />
Bytes transferred = 56320 (dc00 hex)<br />
=> run spi_update_spl <br />
SF: Detected s25fl256s_64k with page size 256 Bytes, erase size 64 KiB, total 32 MiB<br />
SF: 65536 bytes @ 0x0 Erased: OK<br />
device 0 offset 0x400, size 0xdc00<br />
SF: 56320 bytes @ 0x400 Written: OK<br />
=> run load_uboot <br />
Using FEC device<br />
TFTP from server 192.168.0.82; our IP address is 192.168.0.83<br />
Filename 'xelk4/u-boot.img.spi'.<br />
Load address: 0x12000000<br />
Loading: #################################################################<br />
################################<br />
1.2 MiB/s<br />
done<br />
Bytes transferred = 493272 (786d8 hex)<br />
=> run spi_update_uboot <br />
SF: Detected s25fl256s_64k with page size 256 Bytes, erase size 64 KiB, total 32 MiB<br />
SF: 983040 bytes @ 0x10000 Erased: OK<br />
device 0 offset 0x10000, size 0x786d8<br />
SF: 493272 bytes @ 0x10000 Written: OK<br />
</pre><br />
<br />
=== u-boot on NAND ===<br />
<br />
The SPL and u-boot image, must be flashed on NAND using the NXP <code>kobs-ng</code> utility. This tool is required for writing correct information needed by bootrom to identify the NAND as a boot device.<br />
<br />
The following steps are therefore necessary:<br />
* boot the system via SD on NFS<br />
* uses a rfs with <b>kobs-ng</b> utility available on it (e.g. DAVE's rfs provided with XELK)<br />
* copy the related u-boot ans SPL files on nfs /home/root (for example)<br />
* execute kobs-ng passing the parameters for flashing the SPL on NAND.<br />
* execute nandwrite to flash uboot image on NAND.<br />
<br />
<pre class="board-terminal"><br />
root@imx6dlxelk:~# kobs-ng -x -v -w <br />
MTD CONFIG:<br />
chip_0_device_path = "/dev/mtd0"<br />
chip_1_device_path = "(null)"<br />
search_exponent = 2<br />
data_setup_time = 80<br />
data_hold_time = 60<br />
address_setup_time = 25<br />
data_sample_time = 6<br />
row_address_size = 3<br />
column_address_size = 2<br />
read_command_code1 = 0<br />
read_command_code2 = 48<br />
boot_stream_major_version = 1<br />
boot_stream_minor_version = 0<br />
boot_stream_sub_version = 0<br />
ncb_version = 3<br />
boot_stream_1_address = 0<br />
boot_stream_2_address = 0<br />
unable to create a temporary file<br />
<br />
root@imx6dlxelk:~# kobs-ng -x -v -w SPL.nand <br />
MTD CONFIG:<br />
chip_0_device_path = "/dev/mtd0"<br />
chip_1_device_path = "(null)"<br />
search_exponent = 2<br />
data_setup_time = 80<br />
data_hold_time = 60<br />
address_setup_time = 25<br />
data_sample_time = 6<br />
row_address_size = 3<br />
column_a[ 171.755580] nand: nand_erase_nand: attempt to erase a bad block at page 0x00000000<br />
ddress_size = 2<br />
read_command_code1 = 0<br />
read_command_code2 = 48<br />
boot_stream_major_version = 1<br />
boot_stream_minor_version = 0<br />
boot_stream_sub_version = 0<br />
ncb_version = 3<br />
boot_stream_1_address = 0<br />
boot_stream_2_address = 0<br />
-- We add the 1k-padding to the uboot.<br />
.tmp_kobs_ng: verifying using key '00000000000000000000000000000000'<br />
.tmp_kobs_ng: is a valid bootstream for key '00000000000000000000000000000000'<br />
mtd: use new bch layout raw access mode<br />
mtd: opening: "/dev/mtd0"<br />
NFC geometry :<br />
ECC Strength : 2<br />
Page Size in Bytes : 2071<br />
Metadata size : 10<br />
ECC Chunk Size in byte : 512<br />
ECC Chunk count : 4<br />
Block Mark Byte Offset : 2028<br />
Block Mark Bit Offset : 2<br />
====================================================<br />
mtd: opened '/dev/mtd0' - '(null)'<br />
mtd: max_boot_stream_size_in_bytes = 524288<br />
mtd: boot_stream_size_in_bytes = 49152<br />
mtd: boot_stream_size_in_pages = 24<br />
mtd: #1 0x00100000 - 0x00180000 (0x0010c000)<br />
mtd: #2 0x00180000 - 0x00200000 (0x0018c000)<br />
FCB<br />
m_u32Checksum = 0x00000000<br />
m_u32FingerPrint = 0x20424346<br />
m_u32Version = 0x01000000<br />
m_NANDTiming.m_u8DataSetup = 80<br />
m_NANDTiming.m_u8DataHold = 60<br />
m_NANDTiming.m_u8AddressSetup = 25<br />
m_NANDTiming.m_u8DSAMPLE_TIME = 6<br />
m_u32PageDataSize = 2048<br />
m_u32TotalPageSize = 2112<br />
m_u32SectorsPerBlock = 64<br />
m_u32NumberOfNANDs = 0<br />
m_u32TotalInternalDie = 0<br />
m_u32CellType = 0<br />
m_u32EccBlockNEccType = 1<br />
m_u32EccBlock0Size = 512<br />
m_u32EccBlockNSize = 512<br />
m_u32EccBlock0EccType = 1<br />
m_u32MetadataBytes = 10<br />
m_u32NumEccBlocksPerPage = 3<br />
m_u32EccBlockNEccLevelSDK = 0<br />
m_u32EccBlock0SizeSDK = 0<br />
m_u32EccBlockNSizeSDK = 0<br />
m_u32EccBlock0EccLevelSDK = 0<br />
m_u32NumEccBlocksPerPageSDK = 0<br />
m_u32MetadataBytesSDK = 0<br />
m_u32EraseThreshold = 0<br />
m_u32Firmware1_startingPage = 512<br />
m_u32Firmware2_startingPage = 768<br />
m_u32PagesInFirmware1 = 24<br />
m_u32PagesInFirmware2 = 24<br />
m_u32DBBTSearchAreaStartAddress = 256<br />
m_u32BadBlockMarkerByte = 2028<br />
m_u32BadBlockMarkerStartBit = 2<br />
m_u32BBMarkerPhysicalOffset = 2048<br />
m_u32BCHType = 0<br />
m_NANDTMTiming.m_u32TMTiming2_ReadLatency = 0<br />
m_NANDTMTiming.m_u32TMTiming2_PreambleDelay = 0<br />
m_NANDTMTiming.m_u32TMTiming2_CEDelay = 0<br />
m_NANDTMTiming.m_u32TMTiming2_PostambleDelay = 0<br />
m_NANDTMTiming.m_u32TMTiming2_CmdAddPause = 0<br />
m_NANDTMTiming.m_u32TMTiming2_DataPause = 0<br />
m_NANDTMTiming.m_u32TMSpeed = 0<br />
m_NANDTMTiming.m_u32TMTiming1_BusyTimeout = 0<br />
m_u32DISBBM = 0<br />
m_u32BBMarkerPhysicalOffsetInSpareData = 0<br />
DBBT<br />
m_u32Checksum = 0x00000000<br />
m_u32FingerPrint = 0x54424244<br />
m_u32Version = 0x01000000<br />
m_u32DBBTNumOfPages = 0<br />
Firmware: image #0 @ 0x100000 size 0xc000 - available 0x80000<br />
Firmware: image #1 @ 0x180000 size 0xc000 - available 0x80000<br />
-------------- Start to write the [ FCB ] -----<br />
mtd: erasing @0:0x0-0x20000<br />
mtd: device 0 fails MEMERASE (0x0 - 0x20000)<br />
mtd: Failed to erase block @0x0<br />
mtd: erasing @0:0x20000-0x40000<br />
mtd: Writing FCB1 [ @0:0x20000 ] (840) *<br />
mtd: erasing @0:0x40000-0x60000<br />
mtd: Writing FCB2 [ @0:0x40000 ] (840) *<br />
mtd: erasing @0:0x60000-0x80000<br />
mtd: Writing FCB3 [ @0:0x60000 ] (840) *<br />
mtd_commit_bcb(FCB): status 1<br />
<br />
-------------- Start to write the [ DBBT ] -----<br />
mtd: erasing @0:0x80000-0xa0000<br />
mtd: Writing DBBT0 [ @0:0x80000 ] (800) *<br />
mtd: erasing @0:0xa0000-0xc0000<br />
mtd: Writing DBBT1 [ @0:0xa0000 ] (800) *<br />
mtd: erasing @0:0xc0000-0xe0000<br />
mtd: Writing DBBT2 [ @0:0xc0000 ] (800) *<br />
mtd: erasing @0:0xe0000-0x100000<br />
mtd: Writing DBBT3 [ @0:0xe0000 ] (800) *<br />
mtd_commit_bcb(DBBT): status 0<br />
<br />
---------- Start to write the [ .tmp_kobs_ng ]----<br />
mtd: Writting .tmp_kobs_ng: #0 @0: 0x00100000 - 0x0010c000<br />
mtd: erasing @0:0x100000-0x120000<br />
mtd: We write one page for save guard. *<br />
mtd: Writting .tmp_kobs_ng: #1 @0: 0x00180000 - 0x0018c000<br />
mtd: erasing @0:0x180000-0x1a0000<br />
mtd: We write one page for save guard. *<br />
<br />
root@imx6qxelk:~# flash_erase /dev/mtd1 0 0<br />
Erasing 128 Kibyte @ 5e0000 -- 100 % complete<br />
<br />
root@imx6dlxelk:~# nandwrite -p /dev/mtd1 u-boot.img.nand <br />
Writing data to block 0 at offset 0x0<br />
Writing data to block 1 at offset 0x20000<br />
Writing data to block 2 at offset 0x40000<br />
Writing data to block 3 at offset 0x60000<br />
</pre><br />
<br />
For more details, please refer to [[Booting_from_NAND_flash_on_i.MX6-based_platforms|this page]].<br />
<br />
== Program root file system in NAND flash ==<br />
<br />
This is a common step for both booting options. <br />
<br />
* Boot the system via SD or NFS as described into the [[XELK_Quick_Start_Guide|Quick_start_guide]]<br />
* By default, the NAND is already partitioned to allow booting from NAND-only (see next section) and, thus, some partitions are reserved for U-boot and kernel images. Here we won't modify this default configuration. The [[Memory Tecnology Device (MTD)|MTD]] partitions can be dumped with <code>/proc/mtd</code> (the partition's name should be self-explanatory)<br />
<br />
<pre class="board-terminal"><br />
root@imx6dlxelk:~# cat /proc/mtd <br />
dev: size erasesize name<br />
mtd0: 00200000 00020000 "nand-SPL"<br />
mtd1: 00600000 00020000 "nand-uboot"<br />
mtd2: 00100000 00020000 "nand-env1"<br />
mtd3: 00100000 00020000 "nand-env2"<br />
mtd4: 00100000 00020000 "nand-fdt"<br />
mtd5: 00100000 00020000 "nand-spare"<br />
mtd6: 00800000 00020000 "nand-kernel"<br />
mtd7: 00400000 00020000 "nand-splash"<br />
mtd8: 1e800000 00020000 "nand-ubi"<br />
mtd9: 00010000 00010000 "spi-SPL"<br />
mtd10: 000f0000 00010000 "spi-uboot"<br />
mtd11: 00040000 00010000 "spi-env1"<br />
mtd12: 00040000 00010000 "spi-env2"<br />
mtd13: 00080000 00010000 "spi-dtb"<br />
mtd14: 00800000 00010000 "spi-kernel"<br />
mtd15: 00400000 00010000 "spi-splash"<br />
mtd16: 01200000 00010000 "spi-free"<br />
</pre><br />
<br />
{{ImportantMessage|text=Please note that MTD partition index may change depending of flash device availability, flash device size, u-boot environment variables or kernel device driver load order. Always take care of looking inside <code>/proc/mtd</code> to match your specific layout}}<br />
<br />
<br />
* Format and initialize ''nand-ubi'' partition, which in our case is <code>mtd8</code>, using [[Memory Tecnology Device (MTD)#UBI|UBI]] with:<br />
<br />
<pre><br />
ubiformat /dev/mtd8<br />
ubiattach -m 8<br />
ubimkvol /dev/ubi0 -N rootfs -m<br />
</pre><br />
<br />
E.g.<br />
<br />
<pre class="board-terminal"><br />
root@axel-lite:~# ubiformat /dev/mtd8<br />
ubiformat: mtd8 (nand), size 511705088 bytes (488.0 MiB), 3904 eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 2048 bytes<br />
libscan: scanning eraseblock 3903 -- 100 % complete<br />
ubiformat: 3904 eraseblocks have valid erase counter, mean value is 31<br />
ubiformat: formatting eraseblock 3903 -- 100 % complete<br />
root@axel-lite:~# ubiattach -m 8<br />
[ 517.999286] UBI: attaching mtd8 to ubi0<br />
[ 524.468201] UBI: scanning is finished<br />
[ 524.498833] UBI: attached mtd8 (name "nand-ubi", size 488 MiB) to ubi0<br />
[ 524.505476] UBI: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes<br />
[ 524.512290] UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 2048<br />
[ 524.519046] UBI: VID header offset: 2048 (aligned 2048), data offset: 4096<br />
[ 524.525984] UBI: good PEBs: 3904, bad PEBs: 0, corrupted PEBs: 0<br />
[ 524.532010] UBI: user volume: 0, internal volumes: 1, max. volumes count: 128<br />
[ 524.539190] UBI: max/mean erase counter: 33/32, WL threshold: 4096, image sequence number: 483560195<br />
[ 524.548381] UBI: available PEBs: 3820, total reserved PEBs: 84, PEBs reserved for bad PEB handling: 80<br />
[ 524.557836] UBI: background thread "ubi_bgt0d" started, PID 856<br />
UBI device number 0, total 3904 LEBs (495714304 bytes, 472.8 MiB), available 3820 LEBs (485048320 bytes, 462.6 MiB), LEB size 126976 bytes (124.0 KiB)<br />
root@axel-lite:~# ubimkvol /dev/ubi0 -N rootfs -m<br />
Set volume size to 485048320<br />
Volume ID 0, size 3820 LEBs (485048320 bytes, 462.6 MiB), LEB size 126976 bytes (124.0 KiB), dynamic, name "rootfs", alignment 1<br />
root@axel-lite:~#<br />
</pre><br />
<br />
* Now mount the UBI volume using [[Memory Tecnology Device (MTD)#UBIFS|UBIFS]] in a temporary directory<br />
<br />
<pre><br />
mkdir -p /mnt/nand<br />
mount -t ubifs ubi0_0 /mnt/nand<br />
</pre><br />
<br />
E.g.:<br />
<br />
<pre class="board-terminal"><br />
root@axel-lite:~# mkdir -p /mnt/nand<br />
root@axel-lite:~# mount -t ubifs ubi0_0 /mnt/nand<br />
[ 553.177151] UBIFS: default file-system created<br />
[ 553.186049] UBIFS: background thread "ubifs_bgt0_0" started, PID 860<br />
[ 553.366834] UBIFS: mounted UBI device 0, volume 0, name "rootfs"<br />
[ 553.372931] UBIFS: LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes<br />
[ 553.382300] UBIFS: FS size: 483016704 bytes (460 MiB, 3804 LEBs), journal size 24252416 bytes (23 MiB, 191 LEBs)<br />
[ 553.392542] UBIFS: reserved for root: 4952683 bytes (4836 KiB)<br />
[ 553.398464] UBIFS: media format: w4/r0 (latest is w4/r0), UUID CB1521BE-B0D5-4CDA-B52A-25BAFDB755C2, small LPT model<br />
root@axel-lite:~#<br />
</pre><br />
<br />
* you can now extract the root file system into that directory<br />
<br />
<pre><br />
tar xvjf xelk-4.0.0_axel-fsl-image-qt5.tar.bz2 -C /mnt/nand<br />
</pre><br />
<br />
* finally, you need to cleanly umount and detach the MTD partition<br />
<br />
<pre><br />
umount /mnt/nand/<br />
ubidetach -m 8<br />
</pre><br />
<br />
E.g.<br />
<br />
<pre class="board-terminal"><br />
root@axel-lite:~# umount /mnt/nand/<br />
[ 575.115560] UBIFS: un-mount UBI device 0, volume 0<br />
[ 575.120424] UBIFS: background thread "ubifs_bgt0_0" stops<br />
root@axel-lite:~# ubidetach -m 8<br />
[ 575.171074] UBI: detaching mtd8 from ubi0<br />
[ 575.182401] UBI: mtd8 is detached from ubi0<br />
root@axel-lite:~#<br />
</pre><br />
<br />
You can now safely reboot or turn off the system.<br />
<br />
In U-Boot environment check the following variable, which must contain the same MTD partition number used above<br />
<br />
<pre><br />
nand_args=setenv bootargs ubi.mtd=8 root=ubi0_0 rootfstype=ubifs rw<br />
</pre><br />
<br />
== Program boot images ==<br />
<br />
=== NOR flash ===<br />
<br />
We assume that the following environment variables are present in u-boot:<br />
<br />
<pre><br />
loadk=tftpboot ${loadaddr} ${serverip}:${bootfile}<br />
loadfdt=tftpboot ${fdtaddr} ${serverip}:${fdtfile}<br />
spi_updatek=sf erase 200000 600000; sf write ${loadaddr} 200000 ${filesize}<br />
spi_updatefdt=sf erase 180000 80000; sf write ${fdtaddr} 180000 ${filesize}<br />
spi_loadk=sf read ${loadaddr} 200000 600000<br />
spi_loadfdt=sf read ${fdtaddr} 180000 80000<br />
spi_nand=sf probe; run spi_loadk spi_loadfdt nandargs addcons addmisc; if run configid_fixupfdt; then bootm ${loadaddr} - ${fdtaddr}; fi<br />
</pre><br />
<br />
* Update the <code>bootfile</code> and <code>fdtfile</code> environment variables to fit the filename as found inside the TFTP server.<br />
* Program kernel and device tree on NOR flash with the following U-Boot command<br />
<br />
<pre class="board-terminal"><br />
sf probe; run loadk spi_updatek loadfdt spi_updatefdt<br />
</pre><br />
<br />
E.g.:<br />
<br />
<pre class="board-terminal"><br />
=> sf probe; run loadk spi_updatek loadfdt spi_updatefdt<br />
SF: Detected s25fl256s_64k with page size 256 Bytes, erase size 64 KiB, total 32 MiB<br />
Using FEC device<br />
TFTP from server 192.168.0.82; our IP address is 192.168.0.83<br />
Filename 'xelk4/xelk-4.0.0_uImage'.<br />
Load address: 0x12000000<br />
Loading: #################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
###<br />
1.3 MiB/s<br />
done<br />
Bytes transferred = 6668104 (65bf48 hex)<br />
SF: 8388608 bytes @ 0x200000 Erased: OK<br />
device 0 offset 0x200000, size 0x65bf48<br />
SF: 6668104 bytes @ 0x200000 Written: OK<br />
Using FEC device<br />
TFTP from server 192.168.0.82; our IP address is 192.168.0.83<br />
Filename 'xelk4/xelk-4.0.0_imx6q-sbcx-cb0012.dtb_wl'.<br />
Load address: 0x18000000<br />
Loading: ###########<br />
604.5 KiB/s<br />
done<br />
Bytes transferred = 51400 (c8c8 hex)<br />
SF: 524288 bytes @ 0x180000 Erased: OK<br />
device 0 offset 0x180000, size 0xc8c8<br />
SF: 51400 bytes @ 0x180000 Written: OK<br />
<br />
</pre><br />
<br />
<br />
Reboot the system and configure U-Boot to apply the new configuration<br />
<br />
<pre class="board-terminal"><br />
=> setenv bootcmd run spi_nand<br />
=> saveenv<br />
</pre><br />
<br />
=== NAND flash ===<br />
<br />
We assume that the following environment variables are present in u-boot:<br />
<br />
<pre><br />
=> print nand_updatek nand_updatefdt nand_loadk nand_loadfdt nand_nand<br />
nand_updatek=nand erase.part nand-kernel; nand write ${loadaddr} nand-kernel ${filesize}<br />
nand_updatefdt=nand erase.part nand-fdt; nand write ${fdtaddr} nand-fdt ${filesize}<br />
nand_loadk=nand read ${loadaddr} nand-kernel<br />
nand_loadfdt=nand read ${fdtaddr} nand-fdt<br />
nand_nand=run nand_loadk nand_loadfdt nandargs addcons addmisc; if run configid_fixupfdt; then bootm ${loadaddr} - ${fdtaddr}; fi<br />
</pre><br />
<br />
<br />
* Update the <code>bootfile</code> and <code>fdtfile</code> environment variables to fit the filename as found inside the TFTP server.<br />
* Program kernel and device tree on NAND flash with the following U-Boot command<br />
<br />
<pre class="board-terminal"><br />
run loadk nand_updatek loadfdt nand_updatefdt<br />
</pre><br />
<br />
E.g.:<br />
<br />
<pre class="board-terminal"><br />
=> run loadk nand_updatek loadfdt nand_updatefdt<br />
Using FEC device<br />
TFTP from server 192.168.0.82; our IP address is 192.168.0.83<br />
Filename 'xelk4/xelk-4.0.0_uImage'.<br />
Load address: 0x12000000<br />
Loading: #################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
###<br />
1.2 MiB/s<br />
done<br />
Bytes transferred = 6668104 (65bf48 hex)<br />
<br />
NAND erase.part: device 0 offset 0xc00000, size 0x800000<br />
Skipping bad block at 0x00d00000 <br />
Erasing at 0x13e0000 -- 100% complete.<br />
OK<br />
<br />
NAND write: device 0 offset 0xc00000, size 0x65bf48<br />
Skip bad block 0x00d00000<br />
6668104 bytes written: OK<br />
Using FEC device<br />
TFTP from server 192.168.0.82; our IP address is 192.168.0.83<br />
Filename 'xelk4/xelk-4.0.0_imx6q-sbcx-cb0012.dtb_wl'.<br />
Load address: 0x18000000<br />
Loading: ###########<br />
726.6 KiB/s<br />
done<br />
Bytes transferred = 51400 (c8c8 hex)<br />
<br />
NAND erase.part: device 0 offset 0xa00000, size 0x100000<br />
Erasing at 0xae0000 -- 100% complete.<br />
OK<br />
<br />
NAND write: device 0 offset 0xa00000, size 0xc8c8<br />
51400 bytes written: OK<br />
=> <br />
</pre><br />
<br />
<br />
Reboot the system and configure U-Boot to apply the new configuration<br />
<br />
<pre class="board-terminal"><br />
=> setenv bootcmd run nand_nand<br />
=> saveenv<br />
</pre></div>
U0017
https://wiki.dave.eu/index.php?title=Axel_Embedded_Linux_Kit_(XELK)&diff=8703
Axel Embedded Linux Kit (XELK)
2019-07-29T08:31:17Z
<p>U0017: xelk updates folder</p>
<hr />
<div>{{InfoBoxTop}}<br />
{{AppliesToDacu}}<br />
{{AppliesToAxel}}<br />
{{AppliesToAxelLite}}<br />
{{AppliesToAxelEsatta}}<br />
{{InfoBoxBottom}}<br />
<br />
==Introduction==<br />
{{ImportantMessage|text='''Customers are strongly recommended to register their kits'''. Registration grants access to reserved material such as source code and additional documentation.<br />
<br />
To register the kit, please send an email to [mailto:support-axel@dave.eu support-axel@dave.eu], [[Development_Kits_Identification_Codes|providing the kit P/N and S/N]].}}<br />
<br />
[[File:Axel-on-evb-02.png|500px]]<br />
<br />
Axel Embedded Linux Kit (XELK for short) provides all the necessary components required to set up the developing environment to:<br />
* build the bootloader (U-Boot)<br />
* build and run Linux operating system on Axel-based systems<br />
* build Linux applications that will run on the target.<br />
The main kit components are:<br />
* hardware platform composed of<br />
** Axel system-on-module (SOM for short)<br />
** AxelEVB-Lite plugged on Dacu carrier board<br />
** 800x480 7" LVDS display <br />
* Development virtual machine containing:<br />
** Toolchain<br />
** U-Boot bootloader sources<br />
** Linux kernel sources<br />
** Root file systems<br />
* Technical documentation such hardware manuals, mechanical drawings, reference schematics, application notes etc. <br />
<br />
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 Axel hardware characteristics, please refer to the Axel Hardware Manual. An account for the reserved area of [http://www.dave.eu '''DAVE Embedded Systems''' website] is required to access the kit contents.<br />
<br />
==Kit Contents==<br />
<br />
{| class="wikitable" <br />
|-<br />
!Component<br />
!Description<br />
!Notes<br />
|-<br />
| style="text-align: center;" | [[File:Axel-01.png|60px]]<br />
|Axel Ultra SOM (or Axel Lite SOM) <br>CPU: Freescale i.MX6<br>SDRAM: 2 GB DDR3<br>NOR: bootable SPI flash 32 MB<br>NAND: 1GB<br />
|Please refer to [[Hardware Manual (AxelUltra) | Axel Ultra Hardware Manual]]<br />
|-<br />
| style="text-align: center;" | [[File:Axelevb-lite-01.png|60px]]<br />
|AxelEVB-Lite Carrier board<br />
|Please refer to [[AxelEVB-Lite | AxelEVB-Lite]] page<br />
|-<br />
| style="text-align: center;" | [[File:Dacu-top-view.png|80px]]<br />
|Dacu Carrier board<br />
|Please refer to [[Dacu | Dacu]] page<br />
|-<br />
| style="text-align: center;" | [[File:Display.jpg|60px]]<br />
|Ampire AM-800480STMQW<br>7” 800x480 LCD display<br>LVDS interface<br />
|Please refer to [[XELK Quick Start Guide]]<br />
|-<br />
| style="text-align: center;" | [[File:Alimentatore.jpg|40px]]<br />
|AC/DC Single Output Wall Mount adapter<br>Output: +12V – 2.0 A<br />
|Please refer to [[XELK Quick Start Guide]]<br />
|-<br />
| style="text-align: center;" | [[File:Cavetto-seriale2.jpg|50px]]<br />
|DB9 Male Serial port adapter<br />
|Please refer to [[XELK Quick Start Guide]]<br />
|-<br />
| style="text-align: center;" | [[File:ProdSDC-MBLY-thumb.png|50px]]<br />
|MicroSDHC card with SD adapter and USB adapter<br />
|Please refer to [[XELK Quick Start Guide]]<br />
|-<br />
|}<br />
<br />
== XELK software components ==<br />
<br />
'''DAVE Embedded Systems''' adds to the latest Linux BSP from NXP/Freescale the customization required to support the Axel platform. For this reason most of the documentation provided by NXP/Freescale remains valid for the XELK development kit. However, some customization is required, in particular at bootloader and linux kernel levels.<br />
<br />
The following table reports the XELK releases information.<br />
{| class="wikitable" <br />
!<br />
! colspan="10" | XELK version<br />
|-<br />
|Release number<br />
|1.0.0<br />
|1.1.0<br />
|1.2.0<br />
|2.0.0<br />
|2.1.0<br />
|2.2.0<br />
|2.3.1<br />
|3.0.1<br />
|3.5.0<br />
|4.0.0<br />
|-<br />
|Release type<br />
|Major<br />
|Maintenance<br />
|Maintenance<br />
|Major<br />
|Maintenance<br />
|Maintenance<br />
|Maintenance<br />
|Major<br />
|Maintenance<br />
|Major<br />
|-<br />
|Status<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|In progress<br />
|-<br />
|Release date<br />
|November, 4th 2013<br />
|January 2014<br />
|May 2014<br />
|November 2014<br />
|May 2015<br />
|February 2016<br />
|October 2016<br />
|November 2017<br />
|April 2019<br />
|Q3 2019<br />
|-<br />
|'''Release notes'''<br />
|[[#XELK 1.0.0 | Ver 1.0.0]]<br />
|[[#XELK 1.1.0 | Ver 1.1.0]]<br />
|[[#XELK 1.2.0 | Ver 1.2.0]]<br />
|[[#XELK 2.0.0 | Ver 2.0.0]]<br />
|[[#XELK 2.1.0 | Ver 2.1.0]]<br />
|[[#XELK 2.2.0 | Ver 2.2.0]]<br />
|[[#XELK 2.3.1 | Ver 2.3.1]]<br />
|[[#XELK 3.0.1 | Ver 3.0.1]]<br />
|[[#XELK 3.5.0 | Ver 3.5.0]]<br />
|[[#XELK 4.0.0 | Ver 4.0.0]]<br />
|-<br />
|SOM PCB version<br />
|Axel Ultra: CS030713<br />
|Axel Ultra: CS030713A<br />
|Axel Ultra: CS030713A<br>Axel Lite: CS335013A<br />
|Axel Ultra: CS030713A<br>Axel Lite: CS335013A<br />
|Axel Ultra: CS030713B<br>Axel Lite: CS335013A<br />
|Axel Ultra: CS030713B<br>Axel Lite: CS335013A<br />
|Axel Ultra: CS030713B<br>Axel Lite: CS335013A<br>Axel Lite: CS335013C<br />
|Axel Lite: CS335013A<br>Axel Lite: CS335013C<br />
|Axel Lite: CS335013A<br>Axel Lite: CS335013C<br />
|Axel Lite: CS335013A<br>Axel Lite: CS335013C<br />
|--<br />
|Supported carrier boards<br />
|<span class="plainlinks">[{{fullurl:AxelEVB-Lite|oldid=2970}} AxelEVB-Lite]</span><br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|-<br />
|U-Boot version<br />
|2013.10-xelk-1.0.0<br />
|2013.10-xelk-1.1.0<br />
|2013.10-xelk-1.2.0<br />
|2013.04-xelk-2.0.0<br />
|2013.04-xelk-2.1.0<br />
|2013.04-xelk-2.2.0<br />
|2013.04-xelk-2.3.1<br />
|2016.03-xelk-3.0.2<br />
|2016.03-xelk-3.5.0<br />
|2017.03-xelk-4.0.0<br />
|-<br />
|Linux version<br />
|3.0.35-xelk-1.0.0<br />
|3.0.35-xelk-1.1.0<br />
|3.0.35-xelk-1.2.0<br />
|3.10.17-xelk-2.0.0<br />
|3.10.17-xelk-2.1.0<br />
|3.10.17-xelk-2.2.0<br />
|3.10.17-xelk-2.3.1<br />
|4.1.15-xelk-3.0.0<br />
|4.1.15-xelk-3.0.0<br />
|4.9.11-xelk-4.0.0<br />
|-<br />
|Drivers<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br>SPL boot[2]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br>SPL boot[2]<br />
|-<br />
|NXP/Freescale BSP version<br />
|L3.0.35-4.1.0<br />
|L3.0.35-4.1.0<br />
|L3.0.35-4.1.0 <br />
|L3.10.17-1.0.0<br />
|L3.10.17-1.0.0<br />
|L3.10.17-1.0.3<br />
|L3.10.17-1.0.3<br />
|L4.1.15-2.0.0<br />
|L4.1.15-2.0.0<br />
|L4.9.11_1.0.0<br />
|-<br />
|Graphic libraries<br />
|Qt 4.8<br />
|Qt 4.8<br />
|Qt 4.8<br />
|Qt 5.3.2<br />
|Qt 5.3.2<br />
|Qt 5.3.2<br />
|Qt 5.3.2<br />
|Qt 5.6.2<br />
|Qt 5.6.2<br />
|Qt 5.9.8<br />
|-<br />
|Build System<br />
|LTIB<br />
|LTIB<br />
|LTIB<br />
|Yocto Dora (1.5) <br />
|Yocto Dora (1.5) <br />
|Yocto Dora (1.5) <br />
|Yocto Dora (1.5) <br />
|Yocto Krogoth (2.1)<br />
|Yocto Krogoth (2.1)<br />
|Yocto Morty (2.2)<br />
|-<br />
|Android<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|Kitkat 4.4.2<br />
|Marshmallow 6.0.1<br />
|Marshmallow 6.0.1<br />
|<br />
|}<br />
<br />
[1] Splashscreen on LVDS0<br />
<br />
[2] U-Boot SPL version<br />
<br />
====Downloadable binary images====<br />
<br />
<br />
All binary images for XELK are hosted on [[mirror:axel|DAVE Embedded System mirror server]]. There you can find a sub directory for each version of this development kit.<br />
<br />
A summary of images with a brief description can be found into the table below:<br />
<br />
{{ImportantMessage|text=In order to boot Linux from SD card files, '''the binary files must be renamed''' as follows:<br />
*bootscript: <code>boot.scr</code><br />
<br />
U-boot file <code>u-boot.imx</code> must be stored into first raw sector of the SD card using <code>dd</code> command<br />
<br />
Since XELK-3.5.0 U-boot performs 2-stage bootloader providing two files: SPL and u-boot.img.<br />
<br />
Both two files must be stored into SD card using <code>dd</code> command}} <br />
{| class="wikitable"<br />
|-<br />
! Image !! colspan="5" |XELK version 2.3.1<br />
|-<br />
| Platform || XELK rev.A || SBCX rev.A || SBCX rev.A || SBCX rev.B || SBCX rev.B<br />
|-<br />
| Carrier Board [[ConfigID_and_UniqueID | ConfigID]]|| 0001 || 0002 || 0003 || 0012 || 0013<br />
|-<br />
| LCD panel || colspan="5" style="text-align: center" | Ampire 800 x 480 7" LVDS 262K colors (RGB666)<br>(AM-800480STMQW-TA1 or AM-800480SETMQW-TA1H)<br />
|-<br />
| Touchscreen || colspan="1" | resistive || colspan="1" | resistive || colspan="1" | capacitive || colspan="1" | resistive || colspan="1" style="text-align: center" | capacitive<br />
|-<br />
| bootscript || colspan="1" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_boot.scr|boot.scr]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_sbcx_boot.scr|boot.scr]]<br />
|-<br />
| U-Boot || colspan="1" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_mx6qaxel_spi_u-boot.imx|u-boot (Quad - boot from NOR)]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_mx6dlaxel_nand_u-boot.imx|u-boot (DualLite - boot from NAND)]] <br />
|-<br />
| Linux kernel || colspan="5" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_uImage|uImage]]<br />
|-<br />
| Linux kernel<br>(Android 4.4.2) || colspan="5" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.0-andr_uImage|uImage]]<br />
|-<br />
| Device tree (Quad processor) || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6q-xelk-l.dtb|imx6q-xelk-l.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6q-sbcx.dtb|imx6q-sbcx-cb0002.dtb]] || Not available || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6q-sbcx-cb0012.dtb|imx6q-sbcx-cb0012.dtb]] || Not available<br />
|-<br />
| Device tree (DualLite processor) || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-xelk-l.dtb|imx6dl-xelk-l.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-sbcx.dtb|imx6dl-sbcx-cb0002.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-sbcx-cb0003.dtb|imx6dl-sbcx-cb0003.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-sbcx-cb0012.dtb|imx6dl-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-sbcx-cb0013.dtb|imx6dl-sbcx-cb0013.dtb]]<br />
|}<br />
{| class="wikitable"<br />
|-<br />
! Image !! colspan="5" |XELK version 3.0.1<br />
|-<br />
| Platform || XELK rev.A || SBCX rev.B || SBCX rev.B<br />
|-<br />
| Carrier Board [[ConfigID_and_UniqueID | ConfigID]]|| 0001 || 0012 || 0013<br />
|-<br />
| LCD panel || colspan="5" style="text-align: center" | Ampire 800 x 480 7" LVDS 262K colors (RGB666)<br>(AM-800480STMQW-TA1 or AM-800480SETMQW-TA1H)<br />
|-<br />
| Touchscreen || colspan="1" | resistive || colspan="1" | resistive || colspan="1" style="text-align: center" | capacitive<br />
|-<br />
| bootscript || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.1_boot.scr|boot.scr]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.1_boot.scr|boot.scr]]<br />
|-<br />
| U-Boot || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.2_mx6qaxel_spi_u-boot.imx|u-boot (Quad - boot from NOR)]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.2_mx6dlaxel_nand_u-boot.imx|u-boot (DualLite - boot from NAND)]] <br />
|-<br />
| Linux kernel || colspan="5" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.0_uImage|uImage]]<br />
|-<br />
| Device tree (Quad processor) || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6q-xelk-l.dtb|imx6q-xelk-l.dtb]] || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6q-sbcx-cb0012.dtb|imx6q-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6q-sbcx-cb0013.dtb|imx6q-sbcx-cb0013.dtb]]<br />
|-<br />
| Device tree (DualLite processor) || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6dl-xelk-l.dtb|imx6dl-xelk-l.dtb]] || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6dl-sbcx-cb0012.dtb|imx6dl-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6dl-sbcx-cb0013.dtb|imx6dl-sbcx-cb0013.dtb]]<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
! Image !! colspan="3" |XELK version 3.5.0 (QUAD/DUAL LITE)<br />
|-<br />
| Platform || colspan="2" style="text-align: center" |XELK / SBCX<br />
|-<br />
| U-Boot SPL || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.5.0/xelk-3.5.0_mx6qdlaxel_spi_SPL|SPL (boot from NOR)]] || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.5.0/xelk-3.5.0_mx6qdlaxel_nand_SPL|SPL (boot from NAND)]] <br />
|-<br />
| U-Boot img || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.5.0/xelk-3.5.0_mx6qdlaxel_spi_u-boot.img| img (boot from NOR)]] || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.5.0/xelk-3.5.0_mx6qdlaxel_nand_u-boot.img|img (boot from NAND)]] <br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
! Image !! colspan="5" |XELK version 4.0.0<br />
|-<br />
| Platform || XELK rev.A || SBCX rev.B || SBCX rev.B<br />
|-<br />
| Carrier Board [[ConfigID_and_UniqueID | ConfigID]]|| 0001 || 0012 || 0013<br />
|-<br />
| LCD panel || colspan="5" style="text-align: center" | Ampire 800 x 480 7" LVDS 262K colors (RGB666)<br>(AM-800480STMQW-TA1 or AM-800480SETMQW-TA1H)<br />
|-<br />
| Touchscreen || colspan="1" | resistive || colspan="1" | resistive || colspan="1" style="text-align: center" | capacitive<br />
|-<br />
| bootscript || colspan="1" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_boot.scr|boot.scr]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_boot.scr|boot.scr]]<br />
|-<br />
| U-Boot SPL || colspan="1" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_mx6qdlaxel_spi_SPL|SPL (Quad - boot from NOR)]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_mx6qdlaxel_nand_SPL|SPL (DualLite - boot from NAND)]] <br />
|-<br />
| U-Boot || colspan="1" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_mx6qdlaxel_spi_u-boot.img|img (Quad - boot from NOR)]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_mx6qdlaxel_nand_u-boot.img|img (DualLite - boot from NAND)]] <br />
|-<br />
| Linux kernel || colspan="5" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_uImage|uImage]]<br />
|-<br />
| Device tree (Quad processor) || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6q-xelk-l-2.0.0.dtb|imx6q-xelk-l-2.0.0.dtb]] || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6q-sbcx-cb0012.dtb|imx6q-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6q-sbcx-cb0013.dtb|imx6q-sbcx-cb0013.dtb]]<br />
|-<br />
| Device tree (DualLite processor) || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6dl-xelk-l.dtb|imx6dl-xelk-l.dtb]] || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6dl-sbcx-cb0012.dtb|imx6dl-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6dl-sbcx-cb0013.dtb|imx6dl-sbcx-cb0013.dtb]]<br />
|}<br />
<br />
==== XELK microSD Layout ====<br />
<br />
The microSD provided with XELK is used to store:<br />
* A bootable partition (mmcblk0p1, vfat) containing:<br />
** binary images (u-boot and kernel images)<br />
** XELK documentation<br />
** XELK DVDK virtual machine image<br />
* XELK root file system partition (mmcblk0p2, ext3)<br />
<br />
XELK contains all 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:<br />
<br />
* VirtualBox virtual machine (.OVA archive)<br />
* Based on Lubuntu 14.04 LTS (64-bit version)<br />
* Pre-installed VirtualBox Guest Additions<br />
* LXDE desktop environment<br />
* Boot disk with the distro and pre-configured basic Linux services:<br />
** TFTP: with base directory /srv/tftp/<br />
** NFS: configured through the /etc/exports file<br />
* Secondary disk containing source code and tools:<br />
** Bootloader (u-boot) source tree cloned from DAVE Embedded Systems public git repository <br />
** Linux kernel source tree cloned from DAVE Embedded Systems public git repository<br />
** External pre-built toolchain<br />
** Yocto bsp for AXEL<br />
* Pre-installed Yocto-based root file systems with setup scripts, makefiles, example applications, ...<br />
* 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)<br />
<br />
Please note that XELK u-boot and kernel source trees are derived from the official trees released by NXP/Freescale; these trees have been customized to add support for the Axel SOM.<br />
<br />
=== XELK Updates ===<br />
<br />
{{ImportantMessage|text=It's recommended to use the latest available XELK version. Please refer to [[Axel_Embedded_Linux_Kit_(XELK)#Release notes | Release notes]] for further information.}}<br />
<br />
==== Updating git repositories ====<br />
<br />
In XELK, the following source trees are clones of '''DAVE Embedded Systems''' public git repositories:<br />
<br />
{| class="wikitable" <br />
|-<br />
!| Component<br />
!GIT Remote<br />
!XELK Installation Directory<br />
|-<br />
|Linux<br />
|git@git.dave.eu:dave/axel/linux-2.6-imx.git<br />
|/home/dvdk/axel/linux<br />
|-<br />
|U-Boot<br />
|git@git.dave.eu:dave/axel/u-boot-imx.git<br />
|/home/dvdk/axel/u-boot<br />
|-<br />
|Yocto BSP<br />
|git@git.dave.eu:dave/axel/axel-bsp.git<br />
|/home/dvdk/axel/axel-bsp<br />
|-<br />
|}<br />
<br />
This means that these components can be kept in sync and up to date with '''DAVE Embedded Systems''' repositories.<br />
<br />
==== RSA key generation ====<br />
<br />
Please follow the procedure reported below to generate the RSA ssh key:<br />
<br />
* select your username (ad es. username@myhost.com)<br />
* start the DVDK and login into the virtual machine<br />
* start a shell session<br />
* enter the .ssh subdirectory into your home directory: <code>cd ~/.ssh/</code><br />
* launch the following command: <br><pre>ssh-keygen -t rsa -C "username@myhost.com" -f username@myhost.com</pre><br />
* this command creates the files <code>~/.ssh/username@myhost.com</code> ('''private key''') and <code>~/.ssh/username@myhost.com.pub</code> ('''public key''')<br />
* edit your <code>~/.ssh/config</code> adding the following lines:<br />
<br />
<pre><br />
Host git.dave.eu<br />
User git<br />
Hostname git.dave.eu<br />
PreferredAuthentications publickey<br />
IdentityFile ~/.ssh/username@myhost.com<br />
</pre><br />
<br />
Please send the public key file to one of the following email support addresses (depending on which SOM is included in your kit version)<br />
<br />
* [mailto:support-axel@dave.eu support-axel@dave.eu]<br />
<br />
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.<br />
<br />
==== Synchronizing the repository ====<br />
<br />
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:<br />
<br />
<pre class="workstation-terminal"><br />
dvdk@dvdk-vm:~$ cd /home/dvdk/axel/linux/<br />
dvdk@dvdk-vm:/home/dvdk/axel/linux$ git fetch origin<br />
</pre><br />
<br />
Please note that <code>git fetch</code> doesn't merge the commits on the current branch. To do that, you should run <br />
<br />
<pre class="workstation-terminal"><br />
git merge origin/axel<br />
</pre><br />
<br />
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].<br />
<br />
== Release types ==<br />
<br />
XELK release type can be:<br />
* '''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<br />
* '''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<br />
<br />
As an example, XELK 2.2.0 is a maintenance release, so it provides the DVDK released with the 2.0.0 major release; customers can easily upgrade to the 2.2.0 release by updating the software components as described in [[Axel_Embedded_Linux_Kit_(XELK)#XELK_Updates|XELK Updates]].<br />
<br />
== Release notes ==<br />
<br />
{{ImportantMessage|text=After the XELK DVDK installation, please check for updates of the source tree repositories provided with the kit, as described in [[Axel_Embedded_Linux_Kit_(XELK)#XELK_Updates | XELK Updates]].}}<br />
<br />
=== XELK 4.0.0 ===<br />
<br />
* Release date: N.A.<br />
* Status: Working In Progress<br />
* NXP Linux BSP: L4.9.11-1.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu, SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=New MVM must be installed for using XELK-4.0.0. The VM is available for download on DAVE's XELK Reserved Area for registered users.}}<br />
<br />
* Major change to NXP BSP 4.9.11<br />
* Updated u-boot and kernel versions<br />
* Updated Yocto version<br />
* Updated Qt version<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|NAND Samsung<br />
|NAND Model K9F4G08U0D not detected in u-boot<br />
|-<br />
|}<br />
<br />
=== XELK 3.5.0 ===<br />
<br />
* Release date: 04/2019<br />
* Status: Released<br />
* NXP Linux BSP: L4.1.15-2.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu, SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=NXP iMX6 silicon revision 1.4 limited the u-boot binary size (due to bug fix in bootrom code). This required the switch to u-boot <b>SPL</b> version (first and second stage).}}<br />
<br />
* Major change to u-boot SPL version<br />
* Updated u-boot version<br />
<br />
=== XELK 3.0.1 ===<br />
<br />
* Release date: 17/11/2017<br />
* Status: released<br />
* NXP Linux BSP: L4.1.15-2.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu, SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=New MVM must be installed for using XELK-3.0.1. The VM is available for download on DAVE's XELK Reserved Area for registered users.}}<br />
<br />
* Major change to NXP BSP 4.1.15<br />
* Updated u-boot and kernel versions<br />
* Updated Yocto version<br />
* Updated Qt version<br />
<br />
=== XELK 2.3.1 ===<br />
<br />
* Release date: 18/10/2016<br />
* Status: released<br />
* Freescale Linux BSP: L3.10.17-1.0.3<br />
* Supported carrier boards: SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=It's highly recommended to read the [[ConfigID and UniqueID]] page.}}<br />
<br />
* Added support for other ConfigID splash screen on u-boot<br />
* Added support for other ConfigID on linux with related device-tree source code and binaries<br />
* Bug fixes and minor changes<br />
<br />
=== XELK 2.2.0 ===<br />
<br />
* Release date: 03/02/2016<br />
* Status: released<br />
* Freescale Linux BSP: L3.10.17-1.0.3<br />
* Supported carrier boards: AxelEVB-Lite on Dacu, SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=It's highly recommended to read the [[ConfigID and UniqueID]] page.}}<br />
<br />
* Added splash screen support in U-Boot<br />
* Added support for SBCX carrier board<br />
* Updated u-boot and kernel versions<br />
* Bug fixes and minor changes<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software (not on SBC AXEL)<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10). SBC AXEL is not affected by this issue.<br />
|-<br />
|Ethernet<br />
|10 Mbps connections have not been tested<br />
|-<br />
|}<br />
<br />
=== XELK 2.1.0 ===<br />
<br />
* Release date: 04/05/2015<br />
* Status: released<br />
* Freescale Linux BSP: L3.10.17-1.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=It's highly recommended to read the [[ConfigID and UniqueID]] page.}}<br />
<br />
* Updated u-boot and kernel versions<br />
* Bug fixes and minor changes<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|10 Mbps connections have not been tested<br />
|-<br />
|}<br />
<br />
=== XELK 2.0.0 ===<br />
<br />
* Release date: 26/11/2014<br />
* Status: released<br />
* Freescale Linux BSP: L3.10.17-1.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
<br />
==== Notes ====<br />
<br />
* Added support for Yocto 1.5<br />
* Updated u-boot and kernel versions<br />
* Bug fixes and minor changes<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
| ETH0 interface<br />
| On AxelEVB-Lite, there is a mistake in the connection of the center tap pins. They should be separated from one another and connected through separate 0.1μF common-mode capacitors to ground (for further details (eg: connection and selection of the magnetics), please refer to the Micrel KSZ9031RNX datasheet).<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|10 Mbps connections have not been tested<br />
|-<br />
|}<br />
<br />
=== XELK 1.2.0 ===<br />
<br />
* Release date: 20/05/2014<br />
* Status: released<br />
* Freescale Linux BSP: L3.0.35-4.1.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
<br />
==== Notes ====<br />
<br />
* Added support for Axel Lite SOM<br />
* Bug fixes and minor changes<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|SD1<br />
|SD1 interface (available on the Axel Lite adapter board as microSD connector) detects the card only if it is inserted before booting Linux<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|10 Mbps connections have not been tested<br />
|-<br />
|}<br />
<br />
=== XELK 1.1.0 ===<br />
<br />
* Release date: January, 29th 2014<br />
* Status: released<br />
* Freescale Linux BSP: L3.0.35-4.1.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
<br />
==== Notes ====<br />
<br />
* Minor update that adds support for more peripherals: nand, rtc, i2c, spi<br />
* Touch screen works properly<br />
* CAN works @ 1Mbps<br />
* The system can boot from SD<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|Boot modes<br />
|This kit version supports boot from USB (for recovery purpose), from SPI nor flash and from SD card. Boot from NAND flash will be available on a future release.<br />
|-<br />
|CPU cores<br />
|Max 2 cores. 3rd and 4th cores will be available on a future release.<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|Verified speeds: 1 Gbps and 100 Mbps<br />
|-<br />
|}<br />
<br />
=== XELK 1.0.0 ===<br />
<br />
* Release date: November, 4th 2013<br />
* Status: released<br />
* Freescale Linux BSP: L3.0.35-4.1.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
==== Notes ====<br />
<br />
* First official release<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|Boot modes<br />
|This kit version supports boot from USB (for recovery purpose) and from SPI nor flash. Other boot devices (MicroSD, NAND flash, ..) will be available on a future release.<br />
|-<br />
|CPU cores<br />
|Max 2 cores. 3rd and 4th cores will be available on a future release.<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|Verified speeds: 1 Gbps and 100 Mbps<br />
|-<br />
|CAN<br />
|Maximum supported speed: 500 kbps<br />
|-<br />
|Touch controller<br />
|Touch events are detected, but touch point is not resolved with precision<br />
|-<br />
|}<br />
<br />
== Quick start guide ==<br />
This chapter describes how to quickly start working with the XELK kit. The following paragraphs will guide you through the setup and installation procedures.<br />
<br />
===Kit registration===<br />
{{ImportantMessage|text='''Customers are strongly recommended to register their kits'''. Registration grants access to reserved material such as source code and additional documentation.}}<br />
<br />
To register the kit, please send an email to [mailto:support-axel@dave.eu support-axel@dave.eu], [[Development_Kits_Identification_Codes|providing the kit P/N and S/N]].<br />
<br />
If you also wish to access git repositories containing source code, please follow the procedure described [[Accessing_DAVE_Embedded_Systems_restricted_git_repositories|here]].<br />
<br />
===Target setup and first boot===<br />
This section describes how to quick start the AxelEVB board delivered along with XELK kit (see also the following image). The hardware setup is the same for AxelUltra and AxelLite SOMs.<br />
[[File:AxelUltra-AxelEVB.jpg|thumb|center|600px|Axel Ultra/AxelEVB setup]]<br />
The microSD provided with the XELK can be used to boot the system, since it contains a bootable partition (<code>mmcblk0p1</code>) and a root file system partition (<code>mmcblk0p2</code>).<br />
#Insert the MicroSD card provided with the development kit into the microSD slot<br />
#Connect the 12V power supply to the JP2 socket on the DACU board<br />
#(optional) To access the serial console:<br />
#*Connect a serial cable between the J251 connector on the DACU board and PC COM port through a null-modem (https://en.wikipedia.org/wiki/Null_modem) cable (not provided)<br />
#*Start your favorite terminal software on hist side; communication parameters are:<br />
#**Baud rate: 115200 Bps<br />
#**Data bits: 8<br />
#**Stop bits: 1<br />
#**Parity: none<br />
#(optional) To connect the system to Ethernet LAN, please plug cable on connector J6 connector of the AXELEVB-Lite<br />
<br />
By default, the system is configured to boot automatically from the microSD card when powered up.<br />
<br />
===Binary images on SD card===<br />
XELK SD card contains all binary images required for booting the system completely from kernel/dtb (stored on first SD <code>fat</code> card partition) to <code>ext3</code> root file system (stored on second SD card partition).<br />
<br />
Once you got the new binaries compiled from your modified sources, they have to be installed on first SD partition preserving the original file names used into <i>boot.scr</i> u-boot bootscript.<br />
<br />
Otherwise, you may create a new '''boot.scr''' file using different file names. Here below there is an example on how to create a boot.scr file for booting from SD card:<br />
<br />
The '''bootscript.txt''' is the text version of the <i>boot.scr</i> file:<br />
<br />
<pre><br />
echo 'bootscript generated with command "mkimage -A ARM -T script -C none -n XELK -d bootscript.txt boot.scr"'<br />
<br />
setenv fdtfile imx6q-xelk-l.dtb<br />
setenv bootfile uImage<br />
<br />
setenv mmc_loadk 'fatload mmc ${mmcdev}:1 ${loadaddr} ${bootfile}'<br />
setenv mmc_loadfdt 'fatload mmc ${mmcdev}:1 ${fdtaddr} ${fdtfile}'<br />
setenv mmcboot 'run mmc_loadk mmc_loadfdt mmcargs addip addcons addmisc adddisp0; bootm ${loadaddr} - ${fdtaddr}'<br />
<br />
echo Booting AxelLite-XELK via mmcboot<br />
<br />
run mmcboot<br />
<br />
echo mmcboot FAILURE<br />
</pre><br />
<br />
and compile it using:<br />
<br />
<pre><br />
mkimage -A ARM -T script -C none -n XELK -d bootscript.txt boot.scr<br />
</pre><br />
<br />
Then copy the kernel, dtb and boot.scr into the SD card first partion (the FAT one) and boot XELK with the new images.<br />
<br />
===Host setup===<br />
As stated previously, XELK host tools are based on a [[Managed_Virtual_Machine_(MVM)|Managed Virtual Machine]]. As indicated [[Axel_Embedded_Linux_Kit_(XELK)#XELK_microSD_Layout|here]], microSD card delivered along with XELK includes basic version of MVM that is the default option.<br />
<br />
Please follows the README file on the SD card to extract the ''*.ova'' archive and to install the MVM.<br />
<br />
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]].<br />
<br />
{{ImportantMessage|text=The MVM provides the tools required to build [[Building_U-Boot_(XELK)|U-boot]] and [[Building_Linux_kernel_(XELK)|Linux kernel]]. It does not include the tools required to run Yocto build system instead.}}<br />
<br />
XELK MVM can be downloaded [https://cloud.dave.eu/ws-reserved-area-xelk/XELK-3.0.1 here]. For accessing <b><i>XELK Reserved area</i></b> please contact our [mailto:sales@dave.eu sales department]<br />
<br />
===Target configuration for the development stage (<code>net_nfs</code>)===<br />
<br />
{{ImportantMessage|text=The default XELK Virtual Machine network configuration is using NAT: this allows to accessing external network (i.e. Internet) using the host computer's networking connection. <br />
For software development using <code>net_nfs</code> with tftp/nfs protocols, please configure your VM network interface in ''Bridge mode'' (see below)}}<br />
<br />
During the development stage, the target is usually connected via Ethernet LAN to the host machine and is configured to:<br />
*retrieve binary images (i.e. Linux kernel) via TFTP protocol<br />
*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]]. An example of ''Bridge mode'' configuration for DIVELK can be found [[Booting_from_NFS_(XELK) | here]]<br />
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]].<br />
<br />
For more details about TFTP and NFS servers on host side, please refer to this [[Setting_up_tftp_and_nfs|page]].<br />
<br />
===Target configuration for standalone boot===<br />
Please refer to [[Standalone_boot_(XELK)|this page]].<br />
<br />
==Related Documents ==<br />
<br />
* [[:Category:AxelUltra|AXEL ULTRA]]<br />
* [[:Category:AxelLite|AXEL LITE]]<br />
* [[AxelEVB-Lite | AxelEVB-Lite]]<br />
* [[FAQs_(Axel) | Axel FAQs]]<br />
* [[Hardware Manual (AxelUltra) | Axel Ultra Hardware Manual]]<br />
* [[Hardware Manual (AxelLite) | Axel Lite Hardware Manual]]<br />
* [[:Category:Dacu | Dacu category page]]<br />
* [[Dacu | Dacu carrier board]]<br />
* [[Dacu_for_the_Axel_SOM | Dacu for the Axel SOM]]<br />
<br />
[[Category:SBC-AXEL]]</div>
U0017
https://wiki.dave.eu/index.php?title=Axel_Embedded_Linux_Kit_(XELK)&diff=8702
Axel Embedded Linux Kit (XELK)
2019-07-26T14:04:44Z
<p>U0017: /* Notes */</p>
<hr />
<div>{{InfoBoxTop}}<br />
{{AppliesToDacu}}<br />
{{AppliesToAxel}}<br />
{{AppliesToAxelLite}}<br />
{{AppliesToAxelEsatta}}<br />
{{InfoBoxBottom}}<br />
<br />
==Introduction==<br />
{{ImportantMessage|text='''Customers are strongly recommended to register their kits'''. Registration grants access to reserved material such as source code and additional documentation.<br />
<br />
To register the kit, please send an email to [mailto:support-axel@dave.eu support-axel@dave.eu], [[Development_Kits_Identification_Codes|providing the kit P/N and S/N]].}}<br />
<br />
[[File:Axel-on-evb-02.png|500px]]<br />
<br />
Axel Embedded Linux Kit (XELK for short) provides all the necessary components required to set up the developing environment to:<br />
* build the bootloader (U-Boot)<br />
* build and run Linux operating system on Axel-based systems<br />
* build Linux applications that will run on the target.<br />
The main kit components are:<br />
* hardware platform composed of<br />
** Axel system-on-module (SOM for short)<br />
** AxelEVB-Lite plugged on Dacu carrier board<br />
** 800x480 7" LVDS display <br />
* Development virtual machine containing:<br />
** Toolchain<br />
** U-Boot bootloader sources<br />
** Linux kernel sources<br />
** Root file systems<br />
* Technical documentation such hardware manuals, mechanical drawings, reference schematics, application notes etc. <br />
<br />
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 Axel hardware characteristics, please refer to the Axel Hardware Manual. An account for the reserved area of [http://www.dave.eu '''DAVE Embedded Systems''' website] is required to access the kit contents.<br />
<br />
==Kit Contents==<br />
<br />
{| class="wikitable" <br />
|-<br />
!Component<br />
!Description<br />
!Notes<br />
|-<br />
| style="text-align: center;" | [[File:Axel-01.png|60px]]<br />
|Axel Ultra SOM (or Axel Lite SOM) <br>CPU: Freescale i.MX6<br>SDRAM: 2 GB DDR3<br>NOR: bootable SPI flash 32 MB<br>NAND: 1GB<br />
|Please refer to [[Hardware Manual (AxelUltra) | Axel Ultra Hardware Manual]]<br />
|-<br />
| style="text-align: center;" | [[File:Axelevb-lite-01.png|60px]]<br />
|AxelEVB-Lite Carrier board<br />
|Please refer to [[AxelEVB-Lite | AxelEVB-Lite]] page<br />
|-<br />
| style="text-align: center;" | [[File:Dacu-top-view.png|80px]]<br />
|Dacu Carrier board<br />
|Please refer to [[Dacu | Dacu]] page<br />
|-<br />
| style="text-align: center;" | [[File:Display.jpg|60px]]<br />
|Ampire AM-800480STMQW<br>7” 800x480 LCD display<br>LVDS interface<br />
|Please refer to [[XELK Quick Start Guide]]<br />
|-<br />
| style="text-align: center;" | [[File:Alimentatore.jpg|40px]]<br />
|AC/DC Single Output Wall Mount adapter<br>Output: +12V – 2.0 A<br />
|Please refer to [[XELK Quick Start Guide]]<br />
|-<br />
| style="text-align: center;" | [[File:Cavetto-seriale2.jpg|50px]]<br />
|DB9 Male Serial port adapter<br />
|Please refer to [[XELK Quick Start Guide]]<br />
|-<br />
| style="text-align: center;" | [[File:ProdSDC-MBLY-thumb.png|50px]]<br />
|MicroSDHC card with SD adapter and USB adapter<br />
|Please refer to [[XELK Quick Start Guide]]<br />
|-<br />
|}<br />
<br />
== XELK software components ==<br />
<br />
'''DAVE Embedded Systems''' adds to the latest Linux BSP from NXP/Freescale the customization required to support the Axel platform. For this reason most of the documentation provided by NXP/Freescale remains valid for the XELK development kit. However, some customization is required, in particular at bootloader and linux kernel levels.<br />
<br />
The following table reports the XELK releases information.<br />
{| class="wikitable" <br />
!<br />
! colspan="10" | XELK version<br />
|-<br />
|Release number<br />
|1.0.0<br />
|1.1.0<br />
|1.2.0<br />
|2.0.0<br />
|2.1.0<br />
|2.2.0<br />
|2.3.1<br />
|3.0.1<br />
|3.5.0<br />
|4.0.0<br />
|-<br />
|Release type<br />
|Major<br />
|Maintenance<br />
|Maintenance<br />
|Major<br />
|Maintenance<br />
|Maintenance<br />
|Maintenance<br />
|Major<br />
|Maintenance<br />
|Major<br />
|-<br />
|Status<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|In progress<br />
|-<br />
|Release date<br />
|November, 4th 2013<br />
|January 2014<br />
|May 2014<br />
|November 2014<br />
|May 2015<br />
|February 2016<br />
|October 2016<br />
|November 2017<br />
|April 2019<br />
|Q3 2019<br />
|-<br />
|'''Release notes'''<br />
|[[#XELK 1.0.0 | Ver 1.0.0]]<br />
|[[#XELK 1.1.0 | Ver 1.1.0]]<br />
|[[#XELK 1.2.0 | Ver 1.2.0]]<br />
|[[#XELK 2.0.0 | Ver 2.0.0]]<br />
|[[#XELK 2.1.0 | Ver 2.1.0]]<br />
|[[#XELK 2.2.0 | Ver 2.2.0]]<br />
|[[#XELK 2.3.1 | Ver 2.3.1]]<br />
|[[#XELK 3.0.1 | Ver 3.0.1]]<br />
|[[#XELK 3.5.0 | Ver 3.5.0]]<br />
|[[#XELK 4.0.0 | Ver 4.0.0]]<br />
|-<br />
|SOM PCB version<br />
|Axel Ultra: CS030713<br />
|Axel Ultra: CS030713A<br />
|Axel Ultra: CS030713A<br>Axel Lite: CS335013A<br />
|Axel Ultra: CS030713A<br>Axel Lite: CS335013A<br />
|Axel Ultra: CS030713B<br>Axel Lite: CS335013A<br />
|Axel Ultra: CS030713B<br>Axel Lite: CS335013A<br />
|Axel Ultra: CS030713B<br>Axel Lite: CS335013A<br>Axel Lite: CS335013C<br />
|Axel Lite: CS335013A<br>Axel Lite: CS335013C<br />
|Axel Lite: CS335013A<br>Axel Lite: CS335013C<br />
|Axel Lite: CS335013A<br>Axel Lite: CS335013C<br />
|--<br />
|Supported carrier boards<br />
|<span class="plainlinks">[{{fullurl:AxelEVB-Lite|oldid=2970}} AxelEVB-Lite]</span><br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|-<br />
|U-Boot version<br />
|2013.10-xelk-1.0.0<br />
|2013.10-xelk-1.1.0<br />
|2013.10-xelk-1.2.0<br />
|2013.04-xelk-2.0.0<br />
|2013.04-xelk-2.1.0<br />
|2013.04-xelk-2.2.0<br />
|2013.04-xelk-2.3.1<br />
|2016.03-xelk-3.0.2<br />
|2016.03-xelk-3.5.0<br />
|2017.03-xelk-4.0.0<br />
|-<br />
|Linux version<br />
|3.0.35-xelk-1.0.0<br />
|3.0.35-xelk-1.1.0<br />
|3.0.35-xelk-1.2.0<br />
|3.10.17-xelk-2.0.0<br />
|3.10.17-xelk-2.1.0<br />
|3.10.17-xelk-2.2.0<br />
|3.10.17-xelk-2.3.1<br />
|4.1.15-xelk-3.0.0<br />
|4.1.15-xelk-3.0.0<br />
|4.9.11-xelk-4.0.0<br />
|-<br />
|Drivers<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br>SPL boot[2]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br>SPL boot[2]<br />
|-<br />
|NXP/Freescale BSP version<br />
|L3.0.35-4.1.0<br />
|L3.0.35-4.1.0<br />
|L3.0.35-4.1.0 <br />
|L3.10.17-1.0.0<br />
|L3.10.17-1.0.0<br />
|L3.10.17-1.0.3<br />
|L3.10.17-1.0.3<br />
|L4.1.15-2.0.0<br />
|L4.1.15-2.0.0<br />
|L4.9.11_1.0.0<br />
|-<br />
|Graphic libraries<br />
|Qt 4.8<br />
|Qt 4.8<br />
|Qt 4.8<br />
|Qt 5.3.2<br />
|Qt 5.3.2<br />
|Qt 5.3.2<br />
|Qt 5.3.2<br />
|Qt 5.6.2<br />
|Qt 5.6.2<br />
|Qt 5.9.8<br />
|-<br />
|Build System<br />
|LTIB<br />
|LTIB<br />
|LTIB<br />
|Yocto Dora (1.5) <br />
|Yocto Dora (1.5) <br />
|Yocto Dora (1.5) <br />
|Yocto Dora (1.5) <br />
|Yocto Krogoth (2.1)<br />
|Yocto Krogoth (2.1)<br />
|Yocto Morty (2.2)<br />
|-<br />
|Android<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|Kitkat 4.4.2<br />
|Marshmallow 6.0.1<br />
|Marshmallow 6.0.1<br />
|<br />
|}<br />
<br />
[1] Splashscreen on LVDS0<br />
<br />
[2] U-Boot SPL version<br />
<br />
====Downloadable binary images====<br />
<br />
<br />
All binary images for XELK are hosted on [[mirror:axel|DAVE Embedded System mirror server]]. There you can find a sub directory for each version of this development kit.<br />
<br />
A summary of images with a brief description can be found into the table below:<br />
<br />
{{ImportantMessage|text=In order to boot Linux from SD card files, '''the binary files must be renamed''' as follows:<br />
*bootscript: <code>boot.scr</code><br />
<br />
U-boot file <code>u-boot.imx</code> must be stored into first raw sector of the SD card using <code>dd</code> command<br />
<br />
Since XELK-3.5.0 U-boot performs 2-stage bootloader providing two files: SPL and u-boot.img.<br />
<br />
Both two files must be stored into SD card using <code>dd</code> command}} <br />
{| class="wikitable"<br />
|-<br />
! Image !! colspan="5" |XELK version 2.3.1<br />
|-<br />
| Platform || XELK rev.A || SBCX rev.A || SBCX rev.A || SBCX rev.B || SBCX rev.B<br />
|-<br />
| Carrier Board [[ConfigID_and_UniqueID | ConfigID]]|| 0001 || 0002 || 0003 || 0012 || 0013<br />
|-<br />
| LCD panel || colspan="5" style="text-align: center" | Ampire 800 x 480 7" LVDS 262K colors (RGB666)<br>(AM-800480STMQW-TA1 or AM-800480SETMQW-TA1H)<br />
|-<br />
| Touchscreen || colspan="1" | resistive || colspan="1" | resistive || colspan="1" | capacitive || colspan="1" | resistive || colspan="1" style="text-align: center" | capacitive<br />
|-<br />
| bootscript || colspan="1" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_boot.scr|boot.scr]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_sbcx_boot.scr|boot.scr]]<br />
|-<br />
| U-Boot || colspan="1" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_mx6qaxel_spi_u-boot.imx|u-boot (Quad - boot from NOR)]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_mx6dlaxel_nand_u-boot.imx|u-boot (DualLite - boot from NAND)]] <br />
|-<br />
| Linux kernel || colspan="5" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_uImage|uImage]]<br />
|-<br />
| Linux kernel<br>(Android 4.4.2) || colspan="5" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.0-andr_uImage|uImage]]<br />
|-<br />
| Device tree (Quad processor) || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6q-xelk-l.dtb|imx6q-xelk-l.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6q-sbcx.dtb|imx6q-sbcx-cb0002.dtb]] || Not available || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6q-sbcx-cb0012.dtb|imx6q-sbcx-cb0012.dtb]] || Not available<br />
|-<br />
| Device tree (DualLite processor) || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-xelk-l.dtb|imx6dl-xelk-l.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-sbcx.dtb|imx6dl-sbcx-cb0002.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-sbcx-cb0003.dtb|imx6dl-sbcx-cb0003.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-sbcx-cb0012.dtb|imx6dl-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-sbcx-cb0013.dtb|imx6dl-sbcx-cb0013.dtb]]<br />
|}<br />
{| class="wikitable"<br />
|-<br />
! Image !! colspan="5" |XELK version 3.0.1<br />
|-<br />
| Platform || XELK rev.A || SBCX rev.B || SBCX rev.B<br />
|-<br />
| Carrier Board [[ConfigID_and_UniqueID | ConfigID]]|| 0001 || 0012 || 0013<br />
|-<br />
| LCD panel || colspan="5" style="text-align: center" | Ampire 800 x 480 7" LVDS 262K colors (RGB666)<br>(AM-800480STMQW-TA1 or AM-800480SETMQW-TA1H)<br />
|-<br />
| Touchscreen || colspan="1" | resistive || colspan="1" | resistive || colspan="1" style="text-align: center" | capacitive<br />
|-<br />
| bootscript || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.1_boot.scr|boot.scr]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.1_boot.scr|boot.scr]]<br />
|-<br />
| U-Boot || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.2_mx6qaxel_spi_u-boot.imx|u-boot (Quad - boot from NOR)]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.2_mx6dlaxel_nand_u-boot.imx|u-boot (DualLite - boot from NAND)]] <br />
|-<br />
| Linux kernel || colspan="5" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.0_uImage|uImage]]<br />
|-<br />
| Device tree (Quad processor) || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6q-xelk-l.dtb|imx6q-xelk-l.dtb]] || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6q-sbcx-cb0012.dtb|imx6q-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6q-sbcx-cb0013.dtb|imx6q-sbcx-cb0013.dtb]]<br />
|-<br />
| Device tree (DualLite processor) || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6dl-xelk-l.dtb|imx6dl-xelk-l.dtb]] || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6dl-sbcx-cb0012.dtb|imx6dl-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6dl-sbcx-cb0013.dtb|imx6dl-sbcx-cb0013.dtb]]<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
! Image !! colspan="3" |XELK version 3.5.0 (QUAD/DUAL LITE)<br />
|-<br />
| Platform || colspan="2" style="text-align: center" |XELK / SBCX<br />
|-<br />
| U-Boot SPL || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.5.0/xelk-3.5.0_mx6qdlaxel_spi_SPL|SPL (boot from NOR)]] || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.5.0/xelk-3.5.0_mx6qdlaxel_nand_SPL|SPL (boot from NAND)]] <br />
|-<br />
| U-Boot img || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.5.0/xelk-3.5.0_mx6qdlaxel_spi_u-boot.img| img (boot from NOR)]] || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.5.0/xelk-3.5.0_mx6qdlaxel_nand_u-boot.img|img (boot from NAND)]] <br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
! Image !! colspan="5" |XELK version 4.0.0<br />
|-<br />
| Platform || XELK rev.A || SBCX rev.B || SBCX rev.B<br />
|-<br />
| Carrier Board [[ConfigID_and_UniqueID | ConfigID]]|| 0001 || 0012 || 0013<br />
|-<br />
| LCD panel || colspan="5" style="text-align: center" | Ampire 800 x 480 7" LVDS 262K colors (RGB666)<br>(AM-800480STMQW-TA1 or AM-800480SETMQW-TA1H)<br />
|-<br />
| Touchscreen || colspan="1" | resistive || colspan="1" | resistive || colspan="1" style="text-align: center" | capacitive<br />
|-<br />
| bootscript || colspan="1" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_boot.scr|boot.scr]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_boot.scr|boot.scr]]<br />
|-<br />
| U-Boot SPL || colspan="1" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_mx6qdlaxel_spi_SPL|SPL (Quad - boot from NOR)]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_mx6qdlaxel_nand_SPL|SPL (DualLite - boot from NAND)]] <br />
|-<br />
| U-Boot || colspan="1" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_mx6qdlaxel_spi_u-boot.img|img (Quad - boot from NOR)]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_mx6qdlaxel_nand_u-boot.img|img (DualLite - boot from NAND)]] <br />
|-<br />
| Linux kernel || colspan="5" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_uImage|uImage]]<br />
|-<br />
| Device tree (Quad processor) || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6q-xelk-l-2.0.0.dtb|imx6q-xelk-l-2.0.0.dtb]] || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6q-sbcx-cb0012.dtb|imx6q-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6q-sbcx-cb0013.dtb|imx6q-sbcx-cb0013.dtb]]<br />
|-<br />
| Device tree (DualLite processor) || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6dl-xelk-l.dtb|imx6dl-xelk-l.dtb]] || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6dl-sbcx-cb0012.dtb|imx6dl-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6dl-sbcx-cb0013.dtb|imx6dl-sbcx-cb0013.dtb]]<br />
|}<br />
<br />
==== XELK microSD Layout ====<br />
<br />
The microSD provided with XELK is used to store:<br />
* A bootable partition (mmcblk0p1, vfat) containing:<br />
** binary images (u-boot and kernel images)<br />
** XELK documentation<br />
** XELK DVDK virtual machine image<br />
* XELK root file system partition (mmcblk0p2, ext3)<br />
<br />
XELK contains all 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:<br />
<br />
* VirtualBox virtual machine (.OVA archive)<br />
* Based on Lubuntu 14.04 LTS (64-bit version)<br />
* Pre-installed VirtualBox Guest Additions<br />
* LXDE desktop environment<br />
* Boot disk with the distro and pre-configured basic Linux services:<br />
** TFTP: with base directory /srv/tftp/<br />
** NFS: configured through the /etc/exports file<br />
* Secondary disk containing source code and tools:<br />
** Bootloader (u-boot) source tree cloned from DAVE Embedded Systems public git repository <br />
** Linux kernel source tree cloned from DAVE Embedded Systems public git repository<br />
** External pre-built toolchain<br />
** Yocto bsp for AXEL<br />
* Pre-installed Yocto-based root file systems with setup scripts, makefiles, example applications, ...<br />
* 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)<br />
<br />
Please note that XELK u-boot and kernel source trees are derived from the official trees released by NXP/Freescale; these trees have been customized to add support for the Axel SOM.<br />
<br />
=== XELK Updates ===<br />
<br />
{{ImportantMessage|text=It's recommended to use the latest available XELK version. Please refer to [[Axel_Embedded_Linux_Kit_(XELK)#Release notes | Release notes]] for further information.}}<br />
<br />
==== Updating git repositories ====<br />
<br />
In XELK, the following source trees are clones of '''DAVE Embedded Systems''' public git repositories:<br />
<br />
{| class="wikitable" <br />
|-<br />
!| Component<br />
!GIT Remote<br />
!XELK Installation Directory<br />
|-<br />
|Linux<br />
|git@git.dave.eu:dave/axel/linux-2.6-imx.git<br />
|/home/dvdk/xelk/linux-2.6-imx<br />
|-<br />
|U-Boot<br />
|git@git.dave.eu:dave/axel/u-boot-imx.git<br />
|/home/dvdk/xelk/u-boot-imx<br />
|-<br />
|Yocto BSP<br />
|git@git.dave.eu:dave/axel/axel-bsp.git<br />
|/home/dvdk/xelk/axel-bsp<br />
|-<br />
|}<br />
<br />
This means that these components can be kept in sync and up to date with '''DAVE Embedded Systems''' repositories.<br />
<br />
==== RSA key generation ====<br />
<br />
Please follow the procedure reported below to generate the RSA ssh key:<br />
<br />
* select your username (ad es. username@myhost.com)<br />
* start the DVDK and login into the virtual machine<br />
* start a shell session<br />
* enter the .ssh subdirectory into your home directory: <code>cd ~/.ssh/</code><br />
* launch the following command: <br><pre>ssh-keygen -t rsa -C "username@myhost.com" -f username@myhost.com</pre><br />
* this command creates the files <code>~/.ssh/username@myhost.com</code> ('''private key''') and <code>~/.ssh/username@myhost.com.pub</code> ('''public key''')<br />
* edit your <code>~/.ssh/config</code> adding the following lines:<br />
<br />
<pre><br />
Host git.dave.eu<br />
User git<br />
Hostname git.dave.eu<br />
PreferredAuthentications publickey<br />
IdentityFile ~/.ssh/username@myhost.com<br />
</pre><br />
<br />
Please send the public key file to one of the following email support addresses (depending on which SOM is included in your kit version)<br />
<br />
* [mailto:support-axel@dave.eu support-axel@dave.eu]<br />
<br />
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.<br />
<br />
==== Synchronizing the repository ====<br />
<br />
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:<br />
<br />
<pre class="workstation-terminal"><br />
dvdk@dvdk-vm:~$ cd /home/dvdk/xelk/linux-2.6-imx/<br />
dvdk@dvdk-vm:/home/dvdk/xelk/linux-2.6-imx$ git fetch origin<br />
</pre><br />
<br />
Please note that <code>git fetch</code> doesn't merge the commits on the current branch. To do that, you should run <br />
<br />
<pre class="workstation-terminal"><br />
git merge origin/axel<br />
</pre><br />
<br />
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].<br />
<br />
== Release types ==<br />
<br />
XELK release type can be:<br />
* '''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<br />
* '''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<br />
<br />
As an example, XELK 2.2.0 is a maintenance release, so it provides the DVDK released with the 2.0.0 major release; customers can easily upgrade to the 2.2.0 release by updating the software components as described in [[Axel_Embedded_Linux_Kit_(XELK)#XELK_Updates|XELK Updates]].<br />
<br />
== Release notes ==<br />
<br />
{{ImportantMessage|text=After the XELK DVDK installation, please check for updates of the source tree repositories provided with the kit, as described in [[Axel_Embedded_Linux_Kit_(XELK)#XELK_Updates | XELK Updates]].}}<br />
<br />
=== XELK 4.0.0 ===<br />
<br />
* Release date: N.A.<br />
* Status: Working In Progress<br />
* NXP Linux BSP: L4.9.11-1.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu, SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=New MVM must be installed for using XELK-4.0.0. The VM is available for download on DAVE's XELK Reserved Area for registered users.}}<br />
<br />
* Major change to NXP BSP 4.9.11<br />
* Updated u-boot and kernel versions<br />
* Updated Yocto version<br />
* Updated Qt version<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|NAND Samsung<br />
|NAND Model K9F4G08U0D not detected in u-boot<br />
|-<br />
|}<br />
<br />
=== XELK 3.5.0 ===<br />
<br />
* Release date: 04/2019<br />
* Status: Released<br />
* NXP Linux BSP: L4.1.15-2.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu, SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=NXP iMX6 silicon revision 1.4 limited the u-boot binary size (due to bug fix in bootrom code). This required the switch to u-boot <b>SPL</b> version (first and second stage).}}<br />
<br />
* Major change to u-boot SPL version<br />
* Updated u-boot version<br />
<br />
=== XELK 3.0.1 ===<br />
<br />
* Release date: 17/11/2017<br />
* Status: released<br />
* NXP Linux BSP: L4.1.15-2.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu, SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=New MVM must be installed for using XELK-3.0.1. The VM is available for download on DAVE's XELK Reserved Area for registered users.}}<br />
<br />
* Major change to NXP BSP 4.1.15<br />
* Updated u-boot and kernel versions<br />
* Updated Yocto version<br />
* Updated Qt version<br />
<br />
=== XELK 2.3.1 ===<br />
<br />
* Release date: 18/10/2016<br />
* Status: released<br />
* Freescale Linux BSP: L3.10.17-1.0.3<br />
* Supported carrier boards: SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=It's highly recommended to read the [[ConfigID and UniqueID]] page.}}<br />
<br />
* Added support for other ConfigID splash screen on u-boot<br />
* Added support for other ConfigID on linux with related device-tree source code and binaries<br />
* Bug fixes and minor changes<br />
<br />
=== XELK 2.2.0 ===<br />
<br />
* Release date: 03/02/2016<br />
* Status: released<br />
* Freescale Linux BSP: L3.10.17-1.0.3<br />
* Supported carrier boards: AxelEVB-Lite on Dacu, SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=It's highly recommended to read the [[ConfigID and UniqueID]] page.}}<br />
<br />
* Added splash screen support in U-Boot<br />
* Added support for SBCX carrier board<br />
* Updated u-boot and kernel versions<br />
* Bug fixes and minor changes<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software (not on SBC AXEL)<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10). SBC AXEL is not affected by this issue.<br />
|-<br />
|Ethernet<br />
|10 Mbps connections have not been tested<br />
|-<br />
|}<br />
<br />
=== XELK 2.1.0 ===<br />
<br />
* Release date: 04/05/2015<br />
* Status: released<br />
* Freescale Linux BSP: L3.10.17-1.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=It's highly recommended to read the [[ConfigID and UniqueID]] page.}}<br />
<br />
* Updated u-boot and kernel versions<br />
* Bug fixes and minor changes<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|10 Mbps connections have not been tested<br />
|-<br />
|}<br />
<br />
=== XELK 2.0.0 ===<br />
<br />
* Release date: 26/11/2014<br />
* Status: released<br />
* Freescale Linux BSP: L3.10.17-1.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
<br />
==== Notes ====<br />
<br />
* Added support for Yocto 1.5<br />
* Updated u-boot and kernel versions<br />
* Bug fixes and minor changes<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
| ETH0 interface<br />
| On AxelEVB-Lite, there is a mistake in the connection of the center tap pins. They should be separated from one another and connected through separate 0.1μF common-mode capacitors to ground (for further details (eg: connection and selection of the magnetics), please refer to the Micrel KSZ9031RNX datasheet).<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|10 Mbps connections have not been tested<br />
|-<br />
|}<br />
<br />
=== XELK 1.2.0 ===<br />
<br />
* Release date: 20/05/2014<br />
* Status: released<br />
* Freescale Linux BSP: L3.0.35-4.1.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
<br />
==== Notes ====<br />
<br />
* Added support for Axel Lite SOM<br />
* Bug fixes and minor changes<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|SD1<br />
|SD1 interface (available on the Axel Lite adapter board as microSD connector) detects the card only if it is inserted before booting Linux<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|10 Mbps connections have not been tested<br />
|-<br />
|}<br />
<br />
=== XELK 1.1.0 ===<br />
<br />
* Release date: January, 29th 2014<br />
* Status: released<br />
* Freescale Linux BSP: L3.0.35-4.1.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
<br />
==== Notes ====<br />
<br />
* Minor update that adds support for more peripherals: nand, rtc, i2c, spi<br />
* Touch screen works properly<br />
* CAN works @ 1Mbps<br />
* The system can boot from SD<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|Boot modes<br />
|This kit version supports boot from USB (for recovery purpose), from SPI nor flash and from SD card. Boot from NAND flash will be available on a future release.<br />
|-<br />
|CPU cores<br />
|Max 2 cores. 3rd and 4th cores will be available on a future release.<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|Verified speeds: 1 Gbps and 100 Mbps<br />
|-<br />
|}<br />
<br />
=== XELK 1.0.0 ===<br />
<br />
* Release date: November, 4th 2013<br />
* Status: released<br />
* Freescale Linux BSP: L3.0.35-4.1.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
==== Notes ====<br />
<br />
* First official release<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|Boot modes<br />
|This kit version supports boot from USB (for recovery purpose) and from SPI nor flash. Other boot devices (MicroSD, NAND flash, ..) will be available on a future release.<br />
|-<br />
|CPU cores<br />
|Max 2 cores. 3rd and 4th cores will be available on a future release.<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|Verified speeds: 1 Gbps and 100 Mbps<br />
|-<br />
|CAN<br />
|Maximum supported speed: 500 kbps<br />
|-<br />
|Touch controller<br />
|Touch events are detected, but touch point is not resolved with precision<br />
|-<br />
|}<br />
<br />
== Quick start guide ==<br />
This chapter describes how to quickly start working with the XELK kit. The following paragraphs will guide you through the setup and installation procedures.<br />
<br />
===Kit registration===<br />
{{ImportantMessage|text='''Customers are strongly recommended to register their kits'''. Registration grants access to reserved material such as source code and additional documentation.}}<br />
<br />
To register the kit, please send an email to [mailto:support-axel@dave.eu support-axel@dave.eu], [[Development_Kits_Identification_Codes|providing the kit P/N and S/N]].<br />
<br />
If you also wish to access git repositories containing source code, please follow the procedure described [[Accessing_DAVE_Embedded_Systems_restricted_git_repositories|here]].<br />
<br />
===Target setup and first boot===<br />
This section describes how to quick start the AxelEVB board delivered along with XELK kit (see also the following image). The hardware setup is the same for AxelUltra and AxelLite SOMs.<br />
[[File:AxelUltra-AxelEVB.jpg|thumb|center|600px|Axel Ultra/AxelEVB setup]]<br />
The microSD provided with the XELK can be used to boot the system, since it contains a bootable partition (<code>mmcblk0p1</code>) and a root file system partition (<code>mmcblk0p2</code>).<br />
#Insert the MicroSD card provided with the development kit into the microSD slot<br />
#Connect the 12V power supply to the JP2 socket on the DACU board<br />
#(optional) To access the serial console:<br />
#*Connect a serial cable between the J251 connector on the DACU board and PC COM port through a null-modem (https://en.wikipedia.org/wiki/Null_modem) cable (not provided)<br />
#*Start your favorite terminal software on hist side; communication parameters are:<br />
#**Baud rate: 115200 Bps<br />
#**Data bits: 8<br />
#**Stop bits: 1<br />
#**Parity: none<br />
#(optional) To connect the system to Ethernet LAN, please plug cable on connector J6 connector of the AXELEVB-Lite<br />
<br />
By default, the system is configured to boot automatically from the microSD card when powered up.<br />
<br />
===Binary images on SD card===<br />
XELK SD card contains all binary images required for booting the system completely from kernel/dtb (stored on first SD <code>fat</code> card partition) to <code>ext3</code> root file system (stored on second SD card partition).<br />
<br />
Once you got the new binaries compiled from your modified sources, they have to be installed on first SD partition preserving the original file names used into <i>boot.scr</i> u-boot bootscript.<br />
<br />
Otherwise, you may create a new '''boot.scr''' file using different file names. Here below there is an example on how to create a boot.scr file for booting from SD card:<br />
<br />
The '''bootscript.txt''' is the text version of the <i>boot.scr</i> file:<br />
<br />
<pre><br />
echo 'bootscript generated with command "mkimage -A ARM -T script -C none -n XELK -d bootscript.txt boot.scr"'<br />
<br />
setenv fdtfile imx6q-xelk-l.dtb<br />
setenv bootfile uImage<br />
<br />
setenv mmc_loadk 'fatload mmc ${mmcdev}:1 ${loadaddr} ${bootfile}'<br />
setenv mmc_loadfdt 'fatload mmc ${mmcdev}:1 ${fdtaddr} ${fdtfile}'<br />
setenv mmcboot 'run mmc_loadk mmc_loadfdt mmcargs addip addcons addmisc adddisp0; bootm ${loadaddr} - ${fdtaddr}'<br />
<br />
echo Booting AxelLite-XELK via mmcboot<br />
<br />
run mmcboot<br />
<br />
echo mmcboot FAILURE<br />
</pre><br />
<br />
and compile it using:<br />
<br />
<pre><br />
mkimage -A ARM -T script -C none -n XELK -d bootscript.txt boot.scr<br />
</pre><br />
<br />
Then copy the kernel, dtb and boot.scr into the SD card first partion (the FAT one) and boot XELK with the new images.<br />
<br />
===Host setup===<br />
As stated previously, XELK host tools are based on a [[Managed_Virtual_Machine_(MVM)|Managed Virtual Machine]]. As indicated [[Axel_Embedded_Linux_Kit_(XELK)#XELK_microSD_Layout|here]], microSD card delivered along with XELK includes basic version of MVM that is the default option.<br />
<br />
Please follows the README file on the SD card to extract the ''*.ova'' archive and to install the MVM.<br />
<br />
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]].<br />
<br />
{{ImportantMessage|text=The MVM provides the tools required to build [[Building_U-Boot_(XELK)|U-boot]] and [[Building_Linux_kernel_(XELK)|Linux kernel]]. It does not include the tools required to run Yocto build system instead.}}<br />
<br />
XELK MVM can be downloaded [https://cloud.dave.eu/ws-reserved-area-xelk/XELK-3.0.1 here]. For accessing <b><i>XELK Reserved area</i></b> please contact our [mailto:sales@dave.eu sales department]<br />
<br />
===Target configuration for the development stage (<code>net_nfs</code>)===<br />
<br />
{{ImportantMessage|text=The default XELK Virtual Machine network configuration is using NAT: this allows to accessing external network (i.e. Internet) using the host computer's networking connection. <br />
For software development using <code>net_nfs</code> with tftp/nfs protocols, please configure your VM network interface in ''Bridge mode'' (see below)}}<br />
<br />
During the development stage, the target is usually connected via Ethernet LAN to the host machine and is configured to:<br />
*retrieve binary images (i.e. Linux kernel) via TFTP protocol<br />
*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]]. An example of ''Bridge mode'' configuration for DIVELK can be found [[Booting_from_NFS_(XELK) | here]]<br />
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]].<br />
<br />
For more details about TFTP and NFS servers on host side, please refer to this [[Setting_up_tftp_and_nfs|page]].<br />
<br />
===Target configuration for standalone boot===<br />
Please refer to [[Standalone_boot_(XELK)|this page]].<br />
<br />
==Related Documents ==<br />
<br />
* [[:Category:AxelUltra|AXEL ULTRA]]<br />
* [[:Category:AxelLite|AXEL LITE]]<br />
* [[AxelEVB-Lite | AxelEVB-Lite]]<br />
* [[FAQs_(Axel) | Axel FAQs]]<br />
* [[Hardware Manual (AxelUltra) | Axel Ultra Hardware Manual]]<br />
* [[Hardware Manual (AxelLite) | Axel Lite Hardware Manual]]<br />
* [[:Category:Dacu | Dacu category page]]<br />
* [[Dacu | Dacu carrier board]]<br />
* [[Dacu_for_the_Axel_SOM | Dacu for the Axel SOM]]<br />
<br />
[[Category:SBC-AXEL]]</div>
U0017
https://wiki.dave.eu/index.php?title=Standalone_boot_(XELK)&diff=8701
Standalone boot (XELK)
2019-07-22T12:31:05Z
<p>U0017: /* u-boot on NAND */</p>
<hr />
<div>{{InfoBoxTop}}<br />
{{AppliesToAxelLite}}<br />
{{InfoBoxBottom}}<br />
<br />
== History ==<br />
<br />
{| class="wikitable" border="1"<br />
!Version<br />
!Date<br />
!XELK version<br />
!Hardware Part Nr<br />
!Notes<br />
|-<br />
|{{oldid|7256|2.3.1}}<br />
|June 2017<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK_2.3.1|XELK 2.3.1]]<br />
|XELK 2.0.0<br />
|<br />
|-<br />
|{{oldid|7341|3.0.1}}<br />
|Nov 2017<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK_3.0.0|XELK 3.0.1]]<br />
|XELK 3.0.1<br />
|<br />
|-<br />
|4.0.0<br />
|July 2018<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK_4.0.0|XELK 4.0.0]]<br />
|XELK 4.0.0<br />
|<br />
|-<br />
|}<br />
<br />
<br />
== Introduction ==<br />
<br />
This document has been written and tested with the software/hardware combination described in the history table above. However it contains general concept that can be adapted on any DAVE Embedded Systems' Linux platform using the SPL.<br />
<br />
We'll explain how to program and configure a [[Category: AxelLite|Axel Lite]] to boot in standalone mode, without the need of a system microSD card or a NFS server, with two options:<br />
* booting with NOR + NAND<br />
** U-Boot will fetch Linux kernel binary images (kernel + device tree) from on-board NOR flash memory, while later the OS will mount the root file system from a NAND partition.<br />
* booting with NAND only<br />
** in this configuration the whole system will boot without the need of a NOR storage, all images and the root file system will be fetch from NAND.<br />
<br />
== Update u-boot ==<br />
<br />
In order to support the SPL, new additional uboot variables have been introduced.<br />
<br />
<pre class="board-terminal"><br />
=> print load_spl load_uboot spi_update_spl spi_update_uboot<br />
load_spl=tftp ${loadaddr} ${spl}<br />
load_uboot=tftp ${loaddr} ${ubootimg}<br />
spi_update_spl=sf probe; sf erase 0 10000;sf write ${loadaddr} 400 ${filesize}<br />
spi_update_uboot=sf probe; sf erase 10000 f0000;sf write ${loadaddr} 10000 ${filesize}<br />
</pre><br />
<br />
=== u-boot on NOR SPI ===<br />
Uboot can be flashed into NOR following the example below. Firstly, the SPL is fetched from the tftpserver and then it is flashed into the NOR SPL partition. Lastly, the same operation is performed for the uboot image.<br />
<pre><br />
=> run load_spl<br />
Using FEC device<br />
TFTP from server 192.168.0.82; our IP address is 192.168.0.83<br />
Filename 'xelk4/SPL.spi'.<br />
Load address: 0x12000000<br />
Loading: ############<br />
335 KiB/s<br />
done<br />
Bytes transferred = 56320 (dc00 hex)<br />
=> run spi_update_spl <br />
SF: Detected s25fl256s_64k with page size 256 Bytes, erase size 64 KiB, total 32 MiB<br />
SF: 65536 bytes @ 0x0 Erased: OK<br />
device 0 offset 0x400, size 0xdc00<br />
SF: 56320 bytes @ 0x400 Written: OK<br />
=> run load_uboot <br />
Using FEC device<br />
TFTP from server 192.168.0.82; our IP address is 192.168.0.83<br />
Filename 'xelk4/u-boot.img.spi'.<br />
Load address: 0x12000000<br />
Loading: #################################################################<br />
################################<br />
1.2 MiB/s<br />
done<br />
Bytes transferred = 493272 (786d8 hex)<br />
=> run spi_update_uboot <br />
SF: Detected s25fl256s_64k with page size 256 Bytes, erase size 64 KiB, total 32 MiB<br />
SF: 983040 bytes @ 0x10000 Erased: OK<br />
device 0 offset 0x10000, size 0x786d8<br />
SF: 493272 bytes @ 0x10000 Written: OK<br />
</pre><br />
<br />
=== u-boot on NAND ===<br />
<br />
The SPL and u-boot image, must be flashed on NAND using the NXP <code>kobs-ng</code> utility. This tool is required for writing correct information needed by bootrom to identify the NAND as a boot device.<br />
<br />
The following steps are therefore necessary:<br />
* boot the system via SD on NFS<br />
* uses a rfs with <b>kobs-ng</b> utility available on it (e.g. DAVE's rfs provided with XELK)<br />
* copy the related u-boot ans SPL files on nfs /home/root (for example)<br />
* execute kobs-ng passing the parameters for flashing the SPL on NAND.<br />
* execute nandwrite to flash uboot image on NAND.<br />
<br />
<pre class="board-terminal"><br />
root@imx6dlxelk:~# kobs-ng -x -v -w <br />
MTD CONFIG:<br />
chip_0_device_path = "/dev/mtd0"<br />
chip_1_device_path = "(null)"<br />
search_exponent = 2<br />
data_setup_time = 80<br />
data_hold_time = 60<br />
address_setup_time = 25<br />
data_sample_time = 6<br />
row_address_size = 3<br />
column_address_size = 2<br />
read_command_code1 = 0<br />
read_command_code2 = 48<br />
boot_stream_major_version = 1<br />
boot_stream_minor_version = 0<br />
boot_stream_sub_version = 0<br />
ncb_version = 3<br />
boot_stream_1_address = 0<br />
boot_stream_2_address = 0<br />
unable to create a temporary file<br />
<br />
root@imx6dlxelk:~# kobs-ng -x -v -w SPL.nand <br />
MTD CONFIG:<br />
chip_0_device_path = "/dev/mtd0"<br />
chip_1_device_path = "(null)"<br />
search_exponent = 2<br />
data_setup_time = 80<br />
data_hold_time = 60<br />
address_setup_time = 25<br />
data_sample_time = 6<br />
row_address_size = 3<br />
column_a[ 171.755580] nand: nand_erase_nand: attempt to erase a bad block at page 0x00000000<br />
ddress_size = 2<br />
read_command_code1 = 0<br />
read_command_code2 = 48<br />
boot_stream_major_version = 1<br />
boot_stream_minor_version = 0<br />
boot_stream_sub_version = 0<br />
ncb_version = 3<br />
boot_stream_1_address = 0<br />
boot_stream_2_address = 0<br />
-- We add the 1k-padding to the uboot.<br />
.tmp_kobs_ng: verifying using key '00000000000000000000000000000000'<br />
.tmp_kobs_ng: is a valid bootstream for key '00000000000000000000000000000000'<br />
mtd: use new bch layout raw access mode<br />
mtd: opening: "/dev/mtd0"<br />
NFC geometry :<br />
ECC Strength : 2<br />
Page Size in Bytes : 2071<br />
Metadata size : 10<br />
ECC Chunk Size in byte : 512<br />
ECC Chunk count : 4<br />
Block Mark Byte Offset : 2028<br />
Block Mark Bit Offset : 2<br />
====================================================<br />
mtd: opened '/dev/mtd0' - '(null)'<br />
mtd: max_boot_stream_size_in_bytes = 524288<br />
mtd: boot_stream_size_in_bytes = 49152<br />
mtd: boot_stream_size_in_pages = 24<br />
mtd: #1 0x00100000 - 0x00180000 (0x0010c000)<br />
mtd: #2 0x00180000 - 0x00200000 (0x0018c000)<br />
FCB<br />
m_u32Checksum = 0x00000000<br />
m_u32FingerPrint = 0x20424346<br />
m_u32Version = 0x01000000<br />
m_NANDTiming.m_u8DataSetup = 80<br />
m_NANDTiming.m_u8DataHold = 60<br />
m_NANDTiming.m_u8AddressSetup = 25<br />
m_NANDTiming.m_u8DSAMPLE_TIME = 6<br />
m_u32PageDataSize = 2048<br />
m_u32TotalPageSize = 2112<br />
m_u32SectorsPerBlock = 64<br />
m_u32NumberOfNANDs = 0<br />
m_u32TotalInternalDie = 0<br />
m_u32CellType = 0<br />
m_u32EccBlockNEccType = 1<br />
m_u32EccBlock0Size = 512<br />
m_u32EccBlockNSize = 512<br />
m_u32EccBlock0EccType = 1<br />
m_u32MetadataBytes = 10<br />
m_u32NumEccBlocksPerPage = 3<br />
m_u32EccBlockNEccLevelSDK = 0<br />
m_u32EccBlock0SizeSDK = 0<br />
m_u32EccBlockNSizeSDK = 0<br />
m_u32EccBlock0EccLevelSDK = 0<br />
m_u32NumEccBlocksPerPageSDK = 0<br />
m_u32MetadataBytesSDK = 0<br />
m_u32EraseThreshold = 0<br />
m_u32Firmware1_startingPage = 512<br />
m_u32Firmware2_startingPage = 768<br />
m_u32PagesInFirmware1 = 24<br />
m_u32PagesInFirmware2 = 24<br />
m_u32DBBTSearchAreaStartAddress = 256<br />
m_u32BadBlockMarkerByte = 2028<br />
m_u32BadBlockMarkerStartBit = 2<br />
m_u32BBMarkerPhysicalOffset = 2048<br />
m_u32BCHType = 0<br />
m_NANDTMTiming.m_u32TMTiming2_ReadLatency = 0<br />
m_NANDTMTiming.m_u32TMTiming2_PreambleDelay = 0<br />
m_NANDTMTiming.m_u32TMTiming2_CEDelay = 0<br />
m_NANDTMTiming.m_u32TMTiming2_PostambleDelay = 0<br />
m_NANDTMTiming.m_u32TMTiming2_CmdAddPause = 0<br />
m_NANDTMTiming.m_u32TMTiming2_DataPause = 0<br />
m_NANDTMTiming.m_u32TMSpeed = 0<br />
m_NANDTMTiming.m_u32TMTiming1_BusyTimeout = 0<br />
m_u32DISBBM = 0<br />
m_u32BBMarkerPhysicalOffsetInSpareData = 0<br />
DBBT<br />
m_u32Checksum = 0x00000000<br />
m_u32FingerPrint = 0x54424244<br />
m_u32Version = 0x01000000<br />
m_u32DBBTNumOfPages = 0<br />
Firmware: image #0 @ 0x100000 size 0xc000 - available 0x80000<br />
Firmware: image #1 @ 0x180000 size 0xc000 - available 0x80000<br />
-------------- Start to write the [ FCB ] -----<br />
mtd: erasing @0:0x0-0x20000<br />
mtd: device 0 fails MEMERASE (0x0 - 0x20000)<br />
mtd: Failed to erase block @0x0<br />
mtd: erasing @0:0x20000-0x40000<br />
mtd: Writing FCB1 [ @0:0x20000 ] (840) *<br />
mtd: erasing @0:0x40000-0x60000<br />
mtd: Writing FCB2 [ @0:0x40000 ] (840) *<br />
mtd: erasing @0:0x60000-0x80000<br />
mtd: Writing FCB3 [ @0:0x60000 ] (840) *<br />
mtd_commit_bcb(FCB): status 1<br />
<br />
-------------- Start to write the [ DBBT ] -----<br />
mtd: erasing @0:0x80000-0xa0000<br />
mtd: Writing DBBT0 [ @0:0x80000 ] (800) *<br />
mtd: erasing @0:0xa0000-0xc0000<br />
mtd: Writing DBBT1 [ @0:0xa0000 ] (800) *<br />
mtd: erasing @0:0xc0000-0xe0000<br />
mtd: Writing DBBT2 [ @0:0xc0000 ] (800) *<br />
mtd: erasing @0:0xe0000-0x100000<br />
mtd: Writing DBBT3 [ @0:0xe0000 ] (800) *<br />
mtd_commit_bcb(DBBT): status 0<br />
<br />
---------- Start to write the [ .tmp_kobs_ng ]----<br />
mtd: Writting .tmp_kobs_ng: #0 @0: 0x00100000 - 0x0010c000<br />
mtd: erasing @0:0x100000-0x120000<br />
mtd: We write one page for save guard. *<br />
mtd: Writting .tmp_kobs_ng: #1 @0: 0x00180000 - 0x0018c000<br />
mtd: erasing @0:0x180000-0x1a0000<br />
mtd: We write one page for save guard. *<br />
<br />
root@imx6qxelk:~# flash_erase /dev/mtd1 0 0<br />
Erasing 128 Kibyte @ 5e0000 -- 100 % complete<br />
<br />
root@imx6dlxelk:~# nandwrite -p /dev/mtd1 u-boot.img.nand <br />
Writing data to block 0 at offset 0x0<br />
Writing data to block 1 at offset 0x20000<br />
Writing data to block 2 at offset 0x40000<br />
Writing data to block 3 at offset 0x60000<br />
</pre><br />
<br />
For more details, please refer to [[Booting_from_NAND_flash_on_i.MX6-based_platforms|this page]].<br />
<br />
== Program root file system in NAND flash ==<br />
<br />
This is a common step for both booting options. <br />
<br />
* Boot the system via SD or NFS as described into the [[XELK_Quick_Start_Guide|Quick_start_guide]]<br />
* By default, the NAND is already partitioned to allow booting from NAND-only (see next section) and, thus, some partitions are reserved for U-boot and kernel images. Here we won't modify this default configuration. The [[Memory Tecnology Device (MTD)|MTD]] partitions can be dumped with <code>/proc/mtd</code> (the partition's name should be self-explanatory)<br />
<br />
<br />
<pre class="board-terminal"><br />
root@imx6dlxelk:~# cat /proc/mtd <br />
dev: size erasesize name<br />
mtd0: 00200000 00020000 "nand-SPL"<br />
mtd1: 00600000 00020000 "nand-uboot"<br />
mtd2: 00100000 00020000 "nand-env1"<br />
mtd3: 00100000 00020000 "nand-env2"<br />
mtd4: 00100000 00020000 "nand-fdt"<br />
mtd5: 00100000 00020000 "nand-spare"<br />
mtd6: 00800000 00020000 "nand-kernel"<br />
mtd7: 00400000 00020000 "nand-splash"<br />
mtd8: 1e800000 00020000 "nand-ubi"<br />
mtd9: 00010000 00010000 "spi-SPL"<br />
mtd10: 000f0000 00010000 "spi-uboot"<br />
mtd11: 00040000 00010000 "spi-env1"<br />
mtd12: 00040000 00010000 "spi-env2"<br />
mtd13: 00080000 00010000 "spi-dtb"<br />
mtd14: 00800000 00010000 "spi-kernel"<br />
mtd15: 00400000 00010000 "spi-splash"<br />
mtd16: 01200000 00010000 "spi-free"<br />
</pre><br />
<br />
{{ImportantMessage|text=Please note that MTD partition index may change depending of flash device availability, flash device size, u-boot environment variables or kernel device driver load order. Always take care of looking inside <code>/proc/mtd</code> to match your specific layout}}<br />
<br />
<br />
* Format and initialize ''nand-ubi'' partition, which in our case is <code>mtd7</code>, using [[Memory Tecnology Device (MTD)#UBI|UBI]] with:<br />
<br />
<pre><br />
ubiformat /dev/mtd8<br />
ubiattach -m 8<br />
ubimkvol /dev/ubi0 -N rootfs -m<br />
</pre><br />
<br />
E.g.<br />
<br />
<pre class="board-terminal"><br />
root@axel-lite:~# ubiformat /dev/mtd8<br />
ubiformat: mtd8 (nand), size 511705088 bytes (488.0 MiB), 3904 eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 2048 bytes<br />
libscan: scanning eraseblock 3903 -- 100 % complete<br />
ubiformat: 3904 eraseblocks have valid erase counter, mean value is 31<br />
ubiformat: formatting eraseblock 3903 -- 100 % complete<br />
root@axel-lite:~# ubiattach -m 8<br />
[ 517.999286] UBI: attaching mtd8 to ubi0<br />
[ 524.468201] UBI: scanning is finished<br />
[ 524.498833] UBI: attached mtd8 (name "nand-ubi", size 488 MiB) to ubi0<br />
[ 524.505476] UBI: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes<br />
[ 524.512290] UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 2048<br />
[ 524.519046] UBI: VID header offset: 2048 (aligned 2048), data offset: 4096<br />
[ 524.525984] UBI: good PEBs: 3904, bad PEBs: 0, corrupted PEBs: 0<br />
[ 524.532010] UBI: user volume: 0, internal volumes: 1, max. volumes count: 128<br />
[ 524.539190] UBI: max/mean erase counter: 33/32, WL threshold: 4096, image sequence number: 483560195<br />
[ 524.548381] UBI: available PEBs: 3820, total reserved PEBs: 84, PEBs reserved for bad PEB handling: 80<br />
[ 524.557836] UBI: background thread "ubi_bgt0d" started, PID 856<br />
UBI device number 0, total 3904 LEBs (495714304 bytes, 472.8 MiB), available 3820 LEBs (485048320 bytes, 462.6 MiB), LEB size 126976 bytes (124.0 KiB)<br />
root@axel-lite:~# ubimkvol /dev/ubi0 -N rootfs -m<br />
Set volume size to 485048320<br />
Volume ID 0, size 3820 LEBs (485048320 bytes, 462.6 MiB), LEB size 126976 bytes (124.0 KiB), dynamic, name "rootfs", alignment 1<br />
root@axel-lite:~#<br />
</pre><br />
<br />
* Now mount the UBI volume using [[Memory Tecnology Device (MTD)#UBIFS|UBIFS]] in a temporary directory<br />
<br />
<pre><br />
mkdir -p /mnt/nand<br />
mount -t ubifs ubi0_0 /mnt/nand<br />
</pre><br />
<br />
E.g.:<br />
<br />
<pre class="board-terminal"><br />
root@axel-lite:~# mkdir -p /mnt/nand<br />
root@axel-lite:~# mount -t ubifs ubi0_0 /mnt/nand<br />
[ 553.177151] UBIFS: default file-system created<br />
[ 553.186049] UBIFS: background thread "ubifs_bgt0_0" started, PID 860<br />
[ 553.366834] UBIFS: mounted UBI device 0, volume 0, name "rootfs"<br />
[ 553.372931] UBIFS: LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes<br />
[ 553.382300] UBIFS: FS size: 483016704 bytes (460 MiB, 3804 LEBs), journal size 24252416 bytes (23 MiB, 191 LEBs)<br />
[ 553.392542] UBIFS: reserved for root: 4952683 bytes (4836 KiB)<br />
[ 553.398464] UBIFS: media format: w4/r0 (latest is w4/r0), UUID CB1521BE-B0D5-4CDA-B52A-25BAFDB755C2, small LPT model<br />
root@axel-lite:~#<br />
</pre><br />
<br />
* you can now extract the root file system into that directory<br />
<br />
<pre><br />
tar xvjf xelk-4.0.0_axel-fsl-image-qt5.tar.bz2 -C /mnt/nand<br />
</pre><br />
<br />
* finally, you need to cleanly umount and detach the MTD partition<br />
<br />
<pre><br />
umount /mnt/nand/<br />
ubidetach -m 8<br />
</pre><br />
<br />
E.g.<br />
<br />
<pre class="board-terminal"><br />
root@axel-lite:~# umount /mnt/nand/<br />
[ 575.115560] UBIFS: un-mount UBI device 0, volume 0<br />
[ 575.120424] UBIFS: background thread "ubifs_bgt0_0" stops<br />
root@axel-lite:~# ubidetach -m 8<br />
[ 575.171074] UBI: detaching mtd8 from ubi0<br />
[ 575.182401] UBI: mtd8 is detached from ubi0<br />
root@axel-lite:~#<br />
</pre><br />
<br />
You can now safely reboot or turn off the system.<br />
<br />
In U-Boot environment check the following variable, which must contain the same MTD partition number used above<br />
<br />
<pre><br />
nand_args=setenv bootargs ubi.mtd=8 root=ubi0_0 rootfstype=ubifs rw<br />
</pre><br />
<br />
== Program boot images ==<br />
<br />
=== NOR flash ===<br />
<br />
We assume that the following environment variables are present in u-boot:<br />
<br />
<pre><br />
loadk=tftpboot ${loadaddr} ${serverip}:${bootfile}<br />
loadfdt=tftpboot ${fdtaddr} ${serverip}:${fdtfile}<br />
spi_updatek=sf erase 200000 600000; sf write ${loadaddr} 200000 ${filesize}<br />
spi_updatefdt=sf erase 180000 80000; sf write ${fdtaddr} 180000 ${filesize}<br />
spi_loadk=sf read ${loadaddr} 200000 600000<br />
spi_loadfdt=sf read ${fdtaddr} 180000 80000<br />
spi_nand=sf probe; run spi_loadk spi_loadfdt nandargs addcons addmisc; if run configid_fixupfdt; then bootm ${loadaddr} - ${fdtaddr}; fi<br />
</pre><br />
<br />
* Update the <code>bootfile</code> and <code>fdtfile</code> environment variables to fit the filename as found inside the TFTP server.<br />
* Program kernel and device tree on NOR flash with the following U-Boot command<br />
<br />
<pre class="board-terminal"><br />
sf probe; run loadk spi_updatek loadfdt spi_updatefdt<br />
</pre><br />
<br />
E.g.:<br />
<br />
<pre class="board-terminal"><br />
=> sf probe; run loadk spi_updatek loadfdt spi_updatefdt<br />
SF: Detected s25fl256s_64k with page size 256 Bytes, erase size 64 KiB, total 32 MiB<br />
Using FEC device<br />
TFTP from server 192.168.0.82; our IP address is 192.168.0.83<br />
Filename 'xelk4/xelk-4.0.0_uImage'.<br />
Load address: 0x12000000<br />
Loading: #################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
###<br />
1.3 MiB/s<br />
done<br />
Bytes transferred = 6668104 (65bf48 hex)<br />
SF: 8388608 bytes @ 0x200000 Erased: OK<br />
device 0 offset 0x200000, size 0x65bf48<br />
SF: 6668104 bytes @ 0x200000 Written: OK<br />
Using FEC device<br />
TFTP from server 192.168.0.82; our IP address is 192.168.0.83<br />
Filename 'xelk4/xelk-4.0.0_imx6q-sbcx-cb0012.dtb_wl'.<br />
Load address: 0x18000000<br />
Loading: ###########<br />
604.5 KiB/s<br />
done<br />
Bytes transferred = 51400 (c8c8 hex)<br />
SF: 524288 bytes @ 0x180000 Erased: OK<br />
device 0 offset 0x180000, size 0xc8c8<br />
SF: 51400 bytes @ 0x180000 Written: OK<br />
<br />
</pre><br />
<br />
<br />
Reboot the system and configure U-Boot to apply the new configuration<br />
<br />
<pre class="board-terminal"><br />
=> setenv bootcmd run spi_nand<br />
=> saveenv<br />
</pre><br />
<br />
=== NAND flash ===<br />
<br />
We assume that the following environment variables are present in u-boot:<br />
<br />
<pre><br />
=> print nand_updatek nand_updatefdt nand_loadk nand_loadfdt nand_nand<br />
nand_updatek=nand erase.part nand-kernel; nand write ${loadaddr} nand-kernel ${filesize}<br />
nand_updatefdt=nand erase.part nand-fdt; nand write ${fdtaddr} nand-fdt ${filesize}<br />
nand_loadk=nand read ${loadaddr} nand-kernel<br />
nand_loadfdt=nand read ${fdtaddr} nand-fdt<br />
nand_nand=run nand_loadk nand_loadfdt nandargs addcons addmisc; if run configid_fixupfdt; then bootm ${loadaddr} - ${fdtaddr}; fi<br />
</pre><br />
<br />
<br />
* Update the <code>bootfile</code> and <code>fdtfile</code> environment variables to fit the filename as found inside the TFTP server.<br />
* Program kernel and device tree on NAND flash with the following U-Boot command<br />
<br />
<pre class="board-terminal"><br />
run loadk nand_updatek loadfdt nand_updatefdt<br />
</pre><br />
<br />
E.g.:<br />
<br />
<pre class="board-terminal"><br />
=> run loadk nand_updatek loadfdt nand_updatefdt<br />
Using FEC device<br />
TFTP from server 192.168.0.82; our IP address is 192.168.0.83<br />
Filename 'xelk4/xelk-4.0.0_uImage'.<br />
Load address: 0x12000000<br />
Loading: #################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
###<br />
1.2 MiB/s<br />
done<br />
Bytes transferred = 6668104 (65bf48 hex)<br />
<br />
NAND erase.part: device 0 offset 0xc00000, size 0x800000<br />
Skipping bad block at 0x00d00000 <br />
Erasing at 0x13e0000 -- 100% complete.<br />
OK<br />
<br />
NAND write: device 0 offset 0xc00000, size 0x65bf48<br />
Skip bad block 0x00d00000<br />
6668104 bytes written: OK<br />
Using FEC device<br />
TFTP from server 192.168.0.82; our IP address is 192.168.0.83<br />
Filename 'xelk4/xelk-4.0.0_imx6q-sbcx-cb0012.dtb_wl'.<br />
Load address: 0x18000000<br />
Loading: ###########<br />
726.6 KiB/s<br />
done<br />
Bytes transferred = 51400 (c8c8 hex)<br />
<br />
NAND erase.part: device 0 offset 0xa00000, size 0x100000<br />
Erasing at 0xae0000 -- 100% complete.<br />
OK<br />
<br />
NAND write: device 0 offset 0xa00000, size 0xc8c8<br />
51400 bytes written: OK<br />
=> <br />
</pre><br />
<br />
<br />
Reboot the system and configure U-Boot to apply the new configuration<br />
<br />
<pre class="board-terminal"><br />
=> setenv bootcmd run nand_nand<br />
=> saveenv<br />
</pre></div>
U0017
https://wiki.dave.eu/index.php?title=Building_the_Yocto_BSP_(XELK)&diff=8687
Building the Yocto BSP (XELK)
2019-07-16T09:55:51Z
<p>U0017: </p>
<hr />
<div>{{InfoBoxTop}}<br />
{{AppliesToAxel}}<br />
{{AppliesToAxelLite}}<br />
{{AppliesToAxelEsatta}}<br />
{{Applies To Yocto}}<br />
{{InfoBoxBottom}}<br />
<br />
{{ImportantMessage|text=As the XELK kit is based on Yocto, the implementation of the MVM follows the approach described [[Managed_Virtual_Machine_(MVM)#Yocto-based_Linux_distribution|here]]. As such, the reading of [[Managed_Virtual_Machine_(MVM)#Yocto-based_Linux_distribution|this section]] is highly recommended.<br />
}}<br />
== History ==<br />
<br />
{| class="wikitable" border="1"<br />
!Version<br />
!Date<br />
!XELK version<br />
!Notes<br />
|-<br />
|1.0.0<br />
|Nov 2013<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 1.0.0 | XELK 1.0.0]]<br />
|<br />
|-<br />
|1.2.0<br />
|May 2014<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 1.2.0 | XELK 1.2.0]]<br />
|<br />
|-<br />
|{{oldid|3262|2.0.0}}<br />
|Nov 2014<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.0.0 | XELK 2.0.0]]<br />
|<br />
|-<br />
|{{oldid|3456|2.1.0}}<br />
|May 2015<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.1.0 | XELK 2.1.0]]<br />
|<br />
|-<br />
|{{oldid|4442|2.2.0}}<br />
|Feb 2016<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.2.0 | XELK 2.2.0]]<br />
|<br />
|-<br />
|{{oldid|7089|2.3.1}}<br />
|Oct 2016<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.3.1 | XELK 2.3.1]]<br />
|<br />
|-<br />
|{{oldid|7353|3.0.1}}<br />
|Nov 2017<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 3.0.1 | XELK 3.0.1]]<br />
|<br />
|-<br />
|4.0.0<br />
|Jul 2019<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 4.0.0 | XELK 4.0.0]]<br />
|<br />
|-<br />
|}<br />
<br />
== Quick reference ==<br />
<br />
{| class="wikitable" border="1"<br />
|+Repository Information<br />
|-<br />
! Repository<br />
| BSP Manifest<br />
| Yocto BSP Layer<br />
|-<br />
! URL<br />
| git@git.dave.eu:axel/axel-bsp.git<br />
| git@git.dave.eu:axel/meta-axel.git<br />
|-<br />
! stable branch<br />
| axel-krogoth<br />
| axel-krogoth<br />
|-<br />
! stable tag<br />
| xelk-4.0.0<br />
| xelk-4.0.0<br />
|-<br />
|}<br />
<br />
{| class="wikitable" border="1"<br />
|+Build targets<br />
! Name<br />
! Description<br />
|-<br />
| axel-image-x11<br />
| standard image with X11 backend<br />
|-<br />
| axel-image-qt5<br />
| QT5 based root file system with eglfs backend<br />
|-<br />
| fsl-image-qt5<br />
| QT5 based root file system with Weston backend<br />
|}<br />
<br />
==Introduction==<br />
This is a quickstart guide to build Yocto BSP for Axel SOMs, to rebuild the binaries (U-Boot, Linux kernel, root file system) provided with XELK releases.<br />
<br />
For more information regarding Yocto build system, go to its [[:Category:Yocto|dedicated category page]]<br />
<br />
== Build System prerequisites ==<br />
<br />
XELK MVM is already configured to build this Yocto version/configuration, however, users typically don't use a VirtualBox VM for Yocto builds for performance reasons.<br />
<br />
You can refer to [http://www.yoctoproject.org/docs/1.8/mega-manual/mega-manual.html#yp-resources Yocto manual setup section] for a list of supported Linux distribution and their configuration to create your own build environment on your favorite distribution.<br />
<br />
== Build the XELK Yocto BSP ==<br />
<br />
=== Initialize the build environment ===<br />
<br />
XELK Yocto BSP uses [https://code.google.com/p/git-repo/ git-repo] tool to fetch all the required git repositories to build <br />
<br />
<pre class="workstation-terminal"><br />
dvdk@dvdk-vm:~/axel$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > repo<br />
dvdk@dvdk-vm:~/axel$ chmod a+x repo<br />
dvdk@dvdk-vm:~/axel$ ./repo init -u git@git.dave.eu:axel/axel-bsp.git -b axel-krogoth<br />
dvdk@dvdk-vm:~/axel$ ./repo sync<br />
</pre><br />
<br />
=== Build the Yocto BSP image ===<br />
<br />
Please note that even the basic root file system requires a few hours to build on a mid/hi range desktop (4-6 cores, 8-12 GiB RAM) also depending on your Internet connection speed (all sources are fetched from the network). Nearly 20GiB of disk space is required for the build. Moreover, building inside the DVDK adds some overhead, since the performances of a virtual machine are reduced if compared to the physical hardware. Thus, it's recommended to check the hardware capabilities of the host system and, when building with Yocto is required, developers should consider the following options: <br />
* migrating the build system to a physical machine<br />
* assuming that the host system has the required resources, extending the hardware capabilities of the default DVDK (eg: adding more cores and disk space)<br />
<br />
Once completed the initialization phase, developers can launch the Yocto image build process with the following commands:<br />
<br />
<pre class="workstation-terminal"><br />
dvdk@dvdk-vm:~/axel$ DISTRO=fsl-imx-x11 MACHINE=imx6qxelk source axel-setup-release.sh -b build-x11<br />
dvdk@dvdk-vm:~/axel/build$ bitbake axel-image-x11<br />
</pre><br />
<br />
The resulting files (kernel, devicetree and u-boot binaries, plus .tar.gz root file system) will then be available inside ''build/tmp/deploy/images/axel''.<br />
<br />
===Generating the SDKs===<br />
After creating an image as described above, the corresponding SDK can be generated by issuing the following command:<br />
<pre class="workstation-terminal"><br />
bitbake <target-image-name> -c populate-sdk<br />
</pre><br />
Again, replace <code><target-image-name></code> with one of the images listed in [[#Quick reference|here]].<br />
<br />
=== Build additional packages ===<br />
<br />
To build additional packages the user must first enter the directory where the axel-bsp-init-env.sh is placed and source it<br />
<br />
<pre class="workstation-terminal"><br />
dvdk@dvdk-vm:~/axel$ DISTRO=fsl-imx-x11 MACHINE=imx6qxelk source axel-setup-release.sh -b build-x11<br />
dvdk@dvdk-vm:~/axel/build$<br />
</pre><br />
<br />
And then he can run any of the [http://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#usingpoky-components-bitbake bitbake] commands.<br />
<br />
<pre class="workstation-terminal"><br />
dvdk@dvdk-vm:~/xelk/build$ bitbake memtester<br />
</pre><br />
<br />
The resulting packages (the default format is ipk) can be found inside ''build/tmp/deploy/rpm''.<br />
<br />
<pre class="workstation-terminal"><br />
dvdk@dvdk-vm:~/xelk/build$ ls -l tmp/deploy/ipk/armv7a-vfp-neon/memtester*<br />
-rw-r--r-- 2 dvdk dvdk 7102 Aug 26 16:33 tmp/deploy/ipk/armv7a-vfp-neon/memtester_4.1.3-r0_armv7a-vfp-neon.ipk<br />
-rw-r--r-- 2 dvdk dvdk 21720 Aug 26 16:33 tmp/deploy/ipk/armv7a-vfp-neon/memtester-dbg_4.1.3-r0_armv7a-vfp-neon.ipk<br />
-rw-r--r-- 2 dvdk dvdk 792 Aug 26 16:33 tmp/deploy/ipk/armv7a-vfp-neon/memtester-dev_4.1.3-r0_armv7a-vfp-neon.ipk<br />
-rw-r--r-- 2 dvdk dvdk 2748 Aug 26 16:33 tmp/deploy/ipk/armv7a-vfp-neon/memtester-doc_4.1.3-r0_armv7a-vfp-neon.ipk<br />
</pre></div>
U0017
https://wiki.dave.eu/index.php?title=Booting_from_NFS_(XELK)&diff=8686
Booting from NFS (XELK)
2019-07-16T09:50:36Z
<p>U0017: </p>
<hr />
<div>{{InfoBoxTop}}<br />
{{AppliesToAxel}}<br />
{{AppliesToAxelLite}}<br />
{{AppliesToAxelEsatta}}<br />
{{AppliesToSBCX}}<br />
{{AppliesToAXELULite}}<br />
{{AppliesToSBCLynx}}<br />
{{InfoBoxBottom}}<br />
<br />
== History ==<br />
{| class="wikitable" border="1"<br />
!Version<br />
!Date<br />
!DIVELK version<br />
!Notes<br />
|-<br />
|{{oldid|8371|3.0.1}}<br />
|November 2018<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK_3.0.1|XELK 3.0.1]]<br />
|First release<br />
|-<br />
|4.0.0<br />
|July 2019<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK_4.0.0|XELK 4.0.0]]<br />
|<br />
|-<br />
|}<br />
<br />
==Introduction==<br />
This configuration is very helpful during the software development (both for kernel and applications). The kernel image is downloaded via TFTP while the root file system is remotely mounted via NFS from the host. It is assumed that the development host:<br />
* is connected with the target host board through an Ethernet LAN<br />
* exports the directory containing the root file system for the target through the NFS server<br />
* runs a TFTP server.<br />
* has a proper subnet IP address<br />
<br />
== net_nfs configuration == <br />
<br />
XELK 4.0.0 Virtual Machine is properly configured for the TFTP and NFS debug.<br />
<br />
In any case, some variables has to be configured on the target and the VM itself has to be configured for respect to the network environment.<br />
<br />
== Host (Virtual Machine) configuration ==<br />
<br />
The XELK Virtual Machine has the '''tftp''' and '''nfs''' services already running. Optionally, their configuration has to be changed according to the network configuration where the target is connected to.<br />
<br />
Check and properly configure the items the following chapters: network adapter, nfs server<br />
<br />
=== network adapter ===<br />
The network adpater should be configured in '''bridge mode''' in order to allow the target to get the files from the VM<br />
<br />
<br />
[[File:Network-bridge.png|500px]]<br />
<br />
<br />
[[File:XELK VM Network.png|500px]]<br />
<br />
<br />
then check or re-configure the Host IP address<br />
<br />
<pre><br />
dvdk@vagrant:~$ ifconfig <br />
eth0 Link encap:Ethernet HWaddr 08:00:27:ed:54:80 <br />
inet addr:192.168.0.121 Bcast:192.168.0.255 Mask:255.255.255.0<br />
inet6 addr: fe80::a00:27ff:feed:5480/64 Scope:Link<br />
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1<br />
RX packets:342143 errors:0 dropped:0 overruns:0 frame:0<br />
TX packets:267700 errors:0 dropped:0 overruns:0 carrier:0<br />
collisions:0 txqueuelen:1000 <br />
RX bytes:160784829 (160.7 MB) TX bytes:214001179 (214.0 MB)<br />
<br />
lo Link encap:Local Loopback <br />
inet addr:127.0.0.1 Mask:255.0.0.0<br />
inet6 addr: ::1/128 Scope:Host<br />
UP LOOPBACK RUNNING MTU:65536 Metric:1<br />
RX packets:201 errors:0 dropped:0 overruns:0 frame:0<br />
TX packets:201 errors:0 dropped:0 overruns:0 carrier:0<br />
collisions:0 txqueuelen:1 <br />
RX bytes:21929 (21.9 KB) TX bytes:21929 (21.9 KB)<br />
<br />
dvdk@vagrant:~$ <br />
</pre><br />
<br />
=== nfs server ===<br />
The NFS server should exports the correct file system directory (in our example)<br />
<br />
<pre><br />
dvdk@vagrant:~$ cat /etc/exports <br />
/home 0.0.0.0/0.0.0.0(rw,async,no_root_squash,no_subtree_check,crossmnt)<br />
dvdk@vagrant:~$ <br />
</pre><br />
<br />
otherwise, change its configuration and then restart the nfs server:<br />
<br />
<pre><br />
dvdk@vagrant:~$ sudo /etc/init.d/nfs-kernel-server restart<br />
[sudo] password for dvdk: <br />
* Stopping NFS kernel daemon [ OK ] <br />
* Unexporting directories for NFS kernel daemon... [ OK ] <br />
* Exporting directories for NFS kernel daemon... [ OK ] <br />
* Starting NFS kernel daemon [ OK ] <br />
dvdk@vagrant:~$ <br />
</pre><br />
<br />
== Target configuration ==<br />
<br />
The IP address for server and target should be configured: an example (for a network subnet <code>192.168.0.x</code>)<br />
<br />
<pre><br />
=> setenv serverip 192.168.0.120<br />
=> setenv ipaddr 192.168.0.121<br />
</pre><br />
<br />
* '''serverip''' is the IP address of the host machine running the tftp/nfs server<br />
* '''ipaddr''' is the IP address of the target<br />
<br />
The ''kernel'' and ''device tree'' files has to be selected<br />
<br />
<pre><br />
=> setenv bootfile /tftpboot/axel/xelk-4.0.0_uImage<br />
=> setenv fdtfile /tftpboot/axel/xelk-4.0.0_imx6q-xelk-l-2.0.0.dtb<br />
</pre><br />
<br />
finally, the ''root file system'' directory on the Virtual Machine should be configured for let the kernel to find the '''INIT'''<br />
<br />
<pre>=> setenv rootpath /home/dvdk/axel/rfs/xelk-4.0.0</pre><br />
<br />
<br />
To run this configuration just issue the '''net_nfs''' command which firstly download the kernel and device tree using the tftp protocol<br />
<br />
<pre class="workstation-terminal"><br />
=> run net_nfs<br />
Using FEC device<br />
TFTP from server 192.168.0.121; our IP address is 192.168.0.120<br />
Filename 'axel/xelk-4.0.0_uImage'.<br />
Load address: 0x12000000<br />
Loading: #################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
#################################################################<br />
###<br />
1.2 MiB/s<br />
done<br />
Bytes transferred = 6668104 (65bf48 hex)<br />
Using FEC device<br />
TFTP from server 192.168.0.121; our IP address is 192.168.0.120<br />
Filename 'axel/xelk-4.0.0_imx6q-xelk-l-2.0.0.dtb'.<br />
Load address: 0x18000000<br />
Loading: ##########<br />
879.9 KiB/s<br />
done<br />
Bytes transferred = 47771 (ba9b hex)<br />
FDT: override 'som_uniqueid' with 'ea9b8da9:2513b9d4'<br />
FDT: override 'cb_uniqueid' with '00000000:00000000'<br />
## Booting kernel from Legacy Image at 12000000 ...<br />
Image Name: Linux-4.9.11-xelk-4.0.0<br />
Image Type: ARM Linux Kernel Image (uncompressed)<br />
Data Size: 6668040 Bytes = 6.4 MiB<br />
Load Address: 10008000<br />
Entry Point: 10008000<br />
Verifying Checksum ... OK<br />
## Flattened Device Tree blob at 18000000<br />
Booting using the fdt blob at 0x18000000<br />
Loading Kernel Image ... OK<br />
reserving fdt memory region: addr=18000000 size=c000<br />
Using Device Tree in place at 18000000, end 1800efff<br />
switch to ldo_bypass mode!<br />
Frame buffer: configure splashscreen reserved memory to 0x8e000000 (2 MiB)<br />
<br />
Starting kernel ...<br />
<br />
[ 0.000000] Booting Linux on physical CPU 0x0<br />
[ 0.000000] Linux version 4.9.11-xelk-4.0.0 (dvdk@vagrant) (gcc version 6.2.0 (GCC) ) #1 SMP PREEMPT Thu Jun 27 11:34:17 CEST 2019<br />
[ 0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d<br />
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache<br />
[ 0.000000] OF: fdt:Machine model: AxelLite Quad on XELK-L rev 2.0.0<br />
[ 0.000000] Reserved memory: created ipuv3_fb memory pool at 0x8e000000, size 2 MiB<br />
[ 0.000000] OF: reserved mem: initialized node splashscreen, compatible id fsl,ipuv3-fb<br />
[ 0.000000] Memory policy: Data cache writealloc<br />
[ 0.000000] percpu: Embedded 14 pages/cpu @e579b000 s25996 r8192 d23156 u57344<br />
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 520496<br />
[ 0.000000] Kernel command line: root=/dev/nfs rw nfsroot=192.168.0.121:/home/dvdk/axel/rfs/xelk-4.0.0,v3,tcp ip=192.168.0.120:192.168.0.121:192.168.0.254:255.255.255.0:xelk:eth0:off panic=1 console=ttymxc2,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),8M(spi-kernel),4M(spi-splash),-(spi-free)<br />
[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)<br />
[ 0.000000] Dentry cache hash table entries: 262144 (order: 8, 1048576 bytes)<br />
[ 0.000000] Inode-cache hash table entries: 131072 (order: 7, 524288 bytes)<br />
[ 0.000000] Memory: 1734744K/2095104K available (9216K kernel code, 522K rwdata, 2380K rodata, 1024K init, 448K bss, 360360K reserved, 0K cma-reserved, 88064K highmem)<br />
[ 0.000000] Virtual kernel memory layout:<br />
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)<br />
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)<br />
[ 0.000000] vmalloc : 0xe7000000 - 0xff800000 ( 392 MB)<br />
[ 0.000000] lowmem : 0x80000000 - 0xe6800000 (1640 MB)<br />
[ 0.000000] pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)<br />
[ 0.000000] modules : 0x7f000000 - 0x7fe00000 ( 14 MB)<br />
[ 0.000000] .text : 0x80008000 - 0x80a00000 (10208 kB)<br />
[ 0.000000] .init : 0x80d00000 - 0x80e00000 (1024 kB)<br />
[ 0.000000] .data : 0x80e00000 - 0x80e82a90 ( 523 kB)<br />
[ 0.000000] .bss : 0x80e82a90 - 0x80ef2e60 ( 449 kB)<br />
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1<br />
[ 0.000000] Preemptible hierarchical RCU implementation.<br />
[ 0.000000] Build-time adjustment of leaf fanout to 32.<br />
[ 0.000000] NR_IRQS:16 nr_irqs:16 16<br />
[ 0.000000] L2C-310 errata 752271 769419 enabled<br />
[ 0.000000] L2C-310 enabling early BRESP for Cortex-A9<br />
[ 0.000000] L2C-310 full line of zeros enabled for Cortex-A9<br />
[ 0.000000] L2C-310 ID prefetch enabled, offset 16 lines<br />
[ 0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled<br />
[ 0.000000] L2C-310 cache controller enabled, 16 ways, 1024 kB<br />
[ 0.000000] L2C-310: CACHE_ID 0x410000c7, AUX_CTRL 0x76470001<br />
[ 0.000000] Switching to timer-based delay loop, resolution 333ns<br />
[ 0.000007] sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 715827882841ns<br />
[ 0.000025] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns<br />
[ 0.001336] Console: colour dummy device 80x30<br />
[ 0.001359] Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000)<br />
[ 0.001374] pid_max: default: 32768 minimum: 301<br />
[ 0.001457] Mount-cache hash table entries: 4096 (order: 2, 16384 bytes)<br />
[ 0.001469] Mountpoint-cache hash table entries: 4096 (order: 2, 16384 bytes)<br />
[ 0.002050] CPU: Testing write buffer coherency: ok<br />
[ 0.002386] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000<br />
[ 0.002444] Setting up static identity map for 0x10100000 - 0x10100058<br />
[ 0.149865] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001<br />
[ 0.219851] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002<br />
[ 0.289849] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003<br />
[ 0.289930] Brought up 4 CPUs<br />
[ 0.289957] SMP: Total of 4 processors activated (24.00 BogoMIPS).<br />
[ 0.289965] CPU: All CPU(s) started in SVC mode.<br />
[ 0.290762] devtmpfs: initialized<br />
[ 0.302714] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4<br />
[ 0.303023] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns<br />
[ 0.303148] pinctrl core: initialized pinctrl subsystem<br />
[ 0.304103] NET: Registered protocol family 16<br />
[ 0.305139] DMA: preallocated 256 KiB pool for atomic coherent allocations<br />
[ 0.339595] cpuidle: using governor menu<br />
[ 0.339807] CPU identified as i.MX6Q, silicon rev 1.5<br />
[ 0.339954] Use WDOG2 as reset source<br />
[ 0.349965] vddarm: bypassed regulator has no supply!<br />
[ 0.349980] vddarm: failed to get the current voltage(-517)<br />
[ 0.350733] vddsoc: bypassed regulator has no supply!<br />
[ 0.350747] vddsoc: failed to get the current voltage(-517)<br />
[ 0.361884] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.<br />
[ 0.361898] hw-breakpoint: maximum watchpoint size is 4 bytes.<br />
[ 0.362682] imx6q-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver<br />
[ 0.364793] imx-gpc 20dc000.gpc: pu regulator not ready, retry<br />
[ 0.414489] mxs-dma 110000.dma-apbh: initialized<br />
[ 0.416537] vgaarb: loaded<br />
[ 0.417187] SCSI subsystem initialized<br />
[ 0.417632] usbcore: registered new interface driver usbfs<br />
[ 0.417695] usbcore: registered new interface driver hub<br />
[ 0.417781] usbcore: registered new device driver usb<br />
[ 0.417956] 2000000.aips-bus:usbphy_nop1 supply vcc not found, using dummy regulator<br />
[ 0.418084] 2000000.aips-bus:usbphy_nop2 supply vcc not found, using dummy regulator<br />
[ 0.419305] i2c i2c-1: IMX I2C adapter registered<br />
[ 0.419325] i2c i2c-1: can't use DMA, using PIO instead.<br />
[ 0.419984] i2c i2c-2: IMX I2C adapter registered<br />
[ 0.420000] i2c i2c-2: can't use DMA, using PIO instead.<br />
[ 0.420165] Linux video capture interface: v2.00<br />
[ 0.420205] pps_core: LinuxPPS API ver. 1 registered<br />
[ 0.420215] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it><br />
[ 0.420239] PTP clock support registered<br />
[ 0.449654] imx-ipuv3 2400000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)<br />
[ 0.479648] imx-ipuv3 2800000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)<br />
[ 0.480479] MIPI CSI2 driver module loaded<br />
[ 0.480793] imx rpmsg driver is registered.<br />
[ 0.480969] Advanced Linux Sound Architecture Driver Initialized.<br />
[ 0.481774] Bluetooth: Core ver 2.22<br />
[ 0.481817] NET: Registered protocol family 31<br />
[ 0.481826] Bluetooth: HCI device and connection manager initialized<br />
[ 0.481841] Bluetooth: HCI socket layer initialized<br />
[ 0.481856] Bluetooth: L2CAP socket layer initialized<br />
[ 0.481895] Bluetooth: SCO socket layer initialized<br />
[ 0.482849] clocksource: Switched to clocksource mxc_timer1<br />
[ 0.482949] VFS: Disk quotas dquot_6.6.0<br />
[ 0.483012] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)<br />
[ 0.493465] NET: Registered protocol family 2<br />
[ 0.494070] TCP established hash table entries: 16384 (order: 4, 65536 bytes)<br />
[ 0.494217] TCP bind hash table entries: 16384 (order: 5, 131072 bytes)<br />
[ 0.494463] TCP: Hash tables configured (established 16384 bind 16384)<br />
[ 0.494544] UDP hash table entries: 1024 (order: 3, 32768 bytes)<br />
[ 0.494624] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)<br />
[ 0.494848] NET: Registered protocol family 1<br />
[ 0.495279] RPC: Registered named UNIX socket transport module.<br />
[ 0.495293] RPC: Registered udp transport module.<br />
[ 0.495301] RPC: Registered tcp transport module.<br />
[ 0.495309] RPC: Registered tcp NFSv4.1 backchannel transport module.<br />
[ 0.495998] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available<br />
[ 0.497717] Bus freq driver module loaded<br />
[ 0.498727] futex hash table entries: 1024 (order: 4, 65536 bytes)<br />
[ 0.499652] workingset: timestamp_bits=30 max_order=19 bucket_order=0<br />
[ 0.506459] NFS: Registering the id_resolver key type<br />
[ 0.506494] Key type id_resolver registered<br />
[ 0.506503] Key type id_legacy registered<br />
[ 0.506552] ntfs: driver 2.1.32 [Flags: R/W].<br />
[ 0.506989] fuse init (API version 7.26)<br />
[ 0.511567] bounce: pool size: 64 pages<br />
[ 0.511584] io scheduler noop registered<br />
[ 0.511595] io scheduler deadline registered<br />
[ 0.511754] io scheduler cfq registered (default)<br />
[ 0.512261] imx-weim 21b8000.weim: Driver registered.<br />
[ 0.514073] OF: PCI: host bridge /soc/pcie@0x01000000 ranges:<br />
[ 0.514091] OF: PCI: No bus range found for /soc/pcie@0x01000000, using [bus 00-ff]<br />
[ 0.514122] OF: PCI: IO 0x01f80000..0x01f8ffff -> 0x00000000<br />
[ 0.514142] OF: PCI: MEM 0x01000000..0x01efffff -> 0x01000000<br />
[ 0.723413] imx6q-pcie 1ffc000.pcie: phy link never came up<br />
[ 0.723429] imx6q-pcie 1ffc000.pcie: Link never came up<br />
[ 0.726507] imx6q-pcie 1ffc000.pcie: failed to initialize host<br />
[ 0.726575] imx6q-pcie: probe of 1ffc000.pcie failed with error -110<br />
[ 0.727944] imx-sdma 20ec000.sdma: no iram assigned, using external mem<br />
[ 0.728222] imx-sdma 20ec000.sdma: loaded firmware 3.3<br />
[ 0.732961] pfuze100-regulator 1-0008: Full layer: 2, Metal layer: 1<br />
[ 0.733697] pfuze100-regulator 1-0008: FAB: 0, FIN: 0<br />
[ 0.733713] pfuze100-regulator 1-0008: pfuze100 found.<br />
[ 0.737457] vddpu: supplied by SW1C<br />
[ 0.741107] SW4: Bringing 3150000uV into 1800000-1800000uV<br />
[ 0.747972] VGEN3: Bringing 2800000uV into 2500000-2500000uV<br />
[ 0.749501] VGEN4: Bringing 3000000uV into 1800000-1800000uV<br />
[ 0.751038] VGEN5: Bringing 3000000uV into 2800000-2800000uV<br />
[ 0.753139] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled<br />
[ 0.754979] 21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 70, base_baud = 5000000) is a IMX<br />
[ 1.637046] console [ttymxc2] enabled<br />
[ 1.643120] imx sema4 driver is registered.<br />
[ 1.647364] [drm] Initialized<br />
[ 1.650773] [drm] Initialized vivante 1.0.0 20120216 on minor 0<br />
[ 1.667562] brd: module loaded<br />
[ 1.677285] loop: module loaded<br />
[ 1.686962] random: fast init done<br />
[ 1.692642] nand: device found, Manufacturer ID: 0xef, Chip ID: 0xdc<br />
[ 1.699029] nand: Unknown W29N04GV<br />
[ 1.702441] nand: 512 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64<br />
[ 1.710511] gpmi-nand 112000.gpmi-nand: enable the asynchronous EDO mode 4<br />
[ 1.717442] Scanning device for bad blocks<br />
[ 2.030239] 8 cmdlinepart partitions found on MTD device gpmi-nand<br />
[ 2.036452] Creating 8 MTD partitions on "gpmi-nand":<br />
[ 2.041516] 0x000000000000-0x000000800000 : "nand-uboot"<br />
[ 2.048181] 0x000000800000-0x000000900000 : "nand-env1"<br />
[ 2.054553] 0x000000900000-0x000000a00000 : "nand-env2"<br />
[ 2.060891] 0x000000a00000-0x000000b00000 : "nand-fdt"<br />
[ 2.067193] 0x000000b00000-0x000000c00000 : "nand-spare"<br />
[ 2.073562] 0x000000c00000-0x000001400000 : "nand-kernel"<br />
[ 2.080136] 0x000001400000-0x000001800000 : "nand-splash"<br />
[ 2.086736] 0x000001800000-0x000020000000 : "nand-ubi"<br />
[ 2.099454] gpmi-nand 112000.gpmi-nand: driver registered.<br />
[ 2.107102] m25p80 spi0.0: s25fl256s1 (32768 Kbytes)<br />
[ 2.112082] 7 cmdlinepart partitions found on MTD device spi0.0<br />
[ 2.118033] Creating 7 MTD partitions on "spi0.0":<br />
[ 2.122835] 0x000000000000-0x000000100000 : "spi-uboot"<br />
[ 2.129235] 0x000000100000-0x000000140000 : "spi-env1"<br />
[ 2.135536] 0x000000140000-0x000000180000 : "spi-env2"<br />
[ 2.141764] 0x000000180000-0x000000200000 : "spi-dtb"<br />
[ 2.147884] 0x000000200000-0x000000a00000 : "spi-kernel"<br />
[ 2.154388] 0x000000a00000-0x000000e00000 : "spi-splash"<br />
[ 2.160750] 0x000000e00000-0x000002000000 : "spi-free"<br />
[ 2.167066] spi_imx 2008000.ecspi: probed<br />
[ 2.171784] libphy: Fixed MDIO Bus: probed<br />
[ 2.176308] CAN device driver interface<br />
[ 2.180372] 2090000.flexcan supply xceiver not found, using dummy regulator<br />
[ 2.188251] flexcan 2090000.flexcan: device registered (reg_base=e7334000, irq=33)<br />
[ 2.197475] 2188000.ethernet supply phy not found, using dummy regulator<br />
[ 2.204710] pps pps0: new PPS source ptp0<br />
[ 2.209661] libphy: fec_enet_mii_bus: probed<br />
[ 2.215655] fec 2188000.ethernet eth0: registered PHC device 0<br />
[ 2.222476] usbcore: registered new interface driver asix<br />
[ 2.227973] usbcore: registered new interface driver ax88179_178a<br />
[ 2.234144] usbcore: registered new interface driver cdc_ether<br />
[ 2.240028] usbcore: registered new interface driver cdc_eem<br />
[ 2.245761] usbcore: registered new interface driver net1080<br />
[ 2.251469] usbcore: registered new interface driver cdc_subset<br />
[ 2.257468] usbcore: registered new interface driver zaurus<br />
[ 2.263160] usbcore: registered new interface driver cdc_ncm<br />
[ 2.268869] usbcore: registered new interface driver cdc_mbim<br />
[ 2.274646] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver<br />
[ 2.281195] ehci-pci: EHCI PCI platform driver<br />
[ 2.286036] usbcore: registered new interface driver cdc_wdm<br />
[ 2.291764] usbcore: registered new interface driver usb-storage<br />
[ 2.298951] 2184800.usbmisc supply vbus-wakeup not found, using dummy regulator<br />
[ 2.314560] ci_hdrc ci_hdrc.1: EHCI Host Controller<br />
[ 2.319472] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1<br />
[ 2.352890] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00<br />
[ 2.358515] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002<br />
[ 2.365343] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1<br />
[ 2.372574] usb usb1: Product: EHCI Host Controller<br />
[ 2.377478] usb usb1: Manufacturer: Linux 4.9.11-xelk-4.0.0 ehci_hcd<br />
[ 2.384204] usb usb1: SerialNumber: ci_hdrc.1<br />
[ 2.389210] hub 1-0:1.0: USB hub found<br />
[ 2.393027] hub 1-0:1.0: 1 port detected<br />
[ 2.398081] mousedev: PS/2 mouse device common for all mice<br />
[ 2.404975] input: TSC2007 Touchscreen as /devices/soc0/soc/2100000.aips-bus/21a8000.i2c/i2c-2/2-0048/input/input0<br />
[ 2.416762] snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-r as rtc0<br />
[ 2.425602] i2c /dev entries driver<br />
[ 2.430756] backlight supply power not found, using dummy regulator<br />
[ 2.439907] 20e0000.hdmi_video supply HDMI not found, using dummy regulator<br />
[ 2.448213] mxc_sdc_fb fb@0: registered mxc display driver lcd<br />
[ 2.454155] mxc_sdc_fb fb@0: using reserved memory region at 0x8e000000, size 2 MiB<br />
[ 2.461827] mxc_sdc_fb fb@0: assigned reserved memory node splashscreen<br />
[ 2.468470] mxc_sdc_fb fb@0: using memory region 0x8e000000 0x8e1fffff<br />
[ 2.525841] mxc_v4l2_output v4l2_out: V4L2 device registered as video16<br />
[ 2.532628] mxc_v4l2_output v4l2_out: V4L2 device registered as video17<br />
[ 2.540671] VGEN3: voltage operation not allowed<br />
[ 2.783210] ov5640_read_reg:write reg error:reg=300a<br />
[ 2.788183] camera ov5640_mipi is not found<br />
[ 2.793623] Bluetooth: HCI UART driver ver 2.3<br />
[ 2.798080] Bluetooth: HCI UART protocol H4 registered<br />
[ 2.803282] Bluetooth: HCI UART protocol BCSP registered<br />
[ 2.808603] Bluetooth: HCI UART protocol LL registered<br />
[ 2.814244] sdhci: Secure Digital Host Controller Interface driver<br />
[ 2.820431] sdhci: Copyright(c) Pierre Ossman<br />
[ 2.824832] sdhci-pltfm: SDHCI platform and OF driver helper<br />
[ 2.892914] mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA<br />
[ 2.962159] mmc0: host does not support reading read-only switch, assuming write-enable<br />
[ 2.976216] mmc0: new high speed SDHC card at address 59b4<br />
[ 2.982263] mmcblk0: mmc0:59b4 USDU1 14.9 GiB<br />
[ 2.986757] mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA<br />
[ 2.987839] mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probed<br />
[ 2.989302] caam 2100000.caam: ERA source: CAAMVID.<br />
[ 2.989343] caam 2100000.caam: AXI pipeline throttling enabled.<br />
[ 2.990440] caam 2100000.caam: Entropy delay = 3200<br />
[ 2.990467] caam 2100000.caam: Instantiated RNG4 SH0<br />
[ 3.051232] caam 2100000.caam: Instantiated RNG4 SH1<br />
[ 3.051243] caam 2100000.caam: device ID = 0x0a16010000000000 (Era 4)<br />
[ 3.051251] caam 2100000.caam: job rings = 2, qi = 0<br />
[ 3.081138] mmcblk0: p1 p2<br />
[ 3.127493] caam algorithms registered in /proc/crypto<br />
[ 3.136636] caam_jr 2101000.jr0: registering rng-caam<br />
[ 3.142565] platform caam_sm: blkkey_ex: 4 keystore units available<br />
[ 3.149033] platform caam_sm: 64-bit clear key:<br />
[ 3.153651] platform caam_sm: [0000] 00 01 02 03 04 0f 06 07<br />
[ 3.159320] platform caam_sm: 64-bit black key:<br />
[ 3.163883] platform caam_sm: [0000] 74 11 16 0f ed db 3b 63<br />
[ 3.169555] platform caam_sm: [0008] 7b 40 17 1b f1 98 48 a4<br />
[ 3.175238] platform caam_sm: 128-bit clear key:<br />
[ 3.179868] platform caam_sm: [0000] 00 01 02 03 04 0f 06 07<br />
[ 3.185554] platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f<br />
[ 3.191225] platform caam_sm: 128-bit black key:<br />
[ 3.195872] platform caam_sm: [0000] e4 be c9 d0 bc b2 03 1b<br />
[ 3.201542] platform caam_sm: [0008] 11 21 6f 4f 92 3c 9f c9<br />
[ 3.207224] platform caam_sm: 192-bit clear key:<br />
[ 3.211852] platform caam_sm: [0000] 00 01 02 03 04 0f 06 07<br />
[ 3.217539] platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f<br />
[ 3.223226] platform caam_sm: [0016] 10 11 12 13 14 15 16 17<br />
[ 3.228891] platform caam_sm: 192-bit black key:<br />
[ 3.233532] platform caam_sm: [0000] 64 bd 9d 71 35 5e 37 f4<br />
[ 3.239202] platform caam_sm: [0008] 47 de ba 85 2b c6 e5 e9<br />
[ 3.244887] platform caam_sm: [0016] 4d 1e f6 9c 78 cc d3 02<br />
[ 3.250556] platform caam_sm: [0024] 74 ed 70 9e fe e7 ab 55<br />
[ 3.256242] platform caam_sm: 256-bit clear key:<br />
[ 3.260869] platform caam_sm: [0000] 00 01 02 03 04 0f 06 07<br />
[ 3.266554] platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f<br />
[ 3.272225] platform caam_sm: [0016] 10 11 12 13 14 15 16 17<br />
[ 3.277910] platform caam_sm: [0024] 18 19 1a 1b 1c 1d 1e 1f<br />
[ 3.283590] platform caam_sm: 256-bit black key:<br />
[ 3.288219] platform caam_sm: [0000] 96 72 1f 31 66 73 d4 51<br />
[ 3.293905] platform caam_sm: [0008] 46 1e db dc 71 1a fa f2<br />
[ 3.299575] platform caam_sm: [0016] 96 fd bd f3 a3 32 1c db<br />
[ 3.305257] platform caam_sm: [0024] eb 4e 56 46 66 73 35 1f<br />
[ 3.310925] platform caam_sm: 64-bit unwritten blob:<br />
[ 3.315911] platform caam_sm: [0000] 00 00 00 00 00 00 00 00<br />
[ 3.321583] platform caam_sm: [0008] 00 00 00 00 00 00 00 00<br />
[ 3.327268] platform caam_sm: [0016] 00 00 00 00 00 00 00 00<br />
[ 3.332952] platform caam_sm: [0024] 00 00 00 00 00 00 00 00<br />
[ 3.338621] platform caam_sm: [0032] 00 00 00 00 00 00 00 00<br />
[ 3.344304] platform caam_sm: [0040] 00 00 00 00 00 00 00 00<br />
[ 3.349972] platform caam_sm: [0048] 00 00 00 00 00 00 00 00<br />
[ 3.355653] platform caam_sm: [0056] 00 00 00 00 00 00 00 00<br />
[ 3.361322] platform caam_sm: [0064] 00 00 00 00 00 00 00 00<br />
[ 3.367006] platform caam_sm: [0072] 00 00 00 00 00 00 00 00<br />
[ 3.372675] platform caam_sm: [0080] 00 00 00 00 00 00 00 00<br />
[ 3.378358] platform caam_sm: [0088] 00 00 00 00 00 00 00 00<br />
[ 3.384036] platform caam_sm: 128-bit unwritten blob:<br />
[ 3.389099] platform caam_sm: [0000] 00 00 00 00 00 00 00 00<br />
[ 3.394785] platform caam_sm: [0008] 00 00 00 00 00 00 00 00<br />
[ 3.400455] platform caam_sm: [0016] 00 00 00 00 00 00 00 00<br />
[ 3.406138] platform caam_sm: [0024] 00 00 00 00 00 00 00 00<br />
[ 3.411807] platform caam_sm: [0032] 00 00 00 00 00 00 00 00<br />
[ 3.417488] platform caam_sm: [0040] 00 00 00 00 00 00 00 00<br />
[ 3.423173] platform caam_sm: [0048] 00 00 00 00 00 00 00 00<br />
[ 3.428842] platform caam_sm: [0056] 00 00 00 00 00 00 00 00<br />
[ 3.434526] platform caam_sm: [0064] 00 00 00 00 00 00 00 00<br />
[ 3.440196] platform caam_sm: [0072] 00 00 00 00 00 00 00 00<br />
[ 3.445879] platform caam_sm: [0080] 00 00 00 00 00 00 00 00<br />
[ 3.451550] platform caam_sm: [0088] 00 00 00 00 00 00 00 00<br />
[ 3.457229] platform caam_sm: 196-bit unwritten blob:<br />
[ 3.462291] platform caam_sm: [0000] 00 00 00 00 00 00 00 00<br />
[ 3.467979] platform caam_sm: [0008] 00 00 00 00 00 00 00 00<br />
[ 3.473664] platform caam_sm: [0016] 00 00 00 00 00 00 00 00<br />
[ 3.479333] platform caam_sm: [0024] 00 00 00 00 00 00 00 00<br />
[ 3.485015] platform caam_sm: [0032] 00 00 00 00 00 00 00 00<br />
[ 3.490685] platform caam_sm: [0040] 00 00 00 00 00 00 00 00<br />
[ 3.496369] platform caam_sm: [0048] 00 00 00 00 00 00 00 00<br />
[ 3.502038] platform caam_sm: [0056] 00 00 00 00 00 00 00 00<br />
[ 3.507722] platform caam_sm: [0064] 00 00 00 00 00 00 00 00<br />
[ 3.513412] platform caam_sm: [0072] 00 00 00 00 00 00 00 00<br />
[ 3.519081] platform caam_sm: [0080] 00 00 00 00 00 00 00 00<br />
[ 3.524765] platform caam_sm: [0088] 00 00 00 00 00 00 00 00<br />
[ 3.530433] platform caam_sm: 256-bit unwritten blob:<br />
[ 3.535509] platform caam_sm: [0000] 00 00 00 00 00 00 00 00<br />
[ 3.541178] platform caam_sm: [0008] 00 00 00 00 00 00 00 00<br />
[ 3.546862] platform caam_sm: [0016] 00 00 00 00 00 00 00 00<br />
[ 3.552531] platform caam_sm: [0024] 00 00 00 00 00 00 00 00<br />
[ 3.558214] platform caam_sm: [0032] 00 00 00 00 00 00 00 00<br />
[ 3.563897] platform caam_sm: [0040] 00 00 00 00 00 00 00 00<br />
[ 3.569566] platform caam_sm: [0048] 00 00 00 00 00 00 00 00<br />
[ 3.575250] platform caam_sm: [0056] 00 00 00 00 00 00 00 00<br />
[ 3.580919] platform caam_sm: [0064] 00 00 00 00 00 00 00 00<br />
[ 3.586601] platform caam_sm: [0072] 00 00 00 00 00 00 00 00<br />
[ 3.592270] platform caam_sm: [0080] 00 00 00 00 00 00 00 00<br />
[ 3.597953] platform caam_sm: [0088] 00 00 00 00 00 00 00 00<br />
[ 3.603828] platform caam_sm: 64-bit black key in blob:<br />
[ 3.609067] platform caam_sm: [0000] a0 87 08 21 71 47 90 66<br />
[ 3.614761] platform caam_sm: [0008] 44 20 b4 02 3a dc ed fc<br />
[ 3.620431] platform caam_sm: [0016] 0a eb 64 c7 1d 2a b9 a2<br />
[ 3.626117] platform caam_sm: [0024] 16 38 6d 89 f4 b2 41 5d<br />
[ 3.631789] platform caam_sm: [0032] ad ac a9 6c b1 9d a7 1f<br />
[ 3.637472] platform caam_sm: [0040] 49 77 7a bc f5 9b 1c e7<br />
[ 3.643157] platform caam_sm: [0048] b6 db 94 24 91 45 2b 19<br />
[ 3.648826] platform caam_sm: [0056] 00 00 00 00 00 00 00 00<br />
[ 3.654510] platform caam_sm: [0064] 00 00 00 00 00 00 00 00<br />
[ 3.660180] platform caam_sm: [0072] 00 00 00 00 00 00 00 00<br />
[ 3.665863] platform caam_sm: [0080] 00 00 00 00 00 00 00 00<br />
[ 3.671532] platform caam_sm: [0088] 00 00 00 00 00 00 00 00<br />
[ 3.677212] platform caam_sm: 128-bit black key in blob:<br />
[ 3.682534] platform caam_sm: [0000] 0a 8f 9b 03 ee 77 d8 6d<br />
[ 3.688217] platform caam_sm: [0008] c8 43 03 3e e4 e0 13 bd<br />
[ 3.693903] platform caam_sm: [0016] f1 c5 2e 5b 14 71 49 81<br />
[ 3.699572] platform caam_sm: [0024] 7e 17 2f a0 1a 24 b0 8c<br />
[ 3.705263] platform caam_sm: [0032] 1f ba 2a 16 7d 6d 45 0c<br />
[ 3.710934] platform caam_sm: [0040] a7 cc 2e 78 c6 ee 4a 43<br />
[ 3.716619] platform caam_sm: [0048] 9f 8a c8 5a 09 35 92 7c<br />
[ 3.722289] platform caam_sm: [0056] 7a 52 65 74 b9 7a a8 ff<br />
[ 3.727974] platform caam_sm: [0064] 00 00 00 00 00 00 00 00<br />
[ 3.733658] platform caam_sm: [0072] 00 00 00 00 00 00 00 00<br />
[ 3.739328] platform caam_sm: [0080] 00 00 00 00 00 00 00 00<br />
[ 3.745008] platform caam_sm: [0088] 00 00 00 00 00 00 00 00<br />
[ 3.750673] platform caam_sm: 192-bit black key in blob:<br />
[ 3.756014] platform caam_sm: [0000] 13 b2 1e 39 2c 12 b4 d6<br />
[ 3.761683] platform caam_sm: [0008] 55 d7 12 6c 02 32 53 79<br />
[ 3.767368] platform caam_sm: [0016] a6 71 43 26 43 c5 c2 d9<br />
[ 3.773059] platform caam_sm: [0024] b7 7b 02 9c dd c2 62 40<br />
[ 3.778730] platform caam_sm: [0032] df 9f 29 8a 1a 8b 27 e0<br />
[ 3.784417] platform caam_sm: [0040] 00 94 81 ef 1d da c7 94<br />
[ 3.790088] platform caam_sm: [0048] b1 29 d6 ec b8 1a da 44<br />
[ 3.795772] platform caam_sm: [0056] 40 2e db c7 10 86 a8 2d<br />
[ 3.801443] platform caam_sm: [0064] ca eb e7 40 9d 90 43 91<br />
[ 3.807126] platform caam_sm: [0072] 00 00 00 00 00 00 00 00<br />
[ 3.812795] platform caam_sm: [0080] 00 00 00 00 00 00 00 00<br />
[ 3.818479] platform caam_sm: [0088] 00 00 00 00 00 00 00 00<br />
[ 3.824159] platform caam_sm: 256-bit black key in blob:<br />
[ 3.829483] platform caam_sm: [0000] 34 14 01 3d a5 f4 19 d1<br />
[ 3.835167] platform caam_sm: [0008] eb c3 34 57 44 ac 42 00<br />
[ 3.840836] platform caam_sm: [0016] f4 84 e4 f9 55 b8 92 f8<br />
[ 3.846520] platform caam_sm: [0024] 93 61 3e 3c a7 e9 9c 12<br />
[ 3.852191] platform caam_sm: [0032] 93 d9 2a 52 e9 4d 3a 48<br />
[ 3.857876] platform caam_sm: [0040] fd e6 e5 9b f0 f1 b2 48<br />
[ 3.863560] platform caam_sm: [0048] 78 4e d6 17 5f 39 41 e2<br />
[ 3.869229] platform caam_sm: [0056] 28 d0 d9 73 55 60 05 26<br />
[ 3.874912] platform caam_sm: [0064] f4 e7 ae 18 4e cc ef 85<br />
[ 3.880582] platform caam_sm: [0072] 7e 1b df 36 0f ce 67 c0<br />
[ 3.886265] platform caam_sm: [0080] 00 00 00 00 00 00 00 00<br />
[ 3.891933] platform caam_sm: [0088] 00 00 00 00 00 00 00 00<br />
[ 3.897794] platform caam_sm: restored 64-bit black key:<br />
[ 3.903143] platform caam_sm: [0000] 3d d1 79 74 3e 71 a9 22<br />
[ 3.908814] platform caam_sm: [0008] fd 48 c2 75 9d 12 1f e4<br />
[ 3.914497] platform caam_sm: restored 128-bit black key:<br />
[ 3.919907] platform caam_sm: [0000] e4 be c9 d0 bc b2 03 1b<br />
[ 3.925593] platform caam_sm: [0008] 11 21 6f 4f 92 3c 9f c9<br />
[ 3.931258] platform caam_sm: restored 192-bit black key:<br />
[ 3.936683] platform caam_sm: [0000] 64 bd 9d 71 35 5e 37 f4<br />
[ 3.942353] platform caam_sm: [0008] 47 de ba 85 2b c6 e5 e9<br />
[ 3.948039] platform caam_sm: [0016] d7 96 82 17 d8 20 9d 7f<br />
[ 3.953723] platform caam_sm: [0024] 8b 4d 7a 52 ec 0d c6 e1<br />
[ 3.959388] platform caam_sm: restored 256-bit black key:<br />
[ 3.964812] platform caam_sm: [0000] 96 72 1f 31 66 73 d4 51<br />
[ 3.970483] platform caam_sm: [0008] 46 1e db dc 71 1a fa f2<br />
[ 3.976168] platform caam_sm: [0016] 96 fd bd f3 a3 32 1c db<br />
[ 3.981837] platform caam_sm: [0024] eb 4e 56 46 66 73 35 1f<br />
[ 3.987775] snvs-secvio 20cc000.caam-snvs: can't get snvs clock<br />
[ 3.993777] snvs-secvio 20cc000.caam-snvs: violation handlers armed - non-secure state<br />
[ 4.002361] usbcore: registered new interface driver usbhid<br />
[ 4.007971] usbhid: USB HID core driver<br />
[ 4.017015] NET: Registered protocol family 10<br />
[ 4.022450] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver<br />
[ 4.029097] NET: Registered protocol family 17<br />
[ 4.033590] can: controller area network core (rev 20120528 abi 9)<br />
[ 4.039948] NET: Registered protocol family 29<br />
[ 4.044436] can: raw protocol (rev 20120528)<br />
[ 4.048716] can: broadcast manager protocol (rev 20161123 t)<br />
[ 4.054410] can: netlink gateway (rev 20130117) max_hops=1<br />
[ 4.060132] Bluetooth: RFCOMM TTY layer initialized<br />
[ 4.065052] Bluetooth: RFCOMM socket layer initialized<br />
[ 4.070214] Bluetooth: RFCOMM ver 1.11<br />
[ 4.074000] Bluetooth: BNEP (Ethernet Emulation) ver 1.3<br />
[ 4.079317] Bluetooth: BNEP filters: protocol multicast<br />
[ 4.084610] Bluetooth: BNEP socket layer initialized<br />
[ 4.089583] Bluetooth: HIDP (Human Interface Emulation) ver 1.2<br />
[ 4.095534] Bluetooth: HIDP socket layer initialized<br />
[ 4.100556] 8021q: 802.1Q VLAN Support v1.8<br />
[ 4.105146] Key type dns_resolver registered<br />
[ 4.111203] cpu cpu0: regulators not ready, retry<br />
[ 4.129640] vddarm: supplied by SW1AB<br />
[ 4.133918] vddsoc: supplied by SW1C<br />
[ 4.138108] imx-gpc 20dc000.gpc: Registered imx-gpc<br />
[ 4.144579] mxc_vpu 2040000.vpu_fsl: VPU initialized<br />
[ 4.150295] Galcore version 6.2.2.93313<br />
[ 4.315879] cpu cpu0: Registered imx6q-cpufreq<br />
[ 4.321427] imx_thermal 2000000.aips-bus:tempmon: Automotive CPU temperature grade - max:125C critical:120C passive:115C<br />
[ 4.333570] input: gpio-keys as /devices/soc0/gpio-keys/input/input1<br />
[ 4.340042] random: crng init done<br />
[ 4.343882] snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01 00:00:01 UTC (1)<br />
[ 4.484169] Micrel KSZ9031 Gigabit PHY 2188000.ethernet:07: attached PHY driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=2188000.ethernet:07, irq=-1)<br />
[ 4.498238] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready<br />
[ 6.563439] fec 2188000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx<br />
[ 6.572954] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready<br />
[ 6.603030] IP-Config: Complete:<br />
[ 6.606296] device=eth0, hwaddr=f6:b6:b3:16:bd:84, ipaddr=192.168.0.120, mask=255.255.255.0, gw=192.168.0.254<br />
[ 6.616705] host=xelk, domain=, nis-domain=(none)<br />
[ 6.621866] bootserver=192.168.0.121, rootserver=192.168.0.121, rootpath=<br />
[ 6.629817] usb_otg_vbus: disabling<br />
[ 6.633365] VGEN1: disabling<br />
[ 6.636818] VGEN6: disabling<br />
[ 6.640257] ALSA device list:<br />
[ 6.643248] No soundcards found.<br />
[ 6.656062] VFS: Mounted root (nfs filesystem) on device 0:13.<br />
[ 6.663411] devtmpfs: mounted<br />
[ 6.667267] Freeing unused kernel memory: 1024K (80d00000 - 80e00000)<br />
[ 6.965426] systemd[1]: System time before build time, advancing clock.<br />
[ 7.020043] systemd[1]: systemd 230 running in system mode. (-PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT +GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN)<br />
[ 7.038673] systemd[1]: Detected architecture arm.<br />
<br />
Welcome to NXP i.MX Release Distro 4.9.11-1.0.0 (morty)!<br />
<br />
[ 7.074978] systemd[1]: Set hostname to <imx6qxelk>.<br />
[ 7.837190] systemd[1]: connman.service: Cannot add dependency job, ignoring: Unit connman.service is masked.<br />
[ 7.848186] systemd[1]: sysinit.target: Found ordering cycle on sysinit.target/start<br />
[ 7.855982] systemd[1]: sysinit.target: Found dependency on alignment.service/start<br />
[ 7.863700] systemd[1]: sysinit.target: Found dependency on basic.target/start<br />
[ 7.870941] systemd[1]: sysinit.target: Found dependency on sockets.target/start<br />
[ 7.878391] systemd[1]: sysinit.target: Found dependency on rpcbind.socket/start<br />
[ 7.885839] systemd[1]: sysinit.target: Found dependency on sysinit.target/start<br />
[ SKIP ] Ordering cycle found, skipping alignment.service<br />
[ OK ] Listening on Journal Socket.<br />
[ OK ] Listening on udev Kernel Socket.<br />
[ OK ] Listening on Syslog Socket.<br />
[ OK ] Reached target Swap.<br />
[ OK ] Reached target Remote File Systems.<br />
[ OK ] Created slice User and Session Slice.<br />
[ OK ] Listening on Journal Socket (/dev/log).<br />
[ OK ] Listening on udev Control Socket.<br />
[ OK ] Listening on /dev/initctl Compatibility Named Pipe.<br />
[ OK ] Started Dispatch Password Requests to Console Directory Watch.<br />
[ OK ] Listening on Network Service Netlink Socket.<br />
[ OK ] Started Forward Password Requests to Wall Directory Watch.<br />
[ OK ] Reached target Paths.<br />
[ OK ] Created slice System Slice.<br />
[ OK ] Created slice system-getty.slice.<br />
Mounting Debug File System...<br />
Starting Journal Service...<br />
Mounting Temporary Directory...<br />
Starting Setup Virtual Console...<br />
[ OK ] Reached target Slices.<br />
Starting Remount Root and Kernel File Systems...<br />
Starting Load Kernel Modules...<br />
[ OK ] Created slice system-serial\x2dgetty.slice.<br />
[ OK ] Mounted Debug File System.<br />
[ OK ] Mounted Temporary Directory.<br />
[ OK ] Started Setup Virtual Console.<br />
[ OK ] Started Remount Root and Kernel File Systems.<br />
[FAILED] Failed to start Load Kernel Modules.<br />
See 'systemctl status systemd-modules-load.service' for details.<br />
[ OK ] Started Journal Service.<br />
Starting Apply Kernel Variables...<br />
Mounting Configuration File System...<br />
Mounting FUSE Control File System...<br />
Starting Flush Journal to Persistent Storage...<br />
Starting udev Coldplug all Devices...<br />
Starting Create Static Device Nodes in /dev...<br />
[ OK ] Mounted FUSE Control File System.<br />
[ OK ] Mounted Configuration File System.<br />
[ OK ] Started Apply Kernel Variables.<br />
[ 9.268811] systemd-journald[211]: Received request to flush runtime journal from PID 1<br />
[ OK ] Started Flush Journal to Persistent Storage.<br />
[ OK ] Started Create Static Device Nodes in /dev.<br />
[ OK ] Reached target Local File Systems (Pre).<br />
Mounting /var/volatile...<br />
Starting udev Kernel Device Manager...<br />
[ OK ] Mounted /var/volatile.<br />
Starting Load/Save Random Seed...<br />
[ OK ] Reached target Local File Systems.<br />
Starting Create Volatile Files and Directories...<br />
[ OK ] Started udev Coldplug all Devices.<br />
[ OK ] Started Load/Save Random Seed.<br />
[ OK ] Started Create Volatile Files and Directories.<br />
[ OK ] Started udev Kernel Device Manager.<br />
[ OK ] Created slice system-systemd\x2dbacklight.slice.<br />
Starting Load/Save Screen Backlight...htness of backlight:backlight...<br />
Starting Update UTMP about System Boot/Shutdown...<br />
Starting Network Time Synchronization...<br />
Starting Start Psplash Boot Screen...<br />
[ 10.570136] ERROR: v4l2 capture: slave not found!<br />
[ 10.576616] ERROR: v4l2 capture: slave not found!<br />
[ OK ] Started Load/Save Screen Backlight Brightness of backlight:backlight.<br />
[ OK ] Started Start Psplash Boot Screen.<br />
[ OK ] Started Network Time Synchronization.<br />
[ OK ] Started Update UTMP about System Boot/Shutdown.<br />
[ OK ] Found device /dev/ttymxc2.<br />
[ 11.673008] EXT4-fs (mmcblk0p2): mounting ext3 file system using the ext4 subsystem<br />
[ 11.768209] EXT4-fs (mmcblk0p2): recovery complete<br />
[ 11.773145] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)<br />
[ 11.829847] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.<br />
[ OK ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch.<br />
[ OK ] Reached target System Time Synchronized.<br />
[ OK ] Reached target System Initialization.<br />
Starting sshd.socket.<br />
[ OK ] Listening on D-Bus System Message Bus Socket.<br />
[ OK ] Started Daily Cleanup of Temporary Directories.<br />
[ OK ] Reached target Timers.<br />
[ OK ] Listening on RPCbind Server Activation Socket.<br />
[ OK ] Listening on sshd.socket.<br />
[ OK ] Reached target Sockets.<br />
[ OK ] Reached target Basic System.<br />
[ OK ] Started D-Bus System Message Bus.<br />
Starting Network Service...<br />
[ OK ] Started System Logging Service.<br />
Starting Telephony service...<br />
[ OK ] Started Periodic Command Scheduler.<br />
[ OK ] Started Configuration for i.MX GPU (Former rc_gpu.S).<br />
Starting Login Service...<br />
[ OK ] Started Job spooling tools.<br />
[ OK ] Started Kernel Logging Service.<br />
[ OK ] Started Updates psplash to basic.<br />
[ OK ] Started Network Service.<br />
[ OK ] Started Telephony service.<br />
[ OK ] Reached target Network.<br />
[ OK ] Started Servizio Custom di Test.<br />
Starting Network Name Resolution...<br />
Starting /etc/rc.local Compatibility...<br />
[ OK ] Started Update psplash to network.<br />
Starting Terminate Psplash Boot Screen...<br />
[ OK ] Started Network Name Resolution.<br />
[ OK ] Started /etc/rc.local Compatibility.<br />
[ OK ] Started Terminate Psplash Boot Screen.<br />
[ OK ] Started Login Service.<br />
[ OK ] Started Serial Getty on ttymxc2.<br />
[ OK ] Started Getty on tty1.<br />
[ OK ] Reached target Login Prompts.<br />
[ OK ] Reached target Multi-User System.<br />
Starting Update UTMP about System Runlevel Changes...<br />
[ OK ] Started Update UTMP about System Runlevel Changes.<br />
<br />
NXP i.MX Release Distro 4.9.11-1.0.0 imx6qxelk ttymxc2<br />
<br />
imx6qxelk login:<br />
</pre></div>
U0017
https://wiki.dave.eu/index.php?title=File:XELK_VM_Network.png&diff=8685
File:XELK VM Network.png
2019-07-16T09:48:55Z
<p>U0017: </p>
<hr />
<div></div>
U0017
https://wiki.dave.eu/index.php?title=Touchscreen_Calibration_(XELK)&diff=8671
Touchscreen Calibration (XELK)
2019-07-15T15:29:09Z
<p>U0017: Created page with "{{InfoBoxTop}} {{AppliesToAxel}} {{AppliesToAxelLite}} {{AppliesToAxelEsatta}} {{AppliesToSBCX}} {{InfoBoxBottom}} == History == {| class="wikitable" border="1" !Version !D..."</p>
<hr />
<div>{{InfoBoxTop}}<br />
{{AppliesToAxel}}<br />
{{AppliesToAxelLite}}<br />
{{AppliesToAxelEsatta}}<br />
{{AppliesToSBCX}}<br />
{{InfoBoxBottom}}<br />
<br />
<br />
== History ==<br />
<br />
{| class="wikitable" border="1"<br />
!Version<br />
!Date<br />
!DIVELK version<br />
!Notes<br />
|-<br />
|4.0.0<br />
|July 2019 <br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK_4.0.0|XELK 4.0.0]] <br />
|<br />
|-<br />
|}<br />
<br />
== Calibration ==<br />
=== Weston ===<br />
If the Weston compositor is running in the background, it is necessary to remove the old udev rules, and restart the device in order to calibrate the touchscreen.<br />
<pre><br />
rm -f /etc/udev/rules.d/ws-calibrate.rules<br />
reboot<br />
</pre><br />
At the next restart the weston-calibrator tool should automatically show up. Tap on the red cross appearing on the screen to calibrate the touch panel.<br />
<br />
'''Note:''' In the case of root filesystem over NFS and SD card plugged in, make sure delete also the calibration rules stored in the SD card partition before rebooting:<br />
<br />
<pre><br />
rm /etc/udev/rules.d/ws-calibrate.rules<br />
rm /run/media/mmcblk0p1/ws-calibrate.rules<br />
reboot<br />
</pre> <br />
=== Non-Weston based Graphic System ===<br />
If the weston compositor is not running, it is necessary to run:<br />
<pre><br />
export TSLIB_CALIBFILE=/usr/share/pointercal<br />
ts_calibrate<br />
</pre> <br />
<br />
==== Exporting TSLIB_CALIBFILE ====<br />
The environment variable TSLIB_CALIBFILE is used by the tslib package to indicate the location of the pointercal file. The default value for TSLIB_CALIBFILE is /etc/pointercal. If you are writing a program that uses tslib you should make sure that you export TSLIB_CALIBFILE to point to the location of your pointercal file (as indicated in the previous section), or that you place a copy of the pointercal file at the default /etc/pointercal location.<br />
<br />
Additional information can be found int the following [http://processors.wiki.ti.com/index.php/How_to_Recalibrate_the_Touchscreen#Where_is_the_ws-calibrate.rules_file.3F page in TI wiki]</div>
U0017
https://wiki.dave.eu/index.php?title=Building_Linux_kernel_(XELK)&diff=8667
Building Linux kernel (XELK)
2019-07-12T14:50:29Z
<p>U0017: /* Quick reference */</p>
<hr />
<div>{{InfoBoxTop}}<br />
{{AppliesToAxel}}<br />
{{AppliesToAxelLite}}<br />
{{AppliesToAxelEsatta}}<br />
{{AppliesToSBCX}}<br />
{{InfoBoxBottom}}<br />
<br />
== History ==<br />
<br />
{| class="wikitable" border="1"<br />
!Version<br />
!Date<br />
!XELK version<br />
!Notes<br />
|-<br />
|1.0.0<br />
|Nov 2013<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 1.0.0 | XELK 1.0.0]]<br />
|<br />
|-<br />
|1.2.0<br />
|May 2014<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 1.2.0 | XELK 1.2.0]]<br />
|<br />
|-<br />
|2.0.0<br />
|Nov 2014<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.0.0 | XELK 2.0.0]]<br />
|<br />
|-<br />
|2.1.0<br />
|May 2015<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.1.0 | XELK 2.1.0]]<br />
|<br />
|-<br />
|2.2.0<br />
|Feb 2016<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.2.0 | XELK 2.2.0]]<br />
|<br />
|-<br />
|{{oldid|8645|3.0.1}}<br />
|Nov 2017<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 3.0.1 | XELK 3.0.1]]<br />
|<br />
|-<br />
|4.0.0<br />
|July 2019<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 4.0.0 | XELK 4.0.0]]<br />
|<br />
|-<br />
|}<br />
<br />
== Quick reference ==<br />
<br />
{| class="wikitable" border="1"<br />
|+Repository Information<br />
|-<br />
! URL<br />
| git@git.dave.eu:axel/u-boot-imx.git<br />
|-<br />
! stable branch<br />
| axel<br />
|-<br />
! stable tag<br />
| xelk-4.0.0<br />
|}<br />
<br />
{| class="wikitable" border="1"<br />
|+Build Information<br />
|-<br />
! defconfig<br />
| colspan="2" | imx_v7_axel_defconfig<br />
|-<br />
! Kernel binary<br />
| colspan="2" | UIMAGE_LOADADDR=0x10008000 uImage<br />
|-<br />
! rowspan="4" | Device trees<br />
! Platform<br />
! DTB<br />
|-<br />
| SBC-AXEL<br />
| imx6q-sbcx-cb0012.dtb (Quad processor)<br />
imx6dl-sbcx-cb0012.dtb (DualLite processor)<br />
|-<br />
| EVB<br />
| imx6q-xelk-l-2.0.0.dtb (Quad processor)<br />
imx6dl-xelk-l.dtb (DualLite processor)<br />
|-<br />
|}<br />
<br />
== Detailed Instructions ==<br />
<br />
It is assumed that the development environment has been set up.<br />
* start the Linux development VM and login into the system<br />
* open a terminal window and ''cd'' into Linux kernel source code<br />
<br />
<pre class="workstation-terminal"><br />
cd axel/linux/<br />
</pre><br />
<br />
* in case of needs you can update your local repository with the following git command<br />
<br />
<pre class="workstation-terminal"><br />
git pull<br />
</pre><br />
<br />
* configure the build environment<br />
<br />
<pre class="workstation-terminal"><br />
source ~/env.sh<br />
</pre><br />
<br />
<br />
* to build the binaries run the following commands:<br />
<br />
<pre class="workstation-terminal"><br />
make imx_v7_axel_defconfig<br />
make UIMAGE_LOADADDR=0x10008000 uImage imx6dl-sbcx-cb0012.dtb<br />
</pre><br />
<br />
:The former command selects the default XELK configuration, while the latter builds the kernel binary image with the required u-boot header and the kernel device tree.<br />
<br />
Default Linux kernel configuration can be changed by using the standard <code>menuconfig</code>, <code>xconfig</code>, or <code>gconfig</code> make target. Subsequent builds just require <code>uImage</code> make target to update the binary image. Once the build process is complete, the kernel binary image is stored into the <code>arch/arm/boot/uImage</code> file. Both this file and the kernel device tree can be copied to the tftp root directory <code>/tftpboot/axel/</code> with the following commands:<br />
<br />
<pre class="workstation-terminal"><br />
cp arch/arm/boot/uImage /tftpboot/axel/<br />
cp arch/arm/boot/dts/*.dtb /tftpboot/axel/<br />
</pre></div>
U0017
https://wiki.dave.eu/index.php?title=Building_Linux_kernel_(XELK)&diff=8666
Building Linux kernel (XELK)
2019-07-12T14:49:37Z
<p>U0017: </p>
<hr />
<div>{{InfoBoxTop}}<br />
{{AppliesToAxel}}<br />
{{AppliesToAxelLite}}<br />
{{AppliesToAxelEsatta}}<br />
{{AppliesToSBCX}}<br />
{{InfoBoxBottom}}<br />
<br />
== History ==<br />
<br />
{| class="wikitable" border="1"<br />
!Version<br />
!Date<br />
!XELK version<br />
!Notes<br />
|-<br />
|1.0.0<br />
|Nov 2013<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 1.0.0 | XELK 1.0.0]]<br />
|<br />
|-<br />
|1.2.0<br />
|May 2014<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 1.2.0 | XELK 1.2.0]]<br />
|<br />
|-<br />
|2.0.0<br />
|Nov 2014<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.0.0 | XELK 2.0.0]]<br />
|<br />
|-<br />
|2.1.0<br />
|May 2015<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.1.0 | XELK 2.1.0]]<br />
|<br />
|-<br />
|2.2.0<br />
|Feb 2016<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.2.0 | XELK 2.2.0]]<br />
|<br />
|-<br />
|{{oldid|8645|3.0.1}}<br />
|Nov 2017<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 3.0.1 | XELK 3.0.1]]<br />
|<br />
|-<br />
|4.0.0<br />
|July 2019<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 4.0.0 | XELK 4.0.0]]<br />
|<br />
|-<br />
|}<br />
<br />
== Quick reference ==<br />
<br />
{| class="wikitable" border="1"<br />
|+Repository Information<br />
|-<br />
! URL<br />
| git@git.dave.eu:axel/u-boot-imx.git<br />
|-<br />
! stable branch<br />
| axel<br />
|-<br />
! stable tag<br />
| xelk-4.0.0<br />
|}<br />
<br />
{| class="wikitable" border="1"<br />
|+Build Information<br />
|-<br />
! defconfig<br />
| colspan="2" | imx_v7_axel_defconfig<br />
|-<br />
! Kernel binary<br />
| colspan="2" | UIMAGE_LOADADDR=0x80008000 uImage<br />
|-<br />
! rowspan="4" | Device trees<br />
! Platform<br />
! DTB<br />
|-<br />
| SBC-AXEL<br />
| imx6q-sbcx-cb0012.dtb (Quad processor)<br />
imx6dl-sbcx-cb0012.dtb (DualLite processor)<br />
|-<br />
| EVB<br />
| imx6q-xelk-l-2.0.0.dtb (Quad processor)<br />
imx6dl-xelk-l.dtb (DualLite processor)<br />
|-<br />
|}<br />
<br />
== Detailed Instructions ==<br />
<br />
It is assumed that the development environment has been set up.<br />
* start the Linux development VM and login into the system<br />
* open a terminal window and ''cd'' into Linux kernel source code<br />
<br />
<pre class="workstation-terminal"><br />
cd axel/linux/<br />
</pre><br />
<br />
* in case of needs you can update your local repository with the following git command<br />
<br />
<pre class="workstation-terminal"><br />
git pull<br />
</pre><br />
<br />
* configure the build environment<br />
<br />
<pre class="workstation-terminal"><br />
source ~/env.sh<br />
</pre><br />
<br />
<br />
* to build the binaries run the following commands:<br />
<br />
<pre class="workstation-terminal"><br />
make imx_v7_axel_defconfig<br />
make UIMAGE_LOADADDR=0x10008000 uImage imx6dl-sbcx-cb0012.dtb<br />
</pre><br />
<br />
:The former command selects the default XELK configuration, while the latter builds the kernel binary image with the required u-boot header and the kernel device tree.<br />
<br />
Default Linux kernel configuration can be changed by using the standard <code>menuconfig</code>, <code>xconfig</code>, or <code>gconfig</code> make target. Subsequent builds just require <code>uImage</code> make target to update the binary image. Once the build process is complete, the kernel binary image is stored into the <code>arch/arm/boot/uImage</code> file. Both this file and the kernel device tree can be copied to the tftp root directory <code>/tftpboot/axel/</code> with the following commands:<br />
<br />
<pre class="workstation-terminal"><br />
cp arch/arm/boot/uImage /tftpboot/axel/<br />
cp arch/arm/boot/dts/*.dtb /tftpboot/axel/<br />
</pre></div>
U0017
https://wiki.dave.eu/index.php?title=Building_U-Boot_(XELK)&diff=8665
Building U-Boot (XELK)
2019-07-12T14:43:42Z
<p>U0017: /* Detailed Instructions */</p>
<hr />
<div>{{InfoBoxTop}}<br />
{{AppliesToAxel}}<br />
{{AppliesToAxelLite}}<br />
{{AppliesToAxelEsatta}}<br />
{{AppliesToSBCX}}<br />
{{InfoBoxBottom}}<br />
<br />
== History ==<br />
<br />
{| class="wikitable" border="1"<br />
!Version<br />
!Date<br />
!XELK version<br />
!Notes<br />
|-<br />
|1.0.0<br />
|Nov 2013<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 1.0.0 | XELK 1.0.0]]<br />
|<br />
|-<br />
|1.2.0<br />
|May 2014<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 1.2.0 | XELK 1.2.0]]<br />
|<br />
|-<br />
|2.0.0<br />
|Nov 2014<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.0.0 | XELK 2.0.0]]<br />
|<br />
|-<br />
|2.1.0<br />
|May 2015<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.1.0 | XELK 2.1.0]]<br />
|<br />
|-<br />
|2.2.0<br />
|Feb 2016<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.2.0 | XELK 2.2.0]]<br />
|<br />
|-<br />
|2.3.1<br />
|Oct 2016<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.3.1 | XELK 2.3.1]]<br />
|<br />
|-<br />
|{{oldid|7339|3.0.1}}<br />
|Nov 2017<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 3.0.1 | XELK 3.0.1]]<br />
|<br />
|-<br />
|4.0.0<br />
|July 2019<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 4.0.0 | XELK 4.0.0]]<br />
|<br />
|-<br />
|}<br />
<br />
== Quick reference ==<br />
<br />
{| class="wikitable" border="1"<br />
|+Repository Information<br />
|-<br />
! URL<br />
| git@git.dave.eu:axel/u-boot-imx.git<br />
|-<br />
! stable branch<br />
| axel<br />
|-<br />
! stable tag<br />
| xelk-4.0.0<br />
|}<br />
<br />
<span id="u-boot_defconfigs"><br />
<br />
{| class="wikitable" border="1"<br />
|+U-Boot defconfigs<br />
|-<br />
! Platform<br />
! SOM ConfigID<br />
! defconfig<br />
|-<br />
| Axel DualLite<br />
| any<br />
| mx6qdlaxel_defconfig<br />
|-<br />
| Axel Q<br />
| any<br />
| mx6qdlaxel_defconfig<br />
|}<br />
</span><br />
<br />
== Detailed Instructions ==<br />
<br />
It is assumed that the development environment has been set up.<br />
* start the Linux development VM and login into the system<br />
* open a terminal window and ''cd'' into U-Boot source code<br />
<br />
<pre class="workstation-terminal"><br />
cd axel/u-boot<br />
</pre><br />
<br />
* in case of needs you can update your local repository with the following git command<br />
<br />
<pre class="workstation-terminal"><br />
git pull<br />
</pre><br />
<br />
* configure the build environment<br />
<br />
<pre class="workstation-terminal"><br />
source ~/env.sh<br />
</pre><br />
<br />
*enter the source tree directory and run the following commands:<br />
<br />
<pre class="workstation-terminal"><br />
make mx6qdlaxel_defconfig<br />
make<br />
</pre><br />
<br />
<br />
:The former command selects the default XELK configuration suitable for latest Axel targets, while the latter builds the U-Boot binary image files (<code>SPL</code> and <code>u-boot.img</code>).<br />
<br />
Binary files can be copied to the tftp root directory <code>/tftpboot/axel/</code> with the following command:<br />
<br />
<pre class="workstation-terminal"><br />
cp SPL u-boot.img /tftpboot/axel/<br />
</pre></div>
U0017
https://wiki.dave.eu/index.php?title=Building_U-Boot_(XELK)&diff=8664
Building U-Boot (XELK)
2019-07-12T14:42:26Z
<p>U0017: </p>
<hr />
<div>{{InfoBoxTop}}<br />
{{AppliesToAxel}}<br />
{{AppliesToAxelLite}}<br />
{{AppliesToAxelEsatta}}<br />
{{AppliesToSBCX}}<br />
{{InfoBoxBottom}}<br />
<br />
== History ==<br />
<br />
{| class="wikitable" border="1"<br />
!Version<br />
!Date<br />
!XELK version<br />
!Notes<br />
|-<br />
|1.0.0<br />
|Nov 2013<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 1.0.0 | XELK 1.0.0]]<br />
|<br />
|-<br />
|1.2.0<br />
|May 2014<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 1.2.0 | XELK 1.2.0]]<br />
|<br />
|-<br />
|2.0.0<br />
|Nov 2014<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.0.0 | XELK 2.0.0]]<br />
|<br />
|-<br />
|2.1.0<br />
|May 2015<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.1.0 | XELK 2.1.0]]<br />
|<br />
|-<br />
|2.2.0<br />
|Feb 2016<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.2.0 | XELK 2.2.0]]<br />
|<br />
|-<br />
|2.3.1<br />
|Oct 2016<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.3.1 | XELK 2.3.1]]<br />
|<br />
|-<br />
|{{oldid|7339|3.0.1}}<br />
|Nov 2017<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 3.0.1 | XELK 3.0.1]]<br />
|<br />
|-<br />
|4.0.0<br />
|July 2019<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 4.0.0 | XELK 4.0.0]]<br />
|<br />
|-<br />
|}<br />
<br />
== Quick reference ==<br />
<br />
{| class="wikitable" border="1"<br />
|+Repository Information<br />
|-<br />
! URL<br />
| git@git.dave.eu:axel/u-boot-imx.git<br />
|-<br />
! stable branch<br />
| axel<br />
|-<br />
! stable tag<br />
| xelk-4.0.0<br />
|}<br />
<br />
<span id="u-boot_defconfigs"><br />
<br />
{| class="wikitable" border="1"<br />
|+U-Boot defconfigs<br />
|-<br />
! Platform<br />
! SOM ConfigID<br />
! defconfig<br />
|-<br />
| Axel DualLite<br />
| any<br />
| mx6qdlaxel_defconfig<br />
|-<br />
| Axel Q<br />
| any<br />
| mx6qdlaxel_defconfig<br />
|}<br />
</span><br />
<br />
== Detailed Instructions ==<br />
<br />
It is assumed that the development environment has been set up.<br />
* start the Linux development VM and login into the system<br />
* open a terminal window and ''cd'' into U-Boot source code<br />
<br />
<pre class="workstation-terminal"><br />
cd axel/u-boot<br />
</pre><br />
<br />
* in case of needs you can update your local repository with the following git command<br />
<br />
<pre class="workstation-terminal"><br />
git pull<br />
</pre><br />
<br />
* configure the build environment<br />
<br />
<pre class="workstation-terminal"><br />
source ~/env.sh<br />
</pre><br />
<br />
*enter the source tree directory and run the following commands:<br />
<br />
<pre class="workstation-terminal"><br />
make mx6qdlaxel_defconfig<br />
make<br />
</pre><br />
<br />
<br />
:The former command selects the default XELK configuration suitable for latest Axel targets, while the latter builds the U-Boot binary image files (<code>SPL<code> and <code>u-boot.img</code>).<br />
<br />
Binary files can be copied to the tftp root directory <code>/tftpboot/axel/</code> with the following command:<br />
<br />
<pre class="workstation-terminal"><br />
cp SPL u-boot.img /tftpboot/axel/<br />
</pre></div>
U0017
https://wiki.dave.eu/index.php?title=Building_U-Boot_(XELK)&diff=8663
Building U-Boot (XELK)
2019-07-12T14:35:33Z
<p>U0017: </p>
<hr />
<div>{{InfoBoxTop}}<br />
{{AppliesToAxel}}<br />
{{AppliesToAxelLite}}<br />
{{AppliesToAxelEsatta}}<br />
{{AppliesToSBCX}}<br />
{{InfoBoxBottom}}<br />
<br />
== History ==<br />
<br />
{| class="wikitable" border="1"<br />
!Version<br />
!Date<br />
!XELK version<br />
!Notes<br />
|-<br />
|1.0.0<br />
|Nov 2013<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 1.0.0 | XELK 1.0.0]]<br />
|<br />
|-<br />
|1.2.0<br />
|May 2014<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 1.2.0 | XELK 1.2.0]]<br />
|<br />
|-<br />
|2.0.0<br />
|Nov 2014<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.0.0 | XELK 2.0.0]]<br />
|<br />
|-<br />
|2.1.0<br />
|May 2015<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.1.0 | XELK 2.1.0]]<br />
|<br />
|-<br />
|2.2.0<br />
|Feb 2016<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.2.0 | XELK 2.2.0]]<br />
|<br />
|-<br />
|2.3.1<br />
|Oct 2016<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.3.1 | XELK 2.3.1]]<br />
|<br />
|-<br />
|{{oldid|7339|3.0.1}}<br />
|Nov 2017<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 3.0.1 | XELK 3.0.1]]<br />
|<br />
|-<br />
|4.0.0<br />
|July 2019<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 4.0.0 | XELK 4.0.0]]<br />
|<br />
|-<br />
|}<br />
<br />
== Quick reference ==<br />
<br />
{| class="wikitable" border="1"<br />
|+Repository Information<br />
|-<br />
! URL<br />
| git@git.dave.eu:axel/u-boot-imx.git<br />
|-<br />
! stable branch<br />
| axel<br />
|-<br />
! stable tag<br />
| xelk-3.0.1<br />
|}<br />
<br />
<span id="u-boot_defconfigs"><br />
<br />
{| class="wikitable" border="1"<br />
|+U-Boot defconfigs<br />
|-<br />
! Platform<br />
! SOM ConfigID<br />
! defconfig<br />
|-<br />
| Axel DualLite<br />
| any<br />
| mx6dlaxel_defconfig<br />
|-<br />
| Axel Q<br />
| any<br />
| mx6qaxel_defconfig<br />
|}<br />
</span><br />
<br />
== Detailed Instructions ==<br />
<br />
It is assumed that the development environment has been set up.<br />
* start the Linux development VM and login into the system<br />
* open a terminal window and ''cd'' into U-Boot source code<br />
<br />
<pre class="workstation-terminal"><br />
cd axel/u-boot<br />
</pre><br />
<br />
* in case of needs you can update your local repository with the following git command<br />
<br />
<pre class="workstation-terminal"><br />
git pull<br />
</pre><br />
<br />
* configure the build environment<br />
<br />
<pre class="workstation-terminal"><br />
source ~/env.sh<br />
</pre><br />
<br />
*enter the source tree directory and run the following commands:<br />
<br />
<pre class="workstation-terminal"><br />
make mx6dlaxel_defconfig<br />
make<br />
</pre><br />
<br />
NOTE: this is the default configuration suitable for latest Axel Dual Lite.<br />
<br />
:The former command selects the default XELK configuration suitable for latest Axel targets (for additional defconfig please refer to the [[#u-boot_defconfigs|U-Boot defconfigs table above]]), while the latter builds the U-Boot binary image itself (<code>u-boot.imx</code>).<br />
<br />
u-boot.imx can be copied to the tftp root directory <code>/tftpboot/axel/</code> with the following command:<br />
<br />
<pre class="workstation-terminal"><br />
cp u-boot.imx /tftpboot/axel/<br />
</pre></div>
U0017
https://wiki.dave.eu/index.php?title=Building_U-Boot_(XELK)&diff=8662
Building U-Boot (XELK)
2019-07-12T14:33:55Z
<p>U0017: </p>
<hr />
<div>{{InfoBoxTop}}<br />
{{AppliesToAxel}}<br />
{{AppliesToAxelLite}}<br />
{{AppliesToAxelEsatta}}<br />
{{AppliesToSBCX}}<br />
{{InfoBoxBottom}}<br />
<br />
== History ==<br />
<br />
{| class="wikitable" border="1"<br />
!Version<br />
!Date<br />
!XELK version<br />
!Notes<br />
|-<br />
|1.0.0<br />
|Nov 2013<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 1.0.0 | XELK 1.0.0]]<br />
|<br />
|-<br />
|1.2.0<br />
|May 2014<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 1.2.0 | XELK 1.2.0]]<br />
|<br />
|-<br />
|2.0.0<br />
|Nov 2014<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.0.0 | XELK 2.0.0]]<br />
|<br />
|-<br />
|2.1.0<br />
|May 2015<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.1.0 | XELK 2.1.0]]<br />
|<br />
|-<br />
|2.2.0<br />
|Feb 2016<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.2.0 | XELK 2.2.0]]<br />
|<br />
|-<br />
|2.3.1<br />
|Oct 2016<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 2.3.1 | XELK 2.3.1]]<br />
|<br />
|-<br />
|3.0.1<br />
|Nov 2017<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 3.0.1 | XELK 3.0.1]]<br />
|<br />
|-<br />
|4.0.0<br />
|July 2019<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK 4.0.0 | XELK 4.0.0]]<br />
|<br />
|-<br />
|}<br />
<br />
== Quick reference ==<br />
<br />
{| class="wikitable" border="1"<br />
|+Repository Information<br />
|-<br />
! URL<br />
| git@git.dave.eu:axel/u-boot-imx.git<br />
|-<br />
! stable branch<br />
| axel<br />
|-<br />
! stable tag<br />
| xelk-3.0.1<br />
|}<br />
<br />
<span id="u-boot_defconfigs"><br />
<br />
{| class="wikitable" border="1"<br />
|+U-Boot defconfigs<br />
|-<br />
! Platform<br />
! SOM ConfigID<br />
! defconfig<br />
|-<br />
| Axel DualLite<br />
| any<br />
| mx6dlaxel_defconfig<br />
|-<br />
| Axel Q<br />
| any<br />
| mx6qaxel_defconfig<br />
|}<br />
</span><br />
<br />
== Detailed Instructions ==<br />
<br />
It is assumed that the development environment has been set up.<br />
* start the Linux development VM and login into the system<br />
* open a terminal window and ''cd'' into U-Boot source code<br />
<br />
<pre class="workstation-terminal"><br />
cd axel/u-boot<br />
</pre><br />
<br />
* in case of needs you can update your local repository with the following git command<br />
<br />
<pre class="workstation-terminal"><br />
git pull<br />
</pre><br />
<br />
* configure the build environment<br />
<br />
<pre class="workstation-terminal"><br />
source ~/env.sh<br />
</pre><br />
<br />
*enter the source tree directory and run the following commands:<br />
<br />
<pre class="workstation-terminal"><br />
make mx6dlaxel_defconfig<br />
make<br />
</pre><br />
<br />
NOTE: this is the default configuration suitable for latest Axel Dual Lite.<br />
<br />
:The former command selects the default XELK configuration suitable for latest Axel targets (for additional defconfig please refer to the [[#u-boot_defconfigs|U-Boot defconfigs table above]]), while the latter builds the U-Boot binary image itself (<code>u-boot.imx</code>).<br />
<br />
u-boot.imx can be copied to the tftp root directory <code>/tftpboot/axel/</code> with the following command:<br />
<br />
<pre class="workstation-terminal"><br />
cp u-boot.imx /tftpboot/axel/<br />
</pre></div>
U0017
https://wiki.dave.eu/index.php?title=Axel_Embedded_Linux_Kit_(XELK)&diff=8661
Axel Embedded Linux Kit (XELK)
2019-07-12T14:21:29Z
<p>U0017: </p>
<hr />
<div>{{InfoBoxTop}}<br />
{{AppliesToDacu}}<br />
{{AppliesToAxel}}<br />
{{AppliesToAxelLite}}<br />
{{AppliesToAxelEsatta}}<br />
{{InfoBoxBottom}}<br />
<br />
==Introduction==<br />
{{ImportantMessage|text='''Customers are strongly recommended to register their kits'''. Registration grants access to reserved material such as source code and additional documentation.<br />
<br />
To register the kit, please send an email to [mailto:support-axel@dave.eu support-axel@dave.eu], [[Development_Kits_Identification_Codes|providing the kit P/N and S/N]].}}<br />
<br />
[[File:Axel-on-evb-02.png|500px]]<br />
<br />
Axel Embedded Linux Kit (XELK for short) provides all the necessary components required to set up the developing environment to:<br />
* build the bootloader (U-Boot)<br />
* build and run Linux operating system on Axel-based systems<br />
* build Linux applications that will run on the target.<br />
The main kit components are:<br />
* hardware platform composed of<br />
** Axel system-on-module (SOM for short)<br />
** AxelEVB-Lite plugged on Dacu carrier board<br />
** 800x480 7" LVDS display <br />
* Development virtual machine containing:<br />
** Toolchain<br />
** U-Boot bootloader sources<br />
** Linux kernel sources<br />
** Root file systems<br />
* Technical documentation such hardware manuals, mechanical drawings, reference schematics, application notes etc. <br />
<br />
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 Axel hardware characteristics, please refer to the Axel Hardware Manual. An account for the reserved area of [http://www.dave.eu '''DAVE Embedded Systems''' website] is required to access the kit contents.<br />
<br />
==Kit Contents==<br />
<br />
{| class="wikitable" <br />
|-<br />
!Component<br />
!Description<br />
!Notes<br />
|-<br />
| style="text-align: center;" | [[File:Axel-01.png|60px]]<br />
|Axel Ultra SOM (or Axel Lite SOM) <br>CPU: Freescale i.MX6<br>SDRAM: 2 GB DDR3<br>NOR: bootable SPI flash 32 MB<br>NAND: 1GB<br />
|Please refer to [[Hardware Manual (AxelUltra) | Axel Ultra Hardware Manual]]<br />
|-<br />
| style="text-align: center;" | [[File:Axelevb-lite-01.png|60px]]<br />
|AxelEVB-Lite Carrier board<br />
|Please refer to [[AxelEVB-Lite | AxelEVB-Lite]] page<br />
|-<br />
| style="text-align: center;" | [[File:Dacu-top-view.png|80px]]<br />
|Dacu Carrier board<br />
|Please refer to [[Dacu | Dacu]] page<br />
|-<br />
| style="text-align: center;" | [[File:Display.jpg|60px]]<br />
|Ampire AM-800480STMQW<br>7” 800x480 LCD display<br>LVDS interface<br />
|Please refer to [[XELK Quick Start Guide]]<br />
|-<br />
| style="text-align: center;" | [[File:Alimentatore.jpg|40px]]<br />
|AC/DC Single Output Wall Mount adapter<br>Output: +12V – 2.0 A<br />
|Please refer to [[XELK Quick Start Guide]]<br />
|-<br />
| style="text-align: center;" | [[File:Cavetto-seriale2.jpg|50px]]<br />
|DB9 Male Serial port adapter<br />
|Please refer to [[XELK Quick Start Guide]]<br />
|-<br />
| style="text-align: center;" | [[File:ProdSDC-MBLY-thumb.png|50px]]<br />
|MicroSDHC card with SD adapter and USB adapter<br />
|Please refer to [[XELK Quick Start Guide]]<br />
|-<br />
|}<br />
<br />
== XELK software components ==<br />
<br />
'''DAVE Embedded Systems''' adds to the latest Linux BSP from NXP/Freescale the customization required to support the Axel platform. For this reason most of the documentation provided by NXP/Freescale remains valid for the XELK development kit. However, some customization is required, in particular at bootloader and linux kernel levels.<br />
<br />
The following table reports the XELK releases information.<br />
{| class="wikitable" <br />
!<br />
! colspan="10" | XELK version<br />
|-<br />
|Release number<br />
|1.0.0<br />
|1.1.0<br />
|1.2.0<br />
|2.0.0<br />
|2.1.0<br />
|2.2.0<br />
|2.3.1<br />
|3.0.1<br />
|3.5.0<br />
|4.0.0<br />
|-<br />
|Release type<br />
|Major<br />
|Maintenance<br />
|Maintenance<br />
|Major<br />
|Maintenance<br />
|Maintenance<br />
|Maintenance<br />
|Major<br />
|Maintenance<br />
|Major<br />
|-<br />
|Status<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|In progress<br />
|-<br />
|Release date<br />
|November, 4th 2013<br />
|January 2014<br />
|May 2014<br />
|November 2014<br />
|May 2015<br />
|February 2016<br />
|October 2016<br />
|November 2017<br />
|April 2019<br />
|Q3 2019<br />
|-<br />
|'''Release notes'''<br />
|[[#XELK 1.0.0 | Ver 1.0.0]]<br />
|[[#XELK 1.1.0 | Ver 1.1.0]]<br />
|[[#XELK 1.2.0 | Ver 1.2.0]]<br />
|[[#XELK 2.0.0 | Ver 2.0.0]]<br />
|[[#XELK 2.1.0 | Ver 2.1.0]]<br />
|[[#XELK 2.2.0 | Ver 2.2.0]]<br />
|[[#XELK 2.3.1 | Ver 2.3.1]]<br />
|[[#XELK 3.0.1 | Ver 3.0.1]]<br />
|[[#XELK 3.5.0 | Ver 3.5.0]]<br />
|[[#XELK 4.0.0 | Ver 4.0.0]]<br />
|-<br />
|SOM PCB version<br />
|Axel Ultra: CS030713<br />
|Axel Ultra: CS030713A<br />
|Axel Ultra: CS030713A<br>Axel Lite: CS335013A<br />
|Axel Ultra: CS030713A<br>Axel Lite: CS335013A<br />
|Axel Ultra: CS030713B<br>Axel Lite: CS335013A<br />
|Axel Ultra: CS030713B<br>Axel Lite: CS335013A<br />
|Axel Ultra: CS030713B<br>Axel Lite: CS335013A<br>Axel Lite: CS335013C<br />
|Axel Lite: CS335013A<br>Axel Lite: CS335013C<br />
|Axel Lite: CS335013A<br>Axel Lite: CS335013C<br />
|Axel Lite: CS335013A<br>Axel Lite: CS335013C<br />
|--<br />
|Supported carrier boards<br />
|<span class="plainlinks">[{{fullurl:AxelEVB-Lite|oldid=2970}} AxelEVB-Lite]</span><br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|-<br />
|U-Boot version<br />
|2013.10-xelk-1.0.0<br />
|2013.10-xelk-1.1.0<br />
|2013.10-xelk-1.2.0<br />
|2013.04-xelk-2.0.0<br />
|2013.04-xelk-2.1.0<br />
|2013.04-xelk-2.2.0<br />
|2013.04-xelk-2.3.1<br />
|2016.03-xelk-3.0.2<br />
|2016.03-xelk-3.5.0<br />
|2017.03-xelk-4.0.0<br />
|-<br />
|Linux version<br />
|3.0.35-xelk-1.0.0<br />
|3.0.35-xelk-1.1.0<br />
|3.0.35-xelk-1.2.0<br />
|3.10.17-xelk-2.0.0<br />
|3.10.17-xelk-2.1.0<br />
|3.10.17-xelk-2.2.0<br />
|3.10.17-xelk-2.3.1<br />
|4.1.15-xelk-3.0.0<br />
|4.1.15-xelk-3.0.0<br />
|4.9.11-xelk-4.0.0<br />
|-<br />
|Drivers<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br>SPL boot[2]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br>SPL boot[2]<br />
|-<br />
|NXP/Freescale BSP version<br />
|L3.0.35-4.1.0<br />
|L3.0.35-4.1.0<br />
|L3.0.35-4.1.0 <br />
|L3.10.17-1.0.0<br />
|L3.10.17-1.0.0<br />
|L3.10.17-1.0.3<br />
|L3.10.17-1.0.3<br />
|L4.1.15-2.0.0<br />
|L4.1.15-2.0.0<br />
|L4.9.11_1.0.0<br />
|-<br />
|Graphic libraries<br />
|Qt 4.8<br />
|Qt 4.8<br />
|Qt 4.8<br />
|Qt 5.3.2<br />
|Qt 5.3.2<br />
|Qt 5.3.2<br />
|Qt 5.3.2<br />
|Qt 5.6.2<br />
|Qt 5.6.2<br />
|Qt 5.9.8<br />
|-<br />
|Build System<br />
|LTIB<br />
|LTIB<br />
|LTIB<br />
|Yocto Dora (1.5) <br />
|Yocto Dora (1.5) <br />
|Yocto Dora (1.5) <br />
|Yocto Dora (1.5) <br />
|Yocto Krogoth (2.1)<br />
|Yocto Krogoth (2.1)<br />
|Yocto Morty (2.2)<br />
|-<br />
|Android<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|Kitkat 4.4.2<br />
|Marshmallow 6.0.1<br />
|Marshmallow 6.0.1<br />
|<br />
|}<br />
<br />
[1] Splashscreen on LVDS0<br />
<br />
[2] U-Boot SPL version<br />
<br />
====Downloadable binary images====<br />
<br />
<br />
All binary images for XELK are hosted on [[mirror:axel|DAVE Embedded System mirror server]]. There you can find a sub directory for each version of this development kit.<br />
<br />
A summary of images with a brief description can be found into the table below:<br />
<br />
{{ImportantMessage|text=In order to boot Linux from SD card files, '''the binary files must be renamed''' as follows:<br />
*bootscript: <code>boot.scr</code><br />
<br />
U-boot file <code>u-boot.imx</code> must be stored into first raw sector of the SD card using <code>dd</code> command<br />
<br />
Since XELK-3.5.0 U-boot performs 2-stage bootloader providing two files: SPL and u-boot.img.<br />
<br />
Both two files must be stored into SD card using <code>dd</code> command}} <br />
{| class="wikitable"<br />
|-<br />
! Image !! colspan="5" |XELK version 2.3.1<br />
|-<br />
| Platform || XELK rev.A || SBCX rev.A || SBCX rev.A || SBCX rev.B || SBCX rev.B<br />
|-<br />
| Carrier Board [[ConfigID_and_UniqueID | ConfigID]]|| 0001 || 0002 || 0003 || 0012 || 0013<br />
|-<br />
| LCD panel || colspan="5" style="text-align: center" | Ampire 800 x 480 7" LVDS 262K colors (RGB666)<br>(AM-800480STMQW-TA1 or AM-800480SETMQW-TA1H)<br />
|-<br />
| Touchscreen || colspan="1" | resistive || colspan="1" | resistive || colspan="1" | capacitive || colspan="1" | resistive || colspan="1" style="text-align: center" | capacitive<br />
|-<br />
| bootscript || colspan="1" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_boot.scr|boot.scr]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_sbcx_boot.scr|boot.scr]]<br />
|-<br />
| U-Boot || colspan="1" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_mx6qaxel_spi_u-boot.imx|u-boot (Quad - boot from NOR)]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_mx6dlaxel_nand_u-boot.imx|u-boot (DualLite - boot from NAND)]] <br />
|-<br />
| Linux kernel || colspan="5" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_uImage|uImage]]<br />
|-<br />
| Linux kernel<br>(Android 4.4.2) || colspan="5" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.0-andr_uImage|uImage]]<br />
|-<br />
| Device tree (Quad processor) || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6q-xelk-l.dtb|imx6q-xelk-l.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6q-sbcx.dtb|imx6q-sbcx-cb0002.dtb]] || Not available || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6q-sbcx-cb0012.dtb|imx6q-sbcx-cb0012.dtb]] || Not available<br />
|-<br />
| Device tree (DualLite processor) || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-xelk-l.dtb|imx6dl-xelk-l.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-sbcx.dtb|imx6dl-sbcx-cb0002.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-sbcx-cb0003.dtb|imx6dl-sbcx-cb0003.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-sbcx-cb0012.dtb|imx6dl-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-sbcx-cb0013.dtb|imx6dl-sbcx-cb0013.dtb]]<br />
|}<br />
{| class="wikitable"<br />
|-<br />
! Image !! colspan="5" |XELK version 3.0.1<br />
|-<br />
| Platform || XELK rev.A || SBCX rev.B || SBCX rev.B<br />
|-<br />
| Carrier Board [[ConfigID_and_UniqueID | ConfigID]]|| 0001 || 0012 || 0013<br />
|-<br />
| LCD panel || colspan="5" style="text-align: center" | Ampire 800 x 480 7" LVDS 262K colors (RGB666)<br>(AM-800480STMQW-TA1 or AM-800480SETMQW-TA1H)<br />
|-<br />
| Touchscreen || colspan="1" | resistive || colspan="1" | resistive || colspan="1" style="text-align: center" | capacitive<br />
|-<br />
| bootscript || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.1_boot.scr|boot.scr]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.1_boot.scr|boot.scr]]<br />
|-<br />
| U-Boot || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.2_mx6qaxel_spi_u-boot.imx|u-boot (Quad - boot from NOR)]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.2_mx6dlaxel_nand_u-boot.imx|u-boot (DualLite - boot from NAND)]] <br />
|-<br />
| Linux kernel || colspan="5" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.0_uImage|uImage]]<br />
|-<br />
| Device tree (Quad processor) || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6q-xelk-l.dtb|imx6q-xelk-l.dtb]] || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6q-sbcx-cb0012.dtb|imx6q-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6q-sbcx-cb0013.dtb|imx6q-sbcx-cb0013.dtb]]<br />
|-<br />
| Device tree (DualLite processor) || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6dl-xelk-l.dtb|imx6dl-xelk-l.dtb]] || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6dl-sbcx-cb0012.dtb|imx6dl-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6dl-sbcx-cb0013.dtb|imx6dl-sbcx-cb0013.dtb]]<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
! Image !! colspan="3" |XELK version 3.5.0 (QUAD/DUAL LITE)<br />
|-<br />
| Platform || colspan="2" style="text-align: center" |XELK / SBCX<br />
|-<br />
| U-Boot SPL || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.5.0/xelk-3.5.0_mx6qdlaxel_spi_SPL|SPL (boot from NOR)]] || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.5.0/xelk-3.5.0_mx6qdlaxel_nand_SPL|SPL (boot from NAND)]] <br />
|-<br />
| U-Boot img || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.5.0/xelk-3.5.0_mx6qdlaxel_spi_u-boot.img| img (boot from NOR)]] || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.5.0/xelk-3.5.0_mx6qdlaxel_nand_u-boot.img|img (boot from NAND)]] <br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
! Image !! colspan="5" |XELK version 4.0.0<br />
|-<br />
| Platform || XELK rev.A || SBCX rev.B || SBCX rev.B<br />
|-<br />
| Carrier Board [[ConfigID_and_UniqueID | ConfigID]]|| 0001 || 0012 || 0013<br />
|-<br />
| LCD panel || colspan="5" style="text-align: center" | Ampire 800 x 480 7" LVDS 262K colors (RGB666)<br>(AM-800480STMQW-TA1 or AM-800480SETMQW-TA1H)<br />
|-<br />
| Touchscreen || colspan="1" | resistive || colspan="1" | resistive || colspan="1" style="text-align: center" | capacitive<br />
|-<br />
| bootscript || colspan="1" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_boot.scr|boot.scr]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_boot.scr|boot.scr]]<br />
|-<br />
| U-Boot SPL || colspan="1" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_mx6qdlaxel_spi_SPL|SPL (Quad - boot from NOR)]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_mx6qdlaxel_nand_SPL|SPL (DualLite - boot from NAND)]] <br />
|-<br />
| U-Boot || colspan="1" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_mx6qdlaxel_spi_u-boot.img|img (Quad - boot from NOR)]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_mx6qdlaxel_nand_u-boot.img|img (DualLite - boot from NAND)]] <br />
|-<br />
| Linux kernel || colspan="5" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_uImage|uImage]]<br />
|-<br />
| Device tree (Quad processor) || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6q-xelk-l-2.0.0.dtb|imx6q-xelk-l-2.0.0.dtb]] || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6q-sbcx-cb0012.dtb|imx6q-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6q-sbcx-cb0013.dtb|imx6q-sbcx-cb0013.dtb]]<br />
|-<br />
| Device tree (DualLite processor) || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6dl-xelk-l.dtb|imx6dl-xelk-l.dtb]] || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6dl-sbcx-cb0012.dtb|imx6dl-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6dl-sbcx-cb0013.dtb|imx6dl-sbcx-cb0013.dtb]]<br />
|}<br />
<br />
==== XELK microSD Layout ====<br />
<br />
The microSD provided with XELK is used to store:<br />
* A bootable partition (mmcblk0p1, vfat) containing:<br />
** binary images (u-boot and kernel images)<br />
** XELK documentation<br />
** XELK DVDK virtual machine image<br />
* XELK root file system partition (mmcblk0p2, ext3)<br />
<br />
XELK contains all 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:<br />
<br />
* VirtualBox virtual machine (.OVA archive)<br />
* Based on Lubuntu 14.04 LTS (64-bit version)<br />
* Pre-installed VirtualBox Guest Additions<br />
* LXDE desktop environment<br />
* Boot disk with the distro and pre-configured basic Linux services:<br />
** TFTP: with base directory /srv/tftp/<br />
** NFS: configured through the /etc/exports file<br />
* Secondary disk containing source code and tools:<br />
** Bootloader (u-boot) source tree cloned from DAVE Embedded Systems public git repository <br />
** Linux kernel source tree cloned from DAVE Embedded Systems public git repository<br />
** External pre-built toolchain<br />
** Yocto bsp for AXEL<br />
* Pre-installed Yocto-based root file systems with setup scripts, makefiles, example applications, ...<br />
* 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)<br />
<br />
Please note that XELK u-boot and kernel source trees are derived from the official trees released by NXP/Freescale; these trees have been customized to add support for the Axel SOM.<br />
<br />
=== XELK Updates ===<br />
<br />
{{ImportantMessage|text=It's recommended to use the latest available XELK version. Please refer to [[Axel_Embedded_Linux_Kit_(XELK)#Release notes | Release notes]] for further information.}}<br />
<br />
==== Updating git repositories ====<br />
<br />
In XELK, the following source trees are clones of '''DAVE Embedded Systems''' public git repositories:<br />
<br />
{| class="wikitable" <br />
|-<br />
!| Component<br />
!GIT Remote<br />
!XELK Installation Directory<br />
|-<br />
|Linux<br />
|git@git.dave.eu:dave/axel/linux-2.6-imx.git<br />
|/home/dvdk/xelk/linux-2.6-imx<br />
|-<br />
|U-Boot<br />
|git@git.dave.eu:dave/axel/u-boot-imx.git<br />
|/home/dvdk/xelk/u-boot-imx<br />
|-<br />
|Yocto BSP<br />
|git@git.dave.eu:dave/axel/axel-bsp.git<br />
|/home/dvdk/xelk/axel-bsp<br />
|-<br />
|}<br />
<br />
This means that these components can be kept in sync and up to date with '''DAVE Embedded Systems''' repositories.<br />
<br />
==== RSA key generation ====<br />
<br />
Please follow the procedure reported below to generate the RSA ssh key:<br />
<br />
* select your username (ad es. username@myhost.com)<br />
* start the DVDK and login into the virtual machine<br />
* start a shell session<br />
* enter the .ssh subdirectory into your home directory: <code>cd ~/.ssh/</code><br />
* launch the following command: <br><pre>ssh-keygen -t rsa -C "username@myhost.com" -f username@myhost.com</pre><br />
* this command creates the files <code>~/.ssh/username@myhost.com</code> ('''private key''') and <code>~/.ssh/username@myhost.com.pub</code> ('''public key''')<br />
* edit your <code>~/.ssh/config</code> adding the following lines:<br />
<br />
<pre><br />
Host git.dave.eu<br />
User git<br />
Hostname git.dave.eu<br />
PreferredAuthentications publickey<br />
IdentityFile ~/.ssh/username@myhost.com<br />
</pre><br />
<br />
Please send the public key file to one of the following email support addresses (depending on which SOM is included in your kit version)<br />
<br />
* [mailto:support-axel@dave.eu support-axel@dave.eu]<br />
<br />
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.<br />
<br />
==== Synchronizing the repository ====<br />
<br />
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:<br />
<br />
<pre class="workstation-terminal"><br />
dvdk@dvdk-vm:~$ cd /home/dvdk/xelk/linux-2.6-imx/<br />
dvdk@dvdk-vm:/home/dvdk/xelk/linux-2.6-imx$ git fetch origin<br />
</pre><br />
<br />
Please note that <code>git fetch</code> doesn't merge the commits on the current branch. To do that, you should run <br />
<br />
<pre class="workstation-terminal"><br />
git merge origin/axel<br />
</pre><br />
<br />
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].<br />
<br />
== Release types ==<br />
<br />
XELK release type can be:<br />
* '''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<br />
* '''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<br />
<br />
As an example, XELK 2.2.0 is a maintenance release, so it provides the DVDK released with the 2.0.0 major release; customers can easily upgrade to the 2.2.0 release by updating the software components as described in [[Axel_Embedded_Linux_Kit_(XELK)#XELK_Updates|XELK Updates]].<br />
<br />
== Release notes ==<br />
<br />
{{ImportantMessage|text=After the XELK DVDK installation, please check for updates of the source tree repositories provided with the kit, as described in [[Axel_Embedded_Linux_Kit_(XELK)#XELK_Updates | XELK Updates]].}}<br />
<br />
=== XELK 4.0.0 ===<br />
<br />
* Release date: N.A.<br />
* Status: Working In Progress<br />
* NXP Linux BSP: L4.9.11-1.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu, SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=New MVM must be installed for using XELK-4.0.0. The VM is available for download on DAVE's XELK Reserved Area for registered users.}}<br />
<br />
* Major change to NXP BSP 4.9.11<br />
* Updated u-boot and kernel versions<br />
* Updated Yocto version<br />
* Updated Qt version<br />
<br />
=== XELK 3.5.0 ===<br />
<br />
* Release date: 04/2019<br />
* Status: Released<br />
* NXP Linux BSP: L4.1.15-2.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu, SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=NXP iMX6 silicon revision 1.4 limited the u-boot binary size (due to bug fix in bootrom code). This required the switch to u-boot <b>SPL</b> version (first and second stage).}}<br />
<br />
* Major change to u-boot SPL version<br />
* Updated u-boot version<br />
<br />
=== XELK 3.0.1 ===<br />
<br />
* Release date: 17/11/2017<br />
* Status: released<br />
* NXP Linux BSP: L4.1.15-2.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu, SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=New MVM must be installed for using XELK-3.0.1. The VM is available for download on DAVE's XELK Reserved Area for registered users.}}<br />
<br />
* Major change to NXP BSP 4.1.15<br />
* Updated u-boot and kernel versions<br />
* Updated Yocto version<br />
* Updated Qt version<br />
<br />
=== XELK 2.3.1 ===<br />
<br />
* Release date: 18/10/2016<br />
* Status: released<br />
* Freescale Linux BSP: L3.10.17-1.0.3<br />
* Supported carrier boards: SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=It's highly recommended to read the [[ConfigID and UniqueID]] page.}}<br />
<br />
* Added support for other ConfigID splash screen on u-boot<br />
* Added support for other ConfigID on linux with related device-tree source code and binaries<br />
* Bug fixes and minor changes<br />
<br />
=== XELK 2.2.0 ===<br />
<br />
* Release date: 03/02/2016<br />
* Status: released<br />
* Freescale Linux BSP: L3.10.17-1.0.3<br />
* Supported carrier boards: AxelEVB-Lite on Dacu, SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=It's highly recommended to read the [[ConfigID and UniqueID]] page.}}<br />
<br />
* Added splash screen support in U-Boot<br />
* Added support for SBCX carrier board<br />
* Updated u-boot and kernel versions<br />
* Bug fixes and minor changes<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software (not on SBC AXEL)<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10). SBC AXEL is not affected by this issue.<br />
|-<br />
|Ethernet<br />
|10 Mbps connections have not been tested<br />
|-<br />
|}<br />
<br />
=== XELK 2.1.0 ===<br />
<br />
* Release date: 04/05/2015<br />
* Status: released<br />
* Freescale Linux BSP: L3.10.17-1.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=It's highly recommended to read the [[ConfigID and UniqueID]] page.}}<br />
<br />
* Updated u-boot and kernel versions<br />
* Bug fixes and minor changes<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|10 Mbps connections have not been tested<br />
|-<br />
|}<br />
<br />
=== XELK 2.0.0 ===<br />
<br />
* Release date: 26/11/2014<br />
* Status: released<br />
* Freescale Linux BSP: L3.10.17-1.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
<br />
==== Notes ====<br />
<br />
* Added support for Yocto 1.5<br />
* Updated u-boot and kernel versions<br />
* Bug fixes and minor changes<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
| ETH0 interface<br />
| On AxelEVB-Lite, there is a mistake in the connection of the center tap pins. They should be separated from one another and connected through separate 0.1μF common-mode capacitors to ground (for further details (eg: connection and selection of the magnetics), please refer to the Micrel KSZ9031RNX datasheet).<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|10 Mbps connections have not been tested<br />
|-<br />
|}<br />
<br />
=== XELK 1.2.0 ===<br />
<br />
* Release date: 20/05/2014<br />
* Status: released<br />
* Freescale Linux BSP: L3.0.35-4.1.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
<br />
==== Notes ====<br />
<br />
* Added support for Axel Lite SOM<br />
* Bug fixes and minor changes<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|SD1<br />
|SD1 interface (available on the Axel Lite adapter board as microSD connector) detects the card only if it is inserted before booting Linux<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|10 Mbps connections have not been tested<br />
|-<br />
|}<br />
<br />
=== XELK 1.1.0 ===<br />
<br />
* Release date: January, 29th 2014<br />
* Status: released<br />
* Freescale Linux BSP: L3.0.35-4.1.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
<br />
==== Notes ====<br />
<br />
* Minor update that adds support for more peripherals: nand, rtc, i2c, spi<br />
* Touch screen works properly<br />
* CAN works @ 1Mbps<br />
* The system can boot from SD<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|Boot modes<br />
|This kit version supports boot from USB (for recovery purpose), from SPI nor flash and from SD card. Boot from NAND flash will be available on a future release.<br />
|-<br />
|CPU cores<br />
|Max 2 cores. 3rd and 4th cores will be available on a future release.<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|Verified speeds: 1 Gbps and 100 Mbps<br />
|-<br />
|}<br />
<br />
=== XELK 1.0.0 ===<br />
<br />
* Release date: November, 4th 2013<br />
* Status: released<br />
* Freescale Linux BSP: L3.0.35-4.1.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
==== Notes ====<br />
<br />
* First official release<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|Boot modes<br />
|This kit version supports boot from USB (for recovery purpose) and from SPI nor flash. Other boot devices (MicroSD, NAND flash, ..) will be available on a future release.<br />
|-<br />
|CPU cores<br />
|Max 2 cores. 3rd and 4th cores will be available on a future release.<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|Verified speeds: 1 Gbps and 100 Mbps<br />
|-<br />
|CAN<br />
|Maximum supported speed: 500 kbps<br />
|-<br />
|Touch controller<br />
|Touch events are detected, but touch point is not resolved with precision<br />
|-<br />
|}<br />
<br />
== Quick start guide ==<br />
This chapter describes how to quickly start working with the XELK kit. The following paragraphs will guide you through the setup and installation procedures.<br />
<br />
===Kit registration===<br />
{{ImportantMessage|text='''Customers are strongly recommended to register their kits'''. Registration grants access to reserved material such as source code and additional documentation.}}<br />
<br />
To register the kit, please send an email to [mailto:support-axel@dave.eu support-axel@dave.eu], [[Development_Kits_Identification_Codes|providing the kit P/N and S/N]].<br />
<br />
If you also wish to access git repositories containing source code, please follow the procedure described [[Accessing_DAVE_Embedded_Systems_restricted_git_repositories|here]].<br />
<br />
===Target setup and first boot===<br />
This section describes how to quick start the AxelEVB board delivered along with XELK kit (see also the following image). The hardware setup is the same for AxelUltra and AxelLite SOMs.<br />
[[File:AxelUltra-AxelEVB.jpg|thumb|center|600px|Axel Ultra/AxelEVB setup]]<br />
The microSD provided with the XELK can be used to boot the system, since it contains a bootable partition (<code>mmcblk0p1</code>) and a root file system partition (<code>mmcblk0p2</code>).<br />
#Insert the MicroSD card provided with the development kit into the microSD slot<br />
#Connect the 12V power supply to the JP2 socket on the DACU board<br />
#(optional) To access the serial console:<br />
#*Connect a serial cable between the J251 connector on the DACU board and PC COM port through a null-modem (https://en.wikipedia.org/wiki/Null_modem) cable (not provided)<br />
#*Start your favorite terminal software on hist side; communication parameters are:<br />
#**Baud rate: 115200 Bps<br />
#**Data bits: 8<br />
#**Stop bits: 1<br />
#**Parity: none<br />
#(optional) To connect the system to Ethernet LAN, please plug cable on connector J6 connector of the AXELEVB-Lite<br />
<br />
By default, the system is configured to boot automatically from the microSD card when powered up.<br />
<br />
===Binary images on SD card===<br />
XELK SD card contains all binary images required for booting the system completely from kernel/dtb (stored on first SD <code>fat</code> card partition) to <code>ext3</code> root file system (stored on second SD card partition).<br />
<br />
Once you got the new binaries compiled from your modified sources, they have to be installed on first SD partition preserving the original file names used into <i>boot.scr</i> u-boot bootscript.<br />
<br />
Otherwise, you may create a new '''boot.scr''' file using different file names. Here below there is an example on how to create a boot.scr file for booting from SD card:<br />
<br />
The '''bootscript.txt''' is the text version of the <i>boot.scr</i> file:<br />
<br />
<pre><br />
echo 'bootscript generated with command "mkimage -A ARM -T script -C none -n XELK -d bootscript.txt boot.scr"'<br />
<br />
setenv fdtfile imx6q-xelk-l.dtb<br />
setenv bootfile uImage<br />
<br />
setenv mmc_loadk 'fatload mmc ${mmcdev}:1 ${loadaddr} ${bootfile}'<br />
setenv mmc_loadfdt 'fatload mmc ${mmcdev}:1 ${fdtaddr} ${fdtfile}'<br />
setenv mmcboot 'run mmc_loadk mmc_loadfdt mmcargs addip addcons addmisc adddisp0; bootm ${loadaddr} - ${fdtaddr}'<br />
<br />
echo Booting AxelLite-XELK via mmcboot<br />
<br />
run mmcboot<br />
<br />
echo mmcboot FAILURE<br />
</pre><br />
<br />
and compile it using:<br />
<br />
<pre><br />
mkimage -A ARM -T script -C none -n XELK -d bootscript.txt boot.scr<br />
</pre><br />
<br />
Then copy the kernel, dtb and boot.scr into the SD card first partion (the FAT one) and boot XELK with the new images.<br />
<br />
===Host setup===<br />
As stated previously, XELK host tools are based on a [[Managed_Virtual_Machine_(MVM)|Managed Virtual Machine]]. As indicated [[Axel_Embedded_Linux_Kit_(XELK)#XELK_microSD_Layout|here]], microSD card delivered along with XELK includes basic version of MVM that is the default option.<br />
<br />
Please follows the README file on the SD card to extract the ''*.ova'' archive and to install the MVM.<br />
<br />
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]].<br />
<br />
{{ImportantMessage|text=The MVM provides the tools required to build [[Building_U-Boot_(XELK)|U-boot]] and [[Building_Linux_kernel_(XELK)|Linux kernel]]. It does not include the tools required to run Yocto build system instead.}}<br />
<br />
XELK MVM can be downloaded [https://cloud.dave.eu/ws-reserved-area-xelk/XELK-3.0.1 here]. For accessing <b><i>XELK Reserved area</i></b> please contact our [mailto:sales@dave.eu sales department]<br />
<br />
===Target configuration for the development stage (<code>net_nfs</code>)===<br />
<br />
{{ImportantMessage|text=The default XELK Virtual Machine network configuration is using NAT: this allows to accessing external network (i.e. Internet) using the host computer's networking connection. <br />
For software development using <code>net_nfs</code> with tftp/nfs protocols, please configure your VM network interface in ''Bridge mode'' (see below)}}<br />
<br />
During the development stage, the target is usually connected via Ethernet LAN to the host machine and is configured to:<br />
*retrieve binary images (i.e. Linux kernel) via TFTP protocol<br />
*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]]. An example of ''Bridge mode'' configuration for DIVELK can be found [[Booting_from_NFS_(XELK) | here]]<br />
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]].<br />
<br />
For more details about TFTP and NFS servers on host side, please refer to this [[Setting_up_tftp_and_nfs|page]].<br />
<br />
===Target configuration for standalone boot===<br />
Please refer to [[Standalone_boot_(XELK)|this page]].<br />
<br />
==Related Documents ==<br />
<br />
* [[:Category:AxelUltra|AXEL ULTRA]]<br />
* [[:Category:AxelLite|AXEL LITE]]<br />
* [[AxelEVB-Lite | AxelEVB-Lite]]<br />
* [[FAQs_(Axel) | Axel FAQs]]<br />
* [[Hardware Manual (AxelUltra) | Axel Ultra Hardware Manual]]<br />
* [[Hardware Manual (AxelLite) | Axel Lite Hardware Manual]]<br />
* [[:Category:Dacu | Dacu category page]]<br />
* [[Dacu | Dacu carrier board]]<br />
* [[Dacu_for_the_Axel_SOM | Dacu for the Axel SOM]]<br />
<br />
[[Category:SBC-AXEL]]</div>
U0017
https://wiki.dave.eu/index.php?title=Axel_Embedded_Linux_Kit_(XELK)&diff=8660
Axel Embedded Linux Kit (XELK)
2019-07-12T14:16:51Z
<p>U0017: </p>
<hr />
<div>{{InfoBoxTop}}<br />
{{AppliesToDacu}}<br />
{{AppliesToAxel}}<br />
{{AppliesToAxelLite}}<br />
{{AppliesToAxelEsatta}}<br />
{{InfoBoxBottom}}<br />
<br />
==Introduction==<br />
{{ImportantMessage|text='''Customers are strongly recommended to register their kits'''. Registration grants access to reserved material such as source code and additional documentation.<br />
<br />
To register the kit, please send an email to [mailto:support-axel@dave.eu support-axel@dave.eu], [[Development_Kits_Identification_Codes|providing the kit P/N and S/N]].}}<br />
<br />
[[File:Axel-on-evb-02.png|500px]]<br />
<br />
Axel Embedded Linux Kit (XELK for short) provides all the necessary components required to set up the developing environment to:<br />
* build the bootloader (U-Boot)<br />
* build and run Linux operating system on Axel-based systems<br />
* build Linux applications that will run on the target.<br />
The main kit components are:<br />
* hardware platform composed of<br />
** Axel system-on-module (SOM for short)<br />
** AxelEVB-Lite plugged on Dacu carrier board<br />
** 800x480 7" LVDS display <br />
* Development virtual machine containing:<br />
** Toolchain<br />
** U-Boot bootloader sources<br />
** Linux kernel sources<br />
** Root file systems<br />
* Technical documentation such hardware manuals, mechanical drawings, reference schematics, application notes etc. <br />
<br />
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 Axel hardware characteristics, please refer to the Axel Hardware Manual. An account for the reserved area of [http://www.dave.eu '''DAVE Embedded Systems''' website] is required to access the kit contents.<br />
<br />
==Kit Contents==<br />
<br />
{| class="wikitable" <br />
|-<br />
!Component<br />
!Description<br />
!Notes<br />
|-<br />
| style="text-align: center;" | [[File:Axel-01.png|60px]]<br />
|Axel Ultra SOM (or Axel Lite SOM) <br>CPU: Freescale i.MX6<br>SDRAM: 2 GB DDR3<br>NOR: bootable SPI flash 32 MB<br>NAND: 1GB<br />
|Please refer to [[Hardware Manual (AxelUltra) | Axel Ultra Hardware Manual]]<br />
|-<br />
| style="text-align: center;" | [[File:Axelevb-lite-01.png|60px]]<br />
|AxelEVB-Lite Carrier board<br />
|Please refer to [[AxelEVB-Lite | AxelEVB-Lite]] page<br />
|-<br />
| style="text-align: center;" | [[File:Dacu-top-view.png|80px]]<br />
|Dacu Carrier board<br />
|Please refer to [[Dacu | Dacu]] page<br />
|-<br />
| style="text-align: center;" | [[File:Display.jpg|60px]]<br />
|Ampire AM-800480STMQW<br>7” 800x480 LCD display<br>LVDS interface<br />
|Please refer to [[XELK Quick Start Guide]]<br />
|-<br />
| style="text-align: center;" | [[File:Alimentatore.jpg|40px]]<br />
|AC/DC Single Output Wall Mount adapter<br>Output: +12V – 2.0 A<br />
|Please refer to [[XELK Quick Start Guide]]<br />
|-<br />
| style="text-align: center;" | [[File:Cavetto-seriale2.jpg|50px]]<br />
|DB9 Male Serial port adapter<br />
|Please refer to [[XELK Quick Start Guide]]<br />
|-<br />
| style="text-align: center;" | [[File:ProdSDC-MBLY-thumb.png|50px]]<br />
|MicroSDHC card with SD adapter and USB adapter<br />
|Please refer to [[XELK Quick Start Guide]]<br />
|-<br />
|}<br />
<br />
== XELK software components ==<br />
<br />
'''DAVE Embedded Systems''' adds to the latest Linux BSP from NXP/Freescale the customization required to support the Axel platform. For this reason most of the documentation provided by NXP/Freescale remains valid for the XELK development kit. However, some customization is required, in particular at bootloader and linux kernel levels.<br />
<br />
The following table reports the XELK releases information.<br />
{| class="wikitable" <br />
!<br />
! colspan="10" | XELK version<br />
|-<br />
|Release number<br />
|1.0.0<br />
|1.1.0<br />
|1.2.0<br />
|2.0.0<br />
|2.1.0<br />
|2.2.0<br />
|2.3.1<br />
|3.0.1<br />
|3.5.0<br />
|4.0.0<br />
|-<br />
|Release type<br />
|Major<br />
|Maintenance<br />
|Maintenance<br />
|Major<br />
|Maintenance<br />
|Maintenance<br />
|Maintenance<br />
|Major<br />
|Maintenance<br />
|Major<br />
|-<br />
|Status<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|In progress<br />
|-<br />
|Release date<br />
|November, 4th 2013<br />
|January 2014<br />
|May 2014<br />
|November 2014<br />
|May 2015<br />
|February 2016<br />
|October 2016<br />
|November 2017<br />
|April 2019<br />
|Q3 2019<br />
|-<br />
|'''Release notes'''<br />
|[[#XELK 1.0.0 | Ver 1.0.0]]<br />
|[[#XELK 1.1.0 | Ver 1.1.0]]<br />
|[[#XELK 1.2.0 | Ver 1.2.0]]<br />
|[[#XELK 2.0.0 | Ver 2.0.0]]<br />
|[[#XELK 2.1.0 | Ver 2.1.0]]<br />
|[[#XELK 2.2.0 | Ver 2.2.0]]<br />
|[[#XELK 2.3.1 | Ver 2.3.1]]<br />
|[[#XELK 3.0.1 | Ver 3.0.1]]<br />
|[[#XELK 3.5.0 | Ver 3.5.0]]<br />
|[[#XELK 4.0.0 | Ver 4.0.0]]<br />
|-<br />
|SOM PCB version<br />
|Axel Ultra: CS030713<br />
|Axel Ultra: CS030713A<br />
|Axel Ultra: CS030713A<br>Axel Lite: CS335013A<br />
|Axel Ultra: CS030713A<br>Axel Lite: CS335013A<br />
|Axel Ultra: CS030713B<br>Axel Lite: CS335013A<br />
|Axel Ultra: CS030713B<br>Axel Lite: CS335013A<br />
|Axel Ultra: CS030713B<br>Axel Lite: CS335013A<br>Axel Lite: CS335013C<br />
|Axel Lite: CS335013A<br>Axel Lite: CS335013C<br />
|Axel Lite: CS335013A<br>Axel Lite: CS335013C<br />
|Axel Lite: CS335013A<br>Axel Lite: CS335013C<br />
|--<br />
|Supported carrier boards<br />
|<span class="plainlinks">[{{fullurl:AxelEVB-Lite|oldid=2970}} AxelEVB-Lite]</span><br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|-<br />
|U-Boot version<br />
|2013.10-xelk-1.0.0<br />
|2013.10-xelk-1.1.0<br />
|2013.10-xelk-1.2.0<br />
|2013.04-xelk-2.0.0<br />
|2013.04-xelk-2.1.0<br />
|2013.04-xelk-2.2.0<br />
|2013.04-xelk-2.3.1<br />
|2016.03-xelk-3.0.2<br />
|2016.03-xelk-3.5.0<br />
|2017.03-xelk-4.0.0<br />
|-<br />
|Linux version<br />
|3.0.35-xelk-1.0.0<br />
|3.0.35-xelk-1.1.0<br />
|3.0.35-xelk-1.2.0<br />
|3.10.17-xelk-2.0.0<br />
|3.10.17-xelk-2.1.0<br />
|3.10.17-xelk-2.2.0<br />
|3.10.17-xelk-2.3.1<br />
|4.1.15-xelk-3.0.0<br />
|4.1.15-xelk-3.0.0<br />
|4.9.11-xelk-4.0.0<br />
|-<br />
|Drivers<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br>SPL boot[2]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br>SPL boot[2]<br />
|-<br />
|NXP/Freescale BSP version<br />
|L3.0.35-4.1.0<br />
|L3.0.35-4.1.0<br />
|L3.0.35-4.1.0 <br />
|L3.10.17-1.0.0<br />
|L3.10.17-1.0.0<br />
|L3.10.17-1.0.3<br />
|L3.10.17-1.0.3<br />
|L4.1.15-2.0.0<br />
|L4.1.15-2.0.0<br />
|L4.9.11_1.0.0<br />
|-<br />
|Graphic libraries<br />
|Qt 4.8<br />
|Qt 4.8<br />
|Qt 4.8<br />
|Qt 5.3.2<br />
|Qt 5.3.2<br />
|Qt 5.3.2<br />
|Qt 5.3.2<br />
|Qt 5.6.2<br />
|Qt 5.6.2<br />
|Qt 5.9.8<br />
|-<br />
|Build System<br />
|LTIB<br />
|LTIB<br />
|LTIB<br />
|Yocto Dora (1.5) <br />
|Yocto Dora (1.5) <br />
|Yocto Dora (1.5) <br />
|Yocto Dora (1.5) <br />
|Yocto Krogoth (2.1)<br />
|Yocto Krogoth (2.1)<br />
|Yocto Morty (2.2)<br />
|-<br />
|Android<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|Kitkat 4.4.2<br />
|Marshmallow 6.0.1<br />
|Marshmallow 6.0.1<br />
|<br />
|}<br />
<br />
[1] Splashscreen on LVDS0<br />
<br />
[2] U-Boot SPL version<br />
<br />
====Downloadable binary images====<br />
<br />
<br />
All binary images for XELK are hosted on [[mirror:axel|DAVE Embedded System mirror server]]. There you can find a sub directory for each version of this development kit.<br />
<br />
A summary of images with a brief description can be found into the table below:<br />
<br />
{{ImportantMessage|text=In order to boot Linux from SD card files, '''the binary files must be renamed''' as follows:<br />
*bootscript: <code>boot.scr</code><br />
<br />
U-boot file <code>u-boot.imx</code> must be stored into first raw sector of the SD card using <code>dd</code> command<br />
<br />
Since XELK-3.5.0 u-boot performs 2-stage bootloader providing two files: SPL and u-boot.img.<br />
<br />
These files must be stored into first raw sector of the SD card using <code>dd</code> command}} <br />
{| class="wikitable"<br />
|-<br />
! Image !! colspan="5" |XELK version 2.3.1<br />
|-<br />
| Platform || XELK rev.A || SBCX rev.A || SBCX rev.A || SBCX rev.B || SBCX rev.B<br />
|-<br />
| Carrier Board [[ConfigID_and_UniqueID | ConfigID]]|| 0001 || 0002 || 0003 || 0012 || 0013<br />
|-<br />
| LCD panel || colspan="5" style="text-align: center" | Ampire 800 x 480 7" LVDS 262K colors (RGB666)<br>(AM-800480STMQW-TA1 or AM-800480SETMQW-TA1H)<br />
|-<br />
| Touchscreen || colspan="1" | resistive || colspan="1" | resistive || colspan="1" | capacitive || colspan="1" | resistive || colspan="1" style="text-align: center" | capacitive<br />
|-<br />
| bootscript || colspan="1" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_boot.scr|boot.scr]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_sbcx_boot.scr|boot.scr]]<br />
|-<br />
| U-Boot || colspan="1" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_mx6qaxel_spi_u-boot.imx|u-boot (Quad - boot from NOR)]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_mx6dlaxel_nand_u-boot.imx|u-boot (DualLite - boot from NAND)]] <br />
|-<br />
| Linux kernel || colspan="5" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_uImage|uImage]]<br />
|-<br />
| Linux kernel<br>(Android 4.4.2) || colspan="5" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.0-andr_uImage|uImage]]<br />
|-<br />
| Device tree (Quad processor) || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6q-xelk-l.dtb|imx6q-xelk-l.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6q-sbcx.dtb|imx6q-sbcx-cb0002.dtb]] || Not available || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6q-sbcx-cb0012.dtb|imx6q-sbcx-cb0012.dtb]] || Not available<br />
|-<br />
| Device tree (DualLite processor) || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-xelk-l.dtb|imx6dl-xelk-l.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-sbcx.dtb|imx6dl-sbcx-cb0002.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-sbcx-cb0003.dtb|imx6dl-sbcx-cb0003.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-sbcx-cb0012.dtb|imx6dl-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-sbcx-cb0013.dtb|imx6dl-sbcx-cb0013.dtb]]<br />
|}<br />
{| class="wikitable"<br />
|-<br />
! Image !! colspan="5" |XELK version 3.0.1<br />
|-<br />
| Platform || XELK rev.A || SBCX rev.B || SBCX rev.B<br />
|-<br />
| Carrier Board [[ConfigID_and_UniqueID | ConfigID]]|| 0001 || 0012 || 0013<br />
|-<br />
| LCD panel || colspan="5" style="text-align: center" | Ampire 800 x 480 7" LVDS 262K colors (RGB666)<br>(AM-800480STMQW-TA1 or AM-800480SETMQW-TA1H)<br />
|-<br />
| Touchscreen || colspan="1" | resistive || colspan="1" | resistive || colspan="1" style="text-align: center" | capacitive<br />
|-<br />
| bootscript || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.1_boot.scr|boot.scr]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.1_boot.scr|boot.scr]]<br />
|-<br />
| U-Boot || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.2_mx6qaxel_spi_u-boot.imx|u-boot (Quad - boot from NOR)]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.2_mx6dlaxel_nand_u-boot.imx|u-boot (DualLite - boot from NAND)]] <br />
|-<br />
| Linux kernel || colspan="5" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.0_uImage|uImage]]<br />
|-<br />
| Device tree (Quad processor) || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6q-xelk-l.dtb|imx6q-xelk-l.dtb]] || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6q-sbcx-cb0012.dtb|imx6q-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6q-sbcx-cb0013.dtb|imx6q-sbcx-cb0013.dtb]]<br />
|-<br />
| Device tree (DualLite processor) || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6dl-xelk-l.dtb|imx6dl-xelk-l.dtb]] || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6dl-sbcx-cb0012.dtb|imx6dl-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6dl-sbcx-cb0013.dtb|imx6dl-sbcx-cb0013.dtb]]<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
! Image !! colspan="3" |XELK version 3.5.0 (QUAD/DUAL LITE)<br />
|-<br />
| Platform || colspan="2" style="text-align: center" |XELK / SBCX<br />
|-<br />
| U-Boot SPL || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.5.0/xelk-3.5.0_mx6qdlaxel_spi_SPL|SPL (boot from NOR)]] || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.5.0/xelk-3.5.0_mx6qdlaxel_nand_SPL|SPL (boot from NAND)]] <br />
|-<br />
| U-Boot img || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.5.0/xelk-3.5.0_mx6qdlaxel_spi_u-boot.img| img (boot from NOR)]] || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.5.0/xelk-3.5.0_mx6qdlaxel_nand_u-boot.img|img (boot from NAND)]] <br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
! Image !! colspan="5" |XELK version 4.0.0<br />
|-<br />
| Platform || XELK rev.A || SBCX rev.B || SBCX rev.B<br />
|-<br />
| Carrier Board [[ConfigID_and_UniqueID | ConfigID]]|| 0001 || 0012 || 0013<br />
|-<br />
| LCD panel || colspan="5" style="text-align: center" | Ampire 800 x 480 7" LVDS 262K colors (RGB666)<br>(AM-800480STMQW-TA1 or AM-800480SETMQW-TA1H)<br />
|-<br />
| Touchscreen || colspan="1" | resistive || colspan="1" | resistive || colspan="1" style="text-align: center" | capacitive<br />
|-<br />
| bootscript || colspan="1" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_boot.scr|boot.scr]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_boot.scr|boot.scr]]<br />
|-<br />
| U-Boot SPL || colspan="1" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_mx6qdlaxel_spi_SPL|SPL (Quad - boot from NOR)]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_mx6qdlaxel_nand_SPL|SPL (DualLite - boot from NAND)]] <br />
|-<br />
| U-Boot || colspan="1" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_mx6qdlaxel_spi_u-boot.img|img (Quad - boot from NOR)]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_mx6qdlaxel_nand_u-boot.img|img (DualLite - boot from NAND)]] <br />
|-<br />
| Linux kernel || colspan="5" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_uImage|uImage]]<br />
|-<br />
| Device tree (Quad processor) || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6q-xelk-l-2.0.0.dtb|imx6q-xelk-l-2.0.0.dtb]] || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6q-sbcx-cb0012.dtb|imx6q-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6q-sbcx-cb0013.dtb|imx6q-sbcx-cb0013.dtb]]<br />
|-<br />
| Device tree (DualLite processor) || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6dl-xelk-l.dtb|imx6dl-xelk-l.dtb]] || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6dl-sbcx-cb0012.dtb|imx6dl-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6dl-sbcx-cb0013.dtb|imx6dl-sbcx-cb0013.dtb]]<br />
|}<br />
<br />
==== XELK microSD Layout ====<br />
<br />
The microSD provided with XELK is used to store:<br />
* A bootable partition (mmcblk0p1, vfat) containing:<br />
** binary images (u-boot and kernel images)<br />
** XELK documentation<br />
** XELK DVDK virtual machine image<br />
* XELK root file system partition (mmcblk0p2, ext3)<br />
<br />
XELK contains all 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:<br />
<br />
* VirtualBox virtual machine (.OVA archive)<br />
* Based on Lubuntu 14.04 LTS (64-bit version)<br />
* Pre-installed VirtualBox Guest Additions<br />
* LXDE desktop environment<br />
* Boot disk with the distro and pre-configured basic Linux services:<br />
** TFTP: with base directory /srv/tftp/<br />
** NFS: configured through the /etc/exports file<br />
* Secondary disk containing source code and tools:<br />
** Bootloader (u-boot) source tree cloned from DAVE Embedded Systems public git repository <br />
** Linux kernel source tree cloned from DAVE Embedded Systems public git repository<br />
** External pre-built toolchain<br />
** Yocto bsp for AXEL<br />
* Pre-installed Yocto-based root file systems with setup scripts, makefiles, example applications, ...<br />
* 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)<br />
<br />
Please note that XELK u-boot and kernel source trees are derived from the official trees released by NXP/Freescale; these trees have been customized to add support for the Axel SOM.<br />
<br />
=== XELK Updates ===<br />
<br />
{{ImportantMessage|text=It's recommended to use the latest available XELK version. Please refer to [[Axel_Embedded_Linux_Kit_(XELK)#Release notes | Release notes]] for further information.}}<br />
<br />
==== Updating git repositories ====<br />
<br />
In XELK, the following source trees are clones of '''DAVE Embedded Systems''' public git repositories:<br />
<br />
{| class="wikitable" <br />
|-<br />
!| Component<br />
!GIT Remote<br />
!XELK Installation Directory<br />
|-<br />
|Linux<br />
|git@git.dave.eu:dave/axel/linux-2.6-imx.git<br />
|/home/dvdk/xelk/linux-2.6-imx<br />
|-<br />
|U-Boot<br />
|git@git.dave.eu:dave/axel/u-boot-imx.git<br />
|/home/dvdk/xelk/u-boot-imx<br />
|-<br />
|Yocto BSP<br />
|git@git.dave.eu:dave/axel/axel-bsp.git<br />
|/home/dvdk/xelk/axel-bsp<br />
|-<br />
|}<br />
<br />
This means that these components can be kept in sync and up to date with '''DAVE Embedded Systems''' repositories.<br />
<br />
==== RSA key generation ====<br />
<br />
Please follow the procedure reported below to generate the RSA ssh key:<br />
<br />
* select your username (ad es. username@myhost.com)<br />
* start the DVDK and login into the virtual machine<br />
* start a shell session<br />
* enter the .ssh subdirectory into your home directory: <code>cd ~/.ssh/</code><br />
* launch the following command: <br><pre>ssh-keygen -t rsa -C "username@myhost.com" -f username@myhost.com</pre><br />
* this command creates the files <code>~/.ssh/username@myhost.com</code> ('''private key''') and <code>~/.ssh/username@myhost.com.pub</code> ('''public key''')<br />
* edit your <code>~/.ssh/config</code> adding the following lines:<br />
<br />
<pre><br />
Host git.dave.eu<br />
User git<br />
Hostname git.dave.eu<br />
PreferredAuthentications publickey<br />
IdentityFile ~/.ssh/username@myhost.com<br />
</pre><br />
<br />
Please send the public key file to one of the following email support addresses (depending on which SOM is included in your kit version)<br />
<br />
* [mailto:support-axel@dave.eu support-axel@dave.eu]<br />
<br />
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.<br />
<br />
==== Synchronizing the repository ====<br />
<br />
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:<br />
<br />
<pre class="workstation-terminal"><br />
dvdk@dvdk-vm:~$ cd /home/dvdk/xelk/linux-2.6-imx/<br />
dvdk@dvdk-vm:/home/dvdk/xelk/linux-2.6-imx$ git fetch origin<br />
</pre><br />
<br />
Please note that <code>git fetch</code> doesn't merge the commits on the current branch. To do that, you should run <br />
<br />
<pre class="workstation-terminal"><br />
git merge origin/axel<br />
</pre><br />
<br />
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].<br />
<br />
== Release types ==<br />
<br />
XELK release type can be:<br />
* '''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<br />
* '''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<br />
<br />
As an example, XELK 2.2.0 is a maintenance release, so it provides the DVDK released with the 2.0.0 major release; customers can easily upgrade to the 2.2.0 release by updating the software components as described in [[Axel_Embedded_Linux_Kit_(XELK)#XELK_Updates|XELK Updates]].<br />
<br />
== Release notes ==<br />
<br />
{{ImportantMessage|text=After the XELK DVDK installation, please check for updates of the source tree repositories provided with the kit, as described in [[Axel_Embedded_Linux_Kit_(XELK)#XELK_Updates | XELK Updates]].}}<br />
<br />
=== XELK 4.0.0 ===<br />
<br />
* Release date: N.A.<br />
* Status: Working In Progress<br />
* NXP Linux BSP: L4.9.11-1.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu, SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=New MVM must be installed for using XELK-4.0.0. The VM is available for download on DAVE's XELK Reserved Area for registered users.}}<br />
<br />
* Major change to NXP BSP 4.9.11<br />
* Updated u-boot and kernel versions<br />
* Updated Yocto version<br />
* Updated Qt version<br />
<br />
=== XELK 3.5.0 ===<br />
<br />
* Release date: 04/2019<br />
* Status: Released<br />
* NXP Linux BSP: L4.1.15-2.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu, SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=NXP iMX6 silicon revision 1.4 limited the u-boot binary size (due to bug fix in bootrom code). This required the switch to u-boot <b>SPL</b> version (first and second stage).}}<br />
<br />
* Major change to u-boot SPL version<br />
* Updated u-boot version<br />
<br />
=== XELK 3.0.1 ===<br />
<br />
* Release date: 17/11/2017<br />
* Status: released<br />
* NXP Linux BSP: L4.1.15-2.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu, SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=New MVM must be installed for using XELK-3.0.1. The VM is available for download on DAVE's XELK Reserved Area for registered users.}}<br />
<br />
* Major change to NXP BSP 4.1.15<br />
* Updated u-boot and kernel versions<br />
* Updated Yocto version<br />
* Updated Qt version<br />
<br />
=== XELK 2.3.1 ===<br />
<br />
* Release date: 18/10/2016<br />
* Status: released<br />
* Freescale Linux BSP: L3.10.17-1.0.3<br />
* Supported carrier boards: SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=It's highly recommended to read the [[ConfigID and UniqueID]] page.}}<br />
<br />
* Added support for other ConfigID splash screen on u-boot<br />
* Added support for other ConfigID on linux with related device-tree source code and binaries<br />
* Bug fixes and minor changes<br />
<br />
=== XELK 2.2.0 ===<br />
<br />
* Release date: 03/02/2016<br />
* Status: released<br />
* Freescale Linux BSP: L3.10.17-1.0.3<br />
* Supported carrier boards: AxelEVB-Lite on Dacu, SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=It's highly recommended to read the [[ConfigID and UniqueID]] page.}}<br />
<br />
* Added splash screen support in U-Boot<br />
* Added support for SBCX carrier board<br />
* Updated u-boot and kernel versions<br />
* Bug fixes and minor changes<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software (not on SBC AXEL)<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10). SBC AXEL is not affected by this issue.<br />
|-<br />
|Ethernet<br />
|10 Mbps connections have not been tested<br />
|-<br />
|}<br />
<br />
=== XELK 2.1.0 ===<br />
<br />
* Release date: 04/05/2015<br />
* Status: released<br />
* Freescale Linux BSP: L3.10.17-1.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=It's highly recommended to read the [[ConfigID and UniqueID]] page.}}<br />
<br />
* Updated u-boot and kernel versions<br />
* Bug fixes and minor changes<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|10 Mbps connections have not been tested<br />
|-<br />
|}<br />
<br />
=== XELK 2.0.0 ===<br />
<br />
* Release date: 26/11/2014<br />
* Status: released<br />
* Freescale Linux BSP: L3.10.17-1.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
<br />
==== Notes ====<br />
<br />
* Added support for Yocto 1.5<br />
* Updated u-boot and kernel versions<br />
* Bug fixes and minor changes<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
| ETH0 interface<br />
| On AxelEVB-Lite, there is a mistake in the connection of the center tap pins. They should be separated from one another and connected through separate 0.1μF common-mode capacitors to ground (for further details (eg: connection and selection of the magnetics), please refer to the Micrel KSZ9031RNX datasheet).<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|10 Mbps connections have not been tested<br />
|-<br />
|}<br />
<br />
=== XELK 1.2.0 ===<br />
<br />
* Release date: 20/05/2014<br />
* Status: released<br />
* Freescale Linux BSP: L3.0.35-4.1.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
<br />
==== Notes ====<br />
<br />
* Added support for Axel Lite SOM<br />
* Bug fixes and minor changes<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|SD1<br />
|SD1 interface (available on the Axel Lite adapter board as microSD connector) detects the card only if it is inserted before booting Linux<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|10 Mbps connections have not been tested<br />
|-<br />
|}<br />
<br />
=== XELK 1.1.0 ===<br />
<br />
* Release date: January, 29th 2014<br />
* Status: released<br />
* Freescale Linux BSP: L3.0.35-4.1.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
<br />
==== Notes ====<br />
<br />
* Minor update that adds support for more peripherals: nand, rtc, i2c, spi<br />
* Touch screen works properly<br />
* CAN works @ 1Mbps<br />
* The system can boot from SD<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|Boot modes<br />
|This kit version supports boot from USB (for recovery purpose), from SPI nor flash and from SD card. Boot from NAND flash will be available on a future release.<br />
|-<br />
|CPU cores<br />
|Max 2 cores. 3rd and 4th cores will be available on a future release.<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|Verified speeds: 1 Gbps and 100 Mbps<br />
|-<br />
|}<br />
<br />
=== XELK 1.0.0 ===<br />
<br />
* Release date: November, 4th 2013<br />
* Status: released<br />
* Freescale Linux BSP: L3.0.35-4.1.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
==== Notes ====<br />
<br />
* First official release<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|Boot modes<br />
|This kit version supports boot from USB (for recovery purpose) and from SPI nor flash. Other boot devices (MicroSD, NAND flash, ..) will be available on a future release.<br />
|-<br />
|CPU cores<br />
|Max 2 cores. 3rd and 4th cores will be available on a future release.<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|Verified speeds: 1 Gbps and 100 Mbps<br />
|-<br />
|CAN<br />
|Maximum supported speed: 500 kbps<br />
|-<br />
|Touch controller<br />
|Touch events are detected, but touch point is not resolved with precision<br />
|-<br />
|}<br />
<br />
== Quick start guide ==<br />
This chapter describes how to quickly start working with the XELK kit. The following paragraphs will guide you through the setup and installation procedures.<br />
<br />
===Kit registration===<br />
{{ImportantMessage|text='''Customers are strongly recommended to register their kits'''. Registration grants access to reserved material such as source code and additional documentation.}}<br />
<br />
To register the kit, please send an email to [mailto:support-axel@dave.eu support-axel@dave.eu], [[Development_Kits_Identification_Codes|providing the kit P/N and S/N]].<br />
<br />
If you also wish to access git repositories containing source code, please follow the procedure described [[Accessing_DAVE_Embedded_Systems_restricted_git_repositories|here]].<br />
<br />
===Target setup and first boot===<br />
This section describes how to quick start the AxelEVB board delivered along with XELK kit (see also the following image). The hardware setup is the same for AxelUltra and AxelLite SOMs.<br />
[[File:AxelUltra-AxelEVB.jpg|thumb|center|600px|Axel Ultra/AxelEVB setup]]<br />
The microSD provided with the XELK can be used to boot the system, since it contains a bootable partition (<code>mmcblk0p1</code>) and a root file system partition (<code>mmcblk0p2</code>).<br />
#Insert the MicroSD card provided with the development kit into the microSD slot<br />
#Connect the 12V power supply to the JP2 socket on the DACU board<br />
#(optional) To access the serial console:<br />
#*Connect a serial cable between the J251 connector on the DACU board and PC COM port through a null-modem (https://en.wikipedia.org/wiki/Null_modem) cable (not provided)<br />
#*Start your favorite terminal software on hist side; communication parameters are:<br />
#**Baud rate: 115200 Bps<br />
#**Data bits: 8<br />
#**Stop bits: 1<br />
#**Parity: none<br />
#(optional) To connect the system to Ethernet LAN, please plug cable on connector J6 connector of the AXELEVB-Lite<br />
<br />
By default, the system is configured to boot automatically from the microSD card when powered up.<br />
<br />
===Binary images on SD card===<br />
XELK SD card contains all binary images required for booting the system completely from kernel/dtb (stored on first SD <code>fat</code> card partition) to <code>ext3</code> root file system (stored on second SD card partition).<br />
<br />
Once you got the new binaries compiled from your modified sources, they have to be installed on first SD partition preserving the original file names used into <i>boot.scr</i> u-boot bootscript.<br />
<br />
Otherwise, you may create a new '''boot.scr''' file using different file names. Here below there is an example on how to create a boot.scr file for booting from SD card:<br />
<br />
The '''bootscript.txt''' is the text version of the <i>boot.scr</i> file:<br />
<br />
<pre><br />
echo 'bootscript generated with command "mkimage -A ARM -T script -C none -n XELK -d bootscript.txt boot.scr"'<br />
<br />
setenv fdtfile imx6q-xelk-l.dtb<br />
setenv bootfile uImage<br />
<br />
setenv mmc_loadk 'fatload mmc ${mmcdev}:1 ${loadaddr} ${bootfile}'<br />
setenv mmc_loadfdt 'fatload mmc ${mmcdev}:1 ${fdtaddr} ${fdtfile}'<br />
setenv mmcboot 'run mmc_loadk mmc_loadfdt mmcargs addip addcons addmisc adddisp0; bootm ${loadaddr} - ${fdtaddr}'<br />
<br />
echo Booting AxelLite-XELK via mmcboot<br />
<br />
run mmcboot<br />
<br />
echo mmcboot FAILURE<br />
</pre><br />
<br />
and compile it using:<br />
<br />
<pre><br />
mkimage -A ARM -T script -C none -n XELK -d bootscript.txt boot.scr<br />
</pre><br />
<br />
Then copy the kernel, dtb and boot.scr into the SD card first partion (the FAT one) and boot XELK with the new images.<br />
<br />
===Host setup===<br />
As stated previously, XELK host tools are based on a [[Managed_Virtual_Machine_(MVM)|Managed Virtual Machine]]. As indicated [[Axel_Embedded_Linux_Kit_(XELK)#XELK_microSD_Layout|here]], microSD card delivered along with XELK includes basic version of MVM that is the default option.<br />
<br />
Please follows the README file on the SD card to extract the ''*.ova'' archive and to install the MVM.<br />
<br />
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]].<br />
<br />
{{ImportantMessage|text=The MVM provides the tools required to build [[Building_U-Boot_(XELK)|U-boot]] and [[Building_Linux_kernel_(XELK)|Linux kernel]]. It does not include the tools required to run Yocto build system instead.}}<br />
<br />
XELK MVM can be downloaded [https://cloud.dave.eu/ws-reserved-area-xelk/XELK-3.0.1 here]. For accessing <b><i>XELK Reserved area</i></b> please contact our [mailto:sales@dave.eu sales department]<br />
<br />
===Target configuration for the development stage (<code>net_nfs</code>)===<br />
<br />
{{ImportantMessage|text=The default XELK Virtual Machine network configuration is using NAT: this allows to accessing external network (i.e. Internet) using the host computer's networking connection. <br />
For software development using <code>net_nfs</code> with tftp/nfs protocols, please configure your VM network interface in ''Bridge mode'' (see below)}}<br />
<br />
During the development stage, the target is usually connected via Ethernet LAN to the host machine and is configured to:<br />
*retrieve binary images (i.e. Linux kernel) via TFTP protocol<br />
*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]]. An example of ''Bridge mode'' configuration for DIVELK can be found [[Booting_from_NFS_(XELK) | here]]<br />
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]].<br />
<br />
For more details about TFTP and NFS servers on host side, please refer to this [[Setting_up_tftp_and_nfs|page]].<br />
<br />
===Target configuration for standalone boot===<br />
Please refer to [[Standalone_boot_(XELK)|this page]].<br />
<br />
==Related Documents ==<br />
<br />
* [[:Category:AxelUltra|AXEL ULTRA]]<br />
* [[:Category:AxelLite|AXEL LITE]]<br />
* [[AxelEVB-Lite | AxelEVB-Lite]]<br />
* [[FAQs_(Axel) | Axel FAQs]]<br />
* [[Hardware Manual (AxelUltra) | Axel Ultra Hardware Manual]]<br />
* [[Hardware Manual (AxelLite) | Axel Lite Hardware Manual]]<br />
* [[:Category:Dacu | Dacu category page]]<br />
* [[Dacu | Dacu carrier board]]<br />
* [[Dacu_for_the_Axel_SOM | Dacu for the Axel SOM]]<br />
<br />
[[Category:SBC-AXEL]]</div>
U0017
https://wiki.dave.eu/index.php?title=Axel_Embedded_Linux_Kit_(XELK)&diff=8659
Axel Embedded Linux Kit (XELK)
2019-07-12T13:51:11Z
<p>U0017: /* Downloadable binary images */</p>
<hr />
<div>{{InfoBoxTop}}<br />
{{AppliesToDacu}}<br />
{{AppliesToAxel}}<br />
{{AppliesToAxelLite}}<br />
{{AppliesToAxelEsatta}}<br />
{{InfoBoxBottom}}<br />
<br />
==Introduction==<br />
{{ImportantMessage|text='''Customers are strongly recommended to register their kits'''. Registration grants access to reserved material such as source code and additional documentation.<br />
<br />
To register the kit, please send an email to [mailto:support-axel@dave.eu support-axel@dave.eu], [[Development_Kits_Identification_Codes|providing the kit P/N and S/N]].}}<br />
<br />
[[File:Axel-on-evb-02.png|500px]]<br />
<br />
Axel Embedded Linux Kit (XELK for short) provides all the necessary components required to set up the developing environment to:<br />
* build the bootloader (U-Boot)<br />
* build and run Linux operating system on Axel-based systems<br />
* build Linux applications that will run on the target.<br />
The main kit components are:<br />
* hardware platform composed of<br />
** Axel system-on-module (SOM for short)<br />
** AxelEVB-Lite plugged on Dacu carrier board<br />
** 800x480 7" LVDS display <br />
* Development virtual machine containing:<br />
** Toolchain<br />
** U-Boot bootloader sources<br />
** Linux kernel sources<br />
** Root file systems<br />
* Technical documentation such hardware manuals, mechanical drawings, reference schematics, application notes etc. <br />
<br />
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 Axel hardware characteristics, please refer to the Axel Hardware Manual. An account for the reserved area of [http://www.dave.eu '''DAVE Embedded Systems''' website] is required to access the kit contents.<br />
<br />
==Kit Contents==<br />
<br />
{| class="wikitable" <br />
|-<br />
!Component<br />
!Description<br />
!Notes<br />
|-<br />
| style="text-align: center;" | [[File:Axel-01.png|60px]]<br />
|Axel Ultra SOM (or Axel Lite SOM) <br>CPU: Freescale i.MX6<br>SDRAM: 2 GB DDR3<br>NOR: bootable SPI flash 32 MB<br>NAND: 1GB<br />
|Please refer to [[Hardware Manual (AxelUltra) | Axel Ultra Hardware Manual]]<br />
|-<br />
| style="text-align: center;" | [[File:Axelevb-lite-01.png|60px]]<br />
|AxelEVB-Lite Carrier board<br />
|Please refer to [[AxelEVB-Lite | AxelEVB-Lite]] page<br />
|-<br />
| style="text-align: center;" | [[File:Dacu-top-view.png|80px]]<br />
|Dacu Carrier board<br />
|Please refer to [[Dacu | Dacu]] page<br />
|-<br />
| style="text-align: center;" | [[File:Display.jpg|60px]]<br />
|Ampire AM-800480STMQW<br>7” 800x480 LCD display<br>LVDS interface<br />
|Please refer to [[XELK Quick Start Guide]]<br />
|-<br />
| style="text-align: center;" | [[File:Alimentatore.jpg|40px]]<br />
|AC/DC Single Output Wall Mount adapter<br>Output: +12V – 2.0 A<br />
|Please refer to [[XELK Quick Start Guide]]<br />
|-<br />
| style="text-align: center;" | [[File:Cavetto-seriale2.jpg|50px]]<br />
|DB9 Male Serial port adapter<br />
|Please refer to [[XELK Quick Start Guide]]<br />
|-<br />
| style="text-align: center;" | [[File:ProdSDC-MBLY-thumb.png|50px]]<br />
|MicroSDHC card with SD adapter and USB adapter<br />
|Please refer to [[XELK Quick Start Guide]]<br />
|-<br />
|}<br />
<br />
== XELK software components ==<br />
<br />
'''DAVE Embedded Systems''' adds to the latest Linux BSP from NXP/Freescale the customization required to support the Axel platform. For this reason most of the documentation provided by NXP/Freescale remains valid for the XELK development kit. However, some customization is required, in particular at bootloader and linux kernel levels.<br />
<br />
The following table reports the XELK releases information.<br />
{| class="wikitable" <br />
!<br />
! colspan="10" | XELK version<br />
|-<br />
|Release number<br />
|1.0.0<br />
|1.1.0<br />
|1.2.0<br />
|2.0.0<br />
|2.1.0<br />
|2.2.0<br />
|2.3.1<br />
|3.0.1<br />
|3.5.0<br />
|4.0.0<br />
|-<br />
|Release type<br />
|Major<br />
|Maintenance<br />
|Maintenance<br />
|Major<br />
|Maintenance<br />
|Maintenance<br />
|Maintenance<br />
|Major<br />
|Maintenance<br />
|Major<br />
|-<br />
|Status<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|Released<br />
|In progress<br />
|-<br />
|Release date<br />
|November, 4th 2013<br />
|January 2014<br />
|May 2014<br />
|November 2014<br />
|May 2015<br />
|February 2016<br />
|October 2016<br />
|November 2017<br />
|April 2019<br />
|Q3 2019<br />
|-<br />
|'''Release notes'''<br />
|[[#XELK 1.0.0 | Ver 1.0.0]]<br />
|[[#XELK 1.1.0 | Ver 1.1.0]]<br />
|[[#XELK 1.2.0 | Ver 1.2.0]]<br />
|[[#XELK 2.0.0 | Ver 2.0.0]]<br />
|[[#XELK 2.1.0 | Ver 2.1.0]]<br />
|[[#XELK 2.2.0 | Ver 2.2.0]]<br />
|[[#XELK 2.3.1 | Ver 2.3.1]]<br />
|[[#XELK 3.0.1 | Ver 3.0.1]]<br />
|[[#XELK 3.5.0 | Ver 3.5.0]]<br />
|[[#XELK 4.0.0 | Ver 4.0.0]]<br />
|-<br />
|SOM PCB version<br />
|Axel Ultra: CS030713<br />
|Axel Ultra: CS030713A<br />
|Axel Ultra: CS030713A<br>Axel Lite: CS335013A<br />
|Axel Ultra: CS030713A<br>Axel Lite: CS335013A<br />
|Axel Ultra: CS030713B<br>Axel Lite: CS335013A<br />
|Axel Ultra: CS030713B<br>Axel Lite: CS335013A<br />
|Axel Ultra: CS030713B<br>Axel Lite: CS335013A<br>Axel Lite: CS335013C<br />
|Axel Lite: CS335013A<br>Axel Lite: CS335013C<br />
|Axel Lite: CS335013A<br>Axel Lite: CS335013C<br />
|Axel Lite: CS335013A<br>Axel Lite: CS335013C<br />
|--<br />
|Supported carrier boards<br />
|<span class="plainlinks">[{{fullurl:AxelEVB-Lite|oldid=2970}} AxelEVB-Lite]</span><br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|{{pageoldid|AxelEVB-Lite|2970}}<br>[[AxelEVB-Lite|AxelEVB-Lite rev.A]]<br>[[:Category:Dacu | Dacu]]<br>[[:Category:SBC-AXEL | SBCX]]<br />
|-<br />
|U-Boot version<br />
|2013.10-xelk-1.0.0<br />
|2013.10-xelk-1.1.0<br />
|2013.10-xelk-1.2.0<br />
|2013.04-xelk-2.0.0<br />
|2013.04-xelk-2.1.0<br />
|2013.04-xelk-2.2.0<br />
|2013.04-xelk-2.3.1<br />
|2016.03-xelk-3.0.2<br />
|2016.03-xelk-3.5.0<br />
|2017.03-xelk-4.0.0<br />
|-<br />
|Linux version<br />
|3.0.35-xelk-1.0.0<br />
|3.0.35-xelk-1.1.0<br />
|3.0.35-xelk-1.2.0<br />
|3.10.17-xelk-2.0.0<br />
|3.10.17-xelk-2.1.0<br />
|3.10.17-xelk-2.2.0<br />
|3.10.17-xelk-2.3.1<br />
|4.1.15-xelk-3.0.0<br />
|4.1.15-xelk-3.0.0<br />
|4.9.11-xelk-4.0.0<br />
|-<br />
|Drivers<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br>SPL boot[2]<br />
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>CAN<br>Touch screen controller<br>EMAC<br>SATA<br>HDMI<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>Video Input (MIPI)<br>PCIe<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen (U-Boot) [1]<br>SPL boot[2]<br />
|-<br />
|NXP/Freescale BSP version<br />
|L3.0.35-4.1.0<br />
|L3.0.35-4.1.0<br />
|L3.0.35-4.1.0 <br />
|L3.10.17-1.0.0<br />
|L3.10.17-1.0.0<br />
|L3.10.17-1.0.3<br />
|L3.10.17-1.0.3<br />
|L4.1.15-2.0.0<br />
|L4.1.15-2.0.0<br />
|L4.9.11_1.0.0<br />
|-<br />
|Graphic libraries<br />
|Qt 4.8<br />
|Qt 4.8<br />
|Qt 4.8<br />
|Qt 5.3.2<br />
|Qt 5.3.2<br />
|Qt 5.3.2<br />
|Qt 5.3.2<br />
|Qt 5.6.2<br />
|Qt 5.6.2<br />
|Qt 5.9.8<br />
|-<br />
|Build System<br />
|LTIB<br />
|LTIB<br />
|LTIB<br />
|Yocto Dora (1.5) <br />
|Yocto Dora (1.5) <br />
|Yocto Dora (1.5) <br />
|Yocto Dora (1.5) <br />
|Yocto Krogoth (2.1)<br />
|Yocto Krogoth (2.1)<br />
|Yocto Morty (2.2)<br />
|-<br />
|Android<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|Kitkat 4.4.2<br />
|Marshmallow 6.0.1<br />
|Marshmallow 6.0.1<br />
|<br />
|}<br />
<br />
[1] Splashscreen on LVDS0<br />
<br />
[2] U-Boot SPL version<br />
<br />
====Downloadable binary images====<br />
<br />
<br />
All binary images for XELK are hosted on [[mirror:axel|DAVE Embedded System mirror server]]. There you can find a sub directory for each version of this development kit.<br />
<br />
A summary of images with a brief description can be found into the table below:<br />
<br />
{{ImportantMessage|text=In order to boot Linux from SD card files, '''the binary files must be renamed''' as follows:<br />
*bootscript: <code>boot.scr</code><br />
<br />
U-boot file <code>u-boot.imx</code> must be stored into first raw sector of the SD card using <code>dd</code> command}}<br />
<br />
{| class="wikitable"<br />
|-<br />
! Image !! colspan="5" |XELK version 2.3.1<br />
|-<br />
| Platform || XELK rev.A || SBCX rev.A || SBCX rev.A || SBCX rev.B || SBCX rev.B<br />
|-<br />
| Carrier Board [[ConfigID_and_UniqueID | ConfigID]]|| 0001 || 0002 || 0003 || 0012 || 0013<br />
|-<br />
| LCD panel || colspan="5" style="text-align: center" | Ampire 800 x 480 7" LVDS 262K colors (RGB666)<br>(AM-800480STMQW-TA1 or AM-800480SETMQW-TA1H)<br />
|-<br />
| Touchscreen || colspan="1" | resistive || colspan="1" | resistive || colspan="1" | capacitive || colspan="1" | resistive || colspan="1" style="text-align: center" | capacitive<br />
|-<br />
| bootscript || colspan="1" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_boot.scr|boot.scr]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_sbcx_boot.scr|boot.scr]]<br />
|-<br />
| U-Boot || colspan="1" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_mx6qaxel_spi_u-boot.imx|u-boot (Quad - boot from NOR)]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_mx6dlaxel_nand_u-boot.imx|u-boot (DualLite - boot from NAND)]] <br />
|-<br />
| Linux kernel || colspan="5" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.1_uImage|uImage]]<br />
|-<br />
| Linux kernel<br>(Android 4.4.2) || colspan="5" style="text-align: center" |[[mirror:axel/xelk-2.3.1/xelk-2.3.0-andr_uImage|uImage]]<br />
|-<br />
| Device tree (Quad processor) || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6q-xelk-l.dtb|imx6q-xelk-l.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6q-sbcx.dtb|imx6q-sbcx-cb0002.dtb]] || Not available || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6q-sbcx-cb0012.dtb|imx6q-sbcx-cb0012.dtb]] || Not available<br />
|-<br />
| Device tree (DualLite processor) || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-xelk-l.dtb|imx6dl-xelk-l.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-sbcx.dtb|imx6dl-sbcx-cb0002.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-sbcx-cb0003.dtb|imx6dl-sbcx-cb0003.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-sbcx-cb0012.dtb|imx6dl-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-2.3.1/xelk-2.3.1_imx6dl-sbcx-cb0013.dtb|imx6dl-sbcx-cb0013.dtb]]<br />
|}<br />
{| class="wikitable"<br />
|-<br />
! Image !! colspan="5" |XELK version 3.0.1<br />
|-<br />
| Platform || XELK rev.A || SBCX rev.B || SBCX rev.B<br />
|-<br />
| Carrier Board [[ConfigID_and_UniqueID | ConfigID]]|| 0001 || 0012 || 0013<br />
|-<br />
| LCD panel || colspan="5" style="text-align: center" | Ampire 800 x 480 7" LVDS 262K colors (RGB666)<br>(AM-800480STMQW-TA1 or AM-800480SETMQW-TA1H)<br />
|-<br />
| Touchscreen || colspan="1" | resistive || colspan="1" | resistive || colspan="1" style="text-align: center" | capacitive<br />
|-<br />
| bootscript || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.1_boot.scr|boot.scr]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.1_boot.scr|boot.scr]]<br />
|-<br />
| U-Boot || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.2_mx6qaxel_spi_u-boot.imx|u-boot (Quad - boot from NOR)]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.2_mx6dlaxel_nand_u-boot.imx|u-boot (DualLite - boot from NAND)]] <br />
|-<br />
| Linux kernel || colspan="5" style="text-align: center" |[[mirror:axel/xelk-3.0.1/xelk-3.0.0_uImage|uImage]]<br />
|-<br />
| Device tree (Quad processor) || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6q-xelk-l.dtb|imx6q-xelk-l.dtb]] || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6q-sbcx-cb0012.dtb|imx6q-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6q-sbcx-cb0013.dtb|imx6q-sbcx-cb0013.dtb]]<br />
|-<br />
| Device tree (DualLite processor) || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6dl-xelk-l.dtb|imx6dl-xelk-l.dtb]] || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6dl-sbcx-cb0012.dtb|imx6dl-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-3.0.1/xelk-3.0.0_imx6dl-sbcx-cb0013.dtb|imx6dl-sbcx-cb0013.dtb]]<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
! Image !! colspan="3" |XELK version 3.5.0 (QUAD/DUAL LITE)<br />
|-<br />
| Platform || colspan="2" style="text-align: center" |XELK / SBCX<br />
|-<br />
| U-Boot SPL || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.5.0/xelk-3.5.0_mx6qdlaxel_spi_SPL|SPL (boot from NOR)]] || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.5.0/xelk-3.5.0_mx6qdlaxel_nand_SPL|SPL (boot from NAND)]] <br />
|-<br />
| U-Boot img || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.5.0/xelk-3.5.0_mx6qdlaxel_spi_u-boot.img| img (boot from NOR)]] || colspan="1" style="text-align: center" |[[mirror:axel/xelk-3.5.0/xelk-3.5.0_mx6qdlaxel_nand_u-boot.img|img (boot from NAND)]] <br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
! Image !! colspan="5" |XELK version 4.0.0<br />
|-<br />
| Platform || XELK rev.A || SBCX rev.B || SBCX rev.B<br />
|-<br />
| Carrier Board [[ConfigID_and_UniqueID | ConfigID]]|| 0001 || 0012 || 0013<br />
|-<br />
| LCD panel || colspan="5" style="text-align: center" | Ampire 800 x 480 7" LVDS 262K colors (RGB666)<br>(AM-800480STMQW-TA1 or AM-800480SETMQW-TA1H)<br />
|-<br />
| Touchscreen || colspan="1" | resistive || colspan="1" | resistive || colspan="1" style="text-align: center" | capacitive<br />
|-<br />
| bootscript || colspan="1" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_boot.scr|boot.scr]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_boot.scr|boot.scr]]<br />
|-<br />
| U-Boot || colspan="1" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_mx6qaxel_spi_u-boot.imx|u-boot (Quad - boot from NOR)]] || colspan="4" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_mx6dlaxel_nand_u-boot.imx|u-boot (DualLite - boot from NAND)]] <br />
|-<br />
| Linux kernel || colspan="5" style="text-align: center" |[[mirror:axel/xelk-4.0.0/xelk-4.0.0_uImage|uImage]]<br />
|-<br />
| Device tree (Quad processor) || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6q-xelk-l.dtb|imx6q-xelk-l.dtb]] || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6q-sbcx-cb0012.dtb|imx6q-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6q-sbcx-cb0013.dtb|imx6q-sbcx-cb0013.dtb]]<br />
|-<br />
| Device tree (DualLite processor) || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6dl-xelk-l.dtb|imx6dl-xelk-l.dtb]] || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6dl-sbcx-cb0012.dtb|imx6dl-sbcx-cb0012.dtb]] || [[mirror:axel/xelk-4.0.0/xelk-4.0.0_imx6dl-sbcx-cb0013.dtb|imx6dl-sbcx-cb0013.dtb]]<br />
|}<br />
<br />
==== XELK microSD Layout ====<br />
<br />
The microSD provided with XELK is used to store:<br />
* A bootable partition (mmcblk0p1, vfat) containing:<br />
** binary images (u-boot and kernel images)<br />
** XELK documentation<br />
** XELK DVDK virtual machine image<br />
* XELK root file system partition (mmcblk0p2, ext3)<br />
<br />
XELK contains all 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:<br />
<br />
* VirtualBox virtual machine (.OVA archive)<br />
* Based on Lubuntu 14.04 LTS (64-bit version)<br />
* Pre-installed VirtualBox Guest Additions<br />
* LXDE desktop environment<br />
* Boot disk with the distro and pre-configured basic Linux services:<br />
** TFTP: with base directory /srv/tftp/<br />
** NFS: configured through the /etc/exports file<br />
* Secondary disk containing source code and tools:<br />
** Bootloader (u-boot) source tree cloned from DAVE Embedded Systems public git repository <br />
** Linux kernel source tree cloned from DAVE Embedded Systems public git repository<br />
** External pre-built toolchain<br />
** Yocto bsp for AXEL<br />
* Pre-installed Yocto-based root file systems with setup scripts, makefiles, example applications, ...<br />
* 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)<br />
<br />
Please note that XELK u-boot and kernel source trees are derived from the official trees released by NXP/Freescale; these trees have been customized to add support for the Axel SOM.<br />
<br />
=== XELK Updates ===<br />
<br />
{{ImportantMessage|text=It's recommended to use the latest available XELK version. Please refer to [[Axel_Embedded_Linux_Kit_(XELK)#Release notes | Release notes]] for further information.}}<br />
<br />
==== Updating git repositories ====<br />
<br />
In XELK, the following source trees are clones of '''DAVE Embedded Systems''' public git repositories:<br />
<br />
{| class="wikitable" <br />
|-<br />
!| Component<br />
!GIT Remote<br />
!XELK Installation Directory<br />
|-<br />
|Linux<br />
|git@git.dave.eu:dave/axel/linux-2.6-imx.git<br />
|/home/dvdk/xelk/linux-2.6-imx<br />
|-<br />
|U-Boot<br />
|git@git.dave.eu:dave/axel/u-boot-imx.git<br />
|/home/dvdk/xelk/u-boot-imx<br />
|-<br />
|Yocto BSP<br />
|git@git.dave.eu:dave/axel/axel-bsp.git<br />
|/home/dvdk/xelk/axel-bsp<br />
|-<br />
|}<br />
<br />
This means that these components can be kept in sync and up to date with '''DAVE Embedded Systems''' repositories.<br />
<br />
==== RSA key generation ====<br />
<br />
Please follow the procedure reported below to generate the RSA ssh key:<br />
<br />
* select your username (ad es. username@myhost.com)<br />
* start the DVDK and login into the virtual machine<br />
* start a shell session<br />
* enter the .ssh subdirectory into your home directory: <code>cd ~/.ssh/</code><br />
* launch the following command: <br><pre>ssh-keygen -t rsa -C "username@myhost.com" -f username@myhost.com</pre><br />
* this command creates the files <code>~/.ssh/username@myhost.com</code> ('''private key''') and <code>~/.ssh/username@myhost.com.pub</code> ('''public key''')<br />
* edit your <code>~/.ssh/config</code> adding the following lines:<br />
<br />
<pre><br />
Host git.dave.eu<br />
User git<br />
Hostname git.dave.eu<br />
PreferredAuthentications publickey<br />
IdentityFile ~/.ssh/username@myhost.com<br />
</pre><br />
<br />
Please send the public key file to one of the following email support addresses (depending on which SOM is included in your kit version)<br />
<br />
* [mailto:support-axel@dave.eu support-axel@dave.eu]<br />
<br />
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.<br />
<br />
==== Synchronizing the repository ====<br />
<br />
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:<br />
<br />
<pre class="workstation-terminal"><br />
dvdk@dvdk-vm:~$ cd /home/dvdk/xelk/linux-2.6-imx/<br />
dvdk@dvdk-vm:/home/dvdk/xelk/linux-2.6-imx$ git fetch origin<br />
</pre><br />
<br />
Please note that <code>git fetch</code> doesn't merge the commits on the current branch. To do that, you should run <br />
<br />
<pre class="workstation-terminal"><br />
git merge origin/axel<br />
</pre><br />
<br />
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].<br />
<br />
== Release types ==<br />
<br />
XELK release type can be:<br />
* '''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<br />
* '''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<br />
<br />
As an example, XELK 2.2.0 is a maintenance release, so it provides the DVDK released with the 2.0.0 major release; customers can easily upgrade to the 2.2.0 release by updating the software components as described in [[Axel_Embedded_Linux_Kit_(XELK)#XELK_Updates|XELK Updates]].<br />
<br />
== Release notes ==<br />
<br />
{{ImportantMessage|text=After the XELK DVDK installation, please check for updates of the source tree repositories provided with the kit, as described in [[Axel_Embedded_Linux_Kit_(XELK)#XELK_Updates | XELK Updates]].}}<br />
<br />
=== XELK 4.0.0 ===<br />
<br />
* Release date: N.A.<br />
* Status: Working In Progress<br />
* NXP Linux BSP: L4.9.11-1.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu, SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=New MVM must be installed for using XELK-4.0.0. The VM is available for download on DAVE's XELK Reserved Area for registered users.}}<br />
<br />
* Major change to NXP BSP 4.9.11<br />
* Updated u-boot and kernel versions<br />
* Updated Yocto version<br />
* Updated Qt version<br />
<br />
=== XELK 3.5.0 ===<br />
<br />
* Release date: 04/2019<br />
* Status: Released<br />
* NXP Linux BSP: L4.1.15-2.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu, SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=NXP iMX6 silicon revision 1.4 limited the u-boot binary size (due to bug fix in bootrom code). This required the switch to u-boot <b>SPL</b> version (first and second stage).}}<br />
<br />
* Major change to u-boot SPL version<br />
* Updated u-boot version<br />
<br />
=== XELK 3.0.1 ===<br />
<br />
* Release date: 17/11/2017<br />
* Status: released<br />
* NXP Linux BSP: L4.1.15-2.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu, SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=New MVM must be installed for using XELK-3.0.1. The VM is available for download on DAVE's XELK Reserved Area for registered users.}}<br />
<br />
* Major change to NXP BSP 4.1.15<br />
* Updated u-boot and kernel versions<br />
* Updated Yocto version<br />
* Updated Qt version<br />
<br />
=== XELK 2.3.1 ===<br />
<br />
* Release date: 18/10/2016<br />
* Status: released<br />
* Freescale Linux BSP: L3.10.17-1.0.3<br />
* Supported carrier boards: SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=It's highly recommended to read the [[ConfigID and UniqueID]] page.}}<br />
<br />
* Added support for other ConfigID splash screen on u-boot<br />
* Added support for other ConfigID on linux with related device-tree source code and binaries<br />
* Bug fixes and minor changes<br />
<br />
=== XELK 2.2.0 ===<br />
<br />
* Release date: 03/02/2016<br />
* Status: released<br />
* Freescale Linux BSP: L3.10.17-1.0.3<br />
* Supported carrier boards: AxelEVB-Lite on Dacu, SBCX<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=It's highly recommended to read the [[ConfigID and UniqueID]] page.}}<br />
<br />
* Added splash screen support in U-Boot<br />
* Added support for SBCX carrier board<br />
* Updated u-boot and kernel versions<br />
* Bug fixes and minor changes<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software (not on SBC AXEL)<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10). SBC AXEL is not affected by this issue.<br />
|-<br />
|Ethernet<br />
|10 Mbps connections have not been tested<br />
|-<br />
|}<br />
<br />
=== XELK 2.1.0 ===<br />
<br />
* Release date: 04/05/2015<br />
* Status: released<br />
* Freescale Linux BSP: L3.10.17-1.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
<br />
==== Notes ====<br />
<br />
{{ImportantMessage|text=It's highly recommended to read the [[ConfigID and UniqueID]] page.}}<br />
<br />
* Updated u-boot and kernel versions<br />
* Bug fixes and minor changes<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|10 Mbps connections have not been tested<br />
|-<br />
|}<br />
<br />
=== XELK 2.0.0 ===<br />
<br />
* Release date: 26/11/2014<br />
* Status: released<br />
* Freescale Linux BSP: L3.10.17-1.0.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
<br />
==== Notes ====<br />
<br />
* Added support for Yocto 1.5<br />
* Updated u-boot and kernel versions<br />
* Bug fixes and minor changes<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
| ETH0 interface<br />
| On AxelEVB-Lite, there is a mistake in the connection of the center tap pins. They should be separated from one another and connected through separate 0.1μF common-mode capacitors to ground (for further details (eg: connection and selection of the magnetics), please refer to the Micrel KSZ9031RNX datasheet).<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|10 Mbps connections have not been tested<br />
|-<br />
|}<br />
<br />
=== XELK 1.2.0 ===<br />
<br />
* Release date: 20/05/2014<br />
* Status: released<br />
* Freescale Linux BSP: L3.0.35-4.1.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
<br />
==== Notes ====<br />
<br />
* Added support for Axel Lite SOM<br />
* Bug fixes and minor changes<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|SD1<br />
|SD1 interface (available on the Axel Lite adapter board as microSD connector) detects the card only if it is inserted before booting Linux<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|10 Mbps connections have not been tested<br />
|-<br />
|}<br />
<br />
=== XELK 1.1.0 ===<br />
<br />
* Release date: January, 29th 2014<br />
* Status: released<br />
* Freescale Linux BSP: L3.0.35-4.1.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
<br />
==== Notes ====<br />
<br />
* Minor update that adds support for more peripherals: nand, rtc, i2c, spi<br />
* Touch screen works properly<br />
* CAN works @ 1Mbps<br />
* The system can boot from SD<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|Boot modes<br />
|This kit version supports boot from USB (for recovery purpose), from SPI nor flash and from SD card. Boot from NAND flash will be available on a future release.<br />
|-<br />
|CPU cores<br />
|Max 2 cores. 3rd and 4th cores will be available on a future release.<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|Verified speeds: 1 Gbps and 100 Mbps<br />
|-<br />
|}<br />
<br />
=== XELK 1.0.0 ===<br />
<br />
* Release date: November, 4th 2013<br />
* Status: released<br />
* Freescale Linux BSP: L3.0.35-4.1.0<br />
* Supported carrier boards: AxelEVB-Lite on Dacu<br />
==== Notes ====<br />
<br />
* First official release<br />
<br />
==== Known Limitations ====<br />
<br />
The following table reports the known limitations of this XELK release:<br />
<br />
{| class="wikitable" <br />
|-<br />
!Issue<br />
!Description<br />
|-<br />
|Boot modes<br />
|This kit version supports boot from USB (for recovery purpose) and from SPI nor flash. Other boot devices (MicroSD, NAND flash, ..) will be available on a future release.<br />
|-<br />
|CPU cores<br />
|Max 2 cores. 3rd and 4th cores will be available on a future release.<br />
|-<br />
|USB OTG<br />
|Verified in Host and Device modes<br />
|-<br />
|Reboot from software<br />
|Rebooting the system from software (eg: launching the reboot command from Linux user space) can lead to a system lock. To solve it, reset the board with the dedicated button (S10)<br />
|-<br />
|Ethernet<br />
|Verified speeds: 1 Gbps and 100 Mbps<br />
|-<br />
|CAN<br />
|Maximum supported speed: 500 kbps<br />
|-<br />
|Touch controller<br />
|Touch events are detected, but touch point is not resolved with precision<br />
|-<br />
|}<br />
<br />
== Quick start guide ==<br />
This chapter describes how to quickly start working with the XELK kit. The following paragraphs will guide you through the setup and installation procedures.<br />
<br />
===Kit registration===<br />
{{ImportantMessage|text='''Customers are strongly recommended to register their kits'''. Registration grants access to reserved material such as source code and additional documentation.}}<br />
<br />
To register the kit, please send an email to [mailto:support-axel@dave.eu support-axel@dave.eu], [[Development_Kits_Identification_Codes|providing the kit P/N and S/N]].<br />
<br />
If you also wish to access git repositories containing source code, please follow the procedure described [[Accessing_DAVE_Embedded_Systems_restricted_git_repositories|here]].<br />
<br />
===Target setup and first boot===<br />
This section describes how to quick start the AxelEVB board delivered along with XELK kit (see also the following image). The hardware setup is the same for AxelUltra and AxelLite SOMs.<br />
[[File:AxelUltra-AxelEVB.jpg|thumb|center|600px|Axel Ultra/AxelEVB setup]]<br />
The microSD provided with the XELK can be used to boot the system, since it contains a bootable partition (<code>mmcblk0p1</code>) and a root file system partition (<code>mmcblk0p2</code>).<br />
#Insert the MicroSD card provided with the development kit into the microSD slot<br />
#Connect the 12V power supply to the JP2 socket on the DACU board<br />
#(optional) To access the serial console:<br />
#*Connect a serial cable between the J251 connector on the DACU board and PC COM port through a null-modem (https://en.wikipedia.org/wiki/Null_modem) cable (not provided)<br />
#*Start your favorite terminal software on hist side; communication parameters are:<br />
#**Baud rate: 115200 Bps<br />
#**Data bits: 8<br />
#**Stop bits: 1<br />
#**Parity: none<br />
#(optional) To connect the system to Ethernet LAN, please plug cable on connector J6 connector of the AXELEVB-Lite<br />
<br />
By default, the system is configured to boot automatically from the microSD card when powered up.<br />
<br />
===Binary images on SD card===<br />
XELK SD card contains all binary images required for booting the system completely from kernel/dtb (stored on first SD <code>fat</code> card partition) to <code>ext3</code> root file system (stored on second SD card partition).<br />
<br />
Once you got the new binaries compiled from your modified sources, they have to be installed on first SD partition preserving the original file names used into <i>boot.scr</i> u-boot bootscript.<br />
<br />
Otherwise, you may create a new '''boot.scr''' file using different file names. Here below there is an example on how to create a boot.scr file for booting from SD card:<br />
<br />
The '''bootscript.txt''' is the text version of the <i>boot.scr</i> file:<br />
<br />
<pre><br />
echo 'bootscript generated with command "mkimage -A ARM -T script -C none -n XELK -d bootscript.txt boot.scr"'<br />
<br />
setenv fdtfile imx6q-xelk-l.dtb<br />
setenv bootfile uImage<br />
<br />
setenv mmc_loadk 'fatload mmc ${mmcdev}:1 ${loadaddr} ${bootfile}'<br />
setenv mmc_loadfdt 'fatload mmc ${mmcdev}:1 ${fdtaddr} ${fdtfile}'<br />
setenv mmcboot 'run mmc_loadk mmc_loadfdt mmcargs addip addcons addmisc adddisp0; bootm ${loadaddr} - ${fdtaddr}'<br />
<br />
echo Booting AxelLite-XELK via mmcboot<br />
<br />
run mmcboot<br />
<br />
echo mmcboot FAILURE<br />
</pre><br />
<br />
and compile it using:<br />
<br />
<pre><br />
mkimage -A ARM -T script -C none -n XELK -d bootscript.txt boot.scr<br />
</pre><br />
<br />
Then copy the kernel, dtb and boot.scr into the SD card first partion (the FAT one) and boot XELK with the new images.<br />
<br />
===Host setup===<br />
As stated previously, XELK host tools are based on a [[Managed_Virtual_Machine_(MVM)|Managed Virtual Machine]]. As indicated [[Axel_Embedded_Linux_Kit_(XELK)#XELK_microSD_Layout|here]], microSD card delivered along with XELK includes basic version of MVM that is the default option.<br />
<br />
Please follows the README file on the SD card to extract the ''*.ova'' archive and to install the MVM.<br />
<br />
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]].<br />
<br />
{{ImportantMessage|text=The MVM provides the tools required to build [[Building_U-Boot_(XELK)|U-boot]] and [[Building_Linux_kernel_(XELK)|Linux kernel]]. It does not include the tools required to run Yocto build system instead.}}<br />
<br />
XELK MVM can be downloaded [https://cloud.dave.eu/ws-reserved-area-xelk/XELK-3.0.1 here]. For accessing <b><i>XELK Reserved area</i></b> please contact our [mailto:sales@dave.eu sales department]<br />
<br />
===Target configuration for the development stage (<code>net_nfs</code>)===<br />
<br />
{{ImportantMessage|text=The default XELK Virtual Machine network configuration is using NAT: this allows to accessing external network (i.e. Internet) using the host computer's networking connection. <br />
For software development using <code>net_nfs</code> with tftp/nfs protocols, please configure your VM network interface in ''Bridge mode'' (see below)}}<br />
<br />
During the development stage, the target is usually connected via Ethernet LAN to the host machine and is configured to:<br />
*retrieve binary images (i.e. Linux kernel) via TFTP protocol<br />
*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]]. An example of ''Bridge mode'' configuration for DIVELK can be found [[Booting_from_NFS_(XELK) | here]]<br />
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]].<br />
<br />
For more details about TFTP and NFS servers on host side, please refer to this [[Setting_up_tftp_and_nfs|page]].<br />
<br />
===Target configuration for standalone boot===<br />
Please refer to [[Standalone_boot_(XELK)|this page]].<br />
<br />
==Related Documents ==<br />
<br />
* [[:Category:AxelUltra|AXEL ULTRA]]<br />
* [[:Category:AxelLite|AXEL LITE]]<br />
* [[AxelEVB-Lite | AxelEVB-Lite]]<br />
* [[FAQs_(Axel) | Axel FAQs]]<br />
* [[Hardware Manual (AxelUltra) | Axel Ultra Hardware Manual]]<br />
* [[Hardware Manual (AxelLite) | Axel Lite Hardware Manual]]<br />
* [[:Category:Dacu | Dacu category page]]<br />
* [[Dacu | Dacu carrier board]]<br />
* [[Dacu_for_the_Axel_SOM | Dacu for the Axel SOM]]<br />
<br />
[[Category:SBC-AXEL]]</div>
U0017
https://wiki.dave.eu/index.php?title=DESK-MX-L-AN-0007:_Getting_Started_With_QT_Creator&diff=8658
DESK-MX-L-AN-0007: Getting Started With QT Creator
2019-07-11T15:53:56Z
<p>U0017: </p>
<hr />
<div>{{InfoBoxTop}}<br />
{{AppliesToAxel}}<br />
{{AppliesToAxelEsatta}}<br />
{{AppliesToAxelLite}}<br />
{{Applies To Yocto}}<br />
{{InfoBoxBottom}}<br />
{{WarningMessage|text=This application note was validated against specific versions of the kit only. It may not work with other versions. Supported versions are listed in the ''History'' section.}}<br />
=History=<br />
<br />
{| class="wikitable" border="1"<br />
!Version<br />
!Date<br />
!XELK version<br />
!Notes<br />
|-<br />
|1.0.0<br />
|March 2018<br />
|[[Axel_Embedded_Linux_Kit_(XELK)#XELK_software_components|XELK 3.0.0]]<br />
|First release<br />
|}<br />
<br />
= Introduction =<br />
<br />
This application note details QT Creator setup and configuration in [[Axel_Embedded_Linux_Kit_(XELK)|XELK]] [[Managed Virtual Machine (MVM)|MVM]]<br />
<br />
= Setting up Qt Creator to build for XELK =<br />
{{ImportantMessage|text=Note: The version of Qt Creator may differ from images below. The version provided from XELK 4.0.0 release is 4.5.2}}<br />
== Qt Creator Installation ==<br />
<br />
To install Qt Creator inside your toolchain launch a terminal emulator and run <br />
<br />
<pre><br />
dvdk@vagrant-ubuntu-trusty-64:~$ cd axel/<br />
</pre><br />
<pre><br />
dvdk@vagrant-ubuntu-trusty-64:~/axel$ ./qt-creator-opensource.run<br />
</pre><br />
<br />
An installation wizard will appear. Clik '''Next''' to proced with the installation.<br />
<br />
[[File:QtCreator XELK 3 0 0 01.png|400px|border|center]]<br />
<br />
Select '''Skip'''.<br />
<br />
[[File:QtCreator XELK 3 0 0 02.png|400px|border|center]]<br />
<br />
Select '''Next'''.<br />
<br />
[[File:QtCreator XELK 3 0 0 03.png|400px|border|center]]<br />
<br />
Select the install directory or click '''Next'''.<br />
<br />
[[File:QtCreator XELK 3 0 0 04.png|400px|border|center]]<br />
<br />
Select '''Next'''.<br />
<br />
[[File:QtCreator XELK 3 0 0 05.png|400px|border|center]]<br />
<br />
Click '''Next''' again.<br />
<br />
[[File:QtCreator XELK 3 0 0 06.png|400px|border|center]]<br />
<br />
And then click '''Install''' and complete the installation.<br />
<br />
[[File:QtCreator XELK 3 0 0 07.png|400px|border|center]]<br />
<br />
Then '''Finish''' to exit the setup wizard.<br />
<br />
[[File:QtCreator XELK 3 0 0 08.png|400px|border|center]]<br />
<!--<br />
== Automatic configuration ==<br />
<br />
Now it is necessary to add the definition of your board before developing and compiling your applications.<br />
<br />
In order to add the device information automatically, DAVE provides a simple setup script.<br />
<br />
<!-- <br />
<br />
User just need to run the following commands inside your terminal emulator:<br />
<br />
<pre><br />
dvdk@vagrant-ubuntu-trusty-64:~$ cd axel/<br />
dvdk@vagrant-ubuntu-trusty-64:~/axel$ ./qt-post-install.sh<br />
</pre><br />
<br />
If the installation process complete successfully, you should see inside the <code>Tools -> Options -> Kits</code> a ''kit'' named XELK, as in the following screenshot:<br />
<br />
[[File:QtCreator XELK 3 0 0 09.png|400px|border|center]]<br />
<br />
Select the Kits tab and make sure that your configurations matches the one displayed below:<br />
<br />
[[File:QtCreator XELK 3 0 0 10.png|400px|border|center]]<br />
<br />
--><br />
<br />
== Manual configuration ==<br />
<br />
If you don't want to use the automatic setup or want to customize the configuration, in this section we details all the step required.<br />
<br />
=== Devices ===<br />
<br />
Go to <code>Tools -> Options</code> menu <br />
<br />
[[File:QtCreator XELK 3 0 0 09.png|400px|border|center]]<br />
<br />
Select <code>Devices</code> and click '''Add'''<br />
<br />
[[File:QtCreator XELK 3 0 0 22.png|400px|border|center]]<br />
<br />
Choose the ''Generic Linux device''<br />
<br />
[[File:QtCreator XELK 3 0 0 23.png|400px|border|center]]<br />
<br />
Insert the IP address of your device, ''root'' as username and leave password empty (this is the default configuration of XELK root file systems). Make sure that the device is connected to the network and your virtual machine networking is correctly configured (see [[VirtualBox Network Configuration|this]] article for more details).<br />
<br />
Then click '''Next'''.<br />
<br />
[[File:QtCreator XELK 3 0 0 24.png|400px|border|center]]<br />
<br />
If everything went ok you should see a dialog like the image below.<br />
<br />
[[File:QtCreator XELK 3 0 0 25.png|400px|border|center]]<br />
<br />
And finally this is how the <code>Devices</code> window should look like.<br />
<br />
[[File:QtCreator XELK 3 0 0 26.png|400px|border|center]]<br />
<br />
=== GCC & Cross Compilation ===<br />
<br />
Next you need to configure the cross compilation tool inside <code>Build & Run -> Compiler</code>.<br />
<br />
[[File:QtCreator XELK 3 0 0 27.png|400px|border|center]]<br />
<br />
Click <code>Add -> GCC</code> and add the compiler path.<br />
<br />
<pre><br />
/home/dvdk/axel/sdk/latest/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc<br />
</pre><br />
<br />
And click '''Apply'''.<br />
<br />
[[File:QtCreator XELK 3 0 0 29.png|400px|border|center]]<br />
<br />
Do the same for the C++ cross compilation tool.<br />
<br />
<pre><br />
/home/dvdk/axel/sdk/latest/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++<br />
</pre><br />
<br />
[[File:QtCreator XELK 3 0 0 28.png|400px|border|center]]<br />
<br />
=== Debugger GDB ===<br />
<br />
Now it is necessary to add a debugger. In order to do this go to the <code>Debuggers</code> tab and click '''Add'''<br />
<br />
[[File:QtCreator XELK 3 0 0 30.png|400px|border|center]]<br />
<br />
And then select the GDB debugger at the location<br />
<br />
<pre><br />
/home/dvdk/axel/sdk/latest/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gdb<br />
</pre><br />
<br />
and click '''Apply'''. <br />
<br />
[[File:QtCreator XELK 3 0 0 31.png|400px|border|center]]<br />
<br />
=== Qt Version ===<br />
<br />
Next you need to add the Qt Version installed on your device. Go to <code>Qt Version</code> click '''Add''' and select the following qmake file.<br />
<br />
<pre><br />
/home/dvdk/axel/sdk/xelk-4.0.0/sysroots/x86_64-pokysdk-linux/usr/bin/qt5/qmake<br />
</pre><br />
<br />
[[File:QtCreator XELK 3 0 0 32.png|400px|border|center]]<br />
<br />
=== Kits ===<br />
<br />
The last step is to add a new kit. Go to <code>Kits</code> and click '''Add''' and complete the information as shown below.<br />
<br />
[[File:QtCreator XELK 3 0 0 33.png|400px|border|center]]<br />
<br />
Pay attention that in <code>Qt mkspec</code> you need to write <br />
<br />
<pre><br />
linux-oe-g++<br />
</pre><br />
<br />
[[File:QtCreator XELK 3 0 0 34.png|400px|border|center]]<br />
<br />
After this your setup is complete and you can proceed and create your Qt applications.<br />
<br />
== Qt application example ==<br />
<br />
Now that the setup is finished, you can create your first application<br />
<br />
Open a new terminal and source the environment variables with the command.<br />
<br />
<pre><br />
dvdk@vagrant-ubuntu-trusty-64:~$ source env.sh<br />
</pre><br />
<br />
In the same terminal type the following command (we assume you didn't change the default installation directory)<br />
<br />
<pre><br />
dvdk@vagrant-ubuntu-trusty-64:~$ ./qtcreator-4.5.2/bin/qtcreator<br />
</pre><br />
<br />
{{ImportantMessage|text=It is important to repeat the previous two step every time you start QTCreator}}<br />
<br />
Now click on <code>New Project</code><br />
<br />
[[File:QtCreator XELK 3 0 0 11.png|400px|border|center]]<br />
<br />
Select Application Qt Widgets Application and click '''Choose...'''<br />
<br />
[[File:QtCreator XELK 3 0 0 12.png|400px|border|center]]<br />
<br />
Now call the Project ''Test'' and press '''Next'''.<br />
<br />
[[File:QtCreator XELK 3 0 0 13.png|400px|border|center]]<br />
<br />
Select the ''XELK Kit'' and click '''Next'''.<br />
<br />
[[File:QtCreator XELK 3 0 0 14.png|400px|border|center]]<br />
<br />
Choose the ''class'' name for your application.<br />
<br />
[[File:QtCreator XELK 3 0 0 15.png|400px|border|center]]<br />
<br />
Click '''Finish''' to conclude the setup.<br />
<br />
[[File:QtCreator XELK 3 0 0 16.png|400px|border|center]]<br />
<br />
To add a clickable button to your application, select the <code>Edit</code> window and select <code>Test -> Forms -> mainwindow.ui</code><br />
<br />
[[File:QtCreator XELK 3 0 0 17.png|400px|border|center]]<br />
<br />
Click on Push Button in the Buttons tab and drag it to the main window view. In order to edit the text displayed by the label, double click it and write ''"Hello World!"''.<br />
<br />
[[File:QtCreator XELK 3 0 0 18.png|400px|border|center]]<br />
<br />
After that, you need to insert the following two line inside the ''Test.pro'' file<br />
<br />
<pre><br />
target.path = /tmp/Test # path on device<br />
</pre><br />
<pre><br />
INSTALLS += target<br />
</pre><br />
<br />
Where <code>/temp/Test</code> is the path in which your application will be downloaded inside the device.<br />
<br />
[[File:QtCreator XELK 3 0 0 19.png|400px|border|center]]<br />
<br />
The last step before running the application inside the device is to configure Qt backend into application command line arguments: open the <code>Project</code> window and select the <code>Run</code> configuration, then type <code>-platform eglfs</code> into <code>Arguments</code><br />
<br />
[[File:QtCreator XELK 3 0 0 20.png|400px|border|center]]<br />
<br />
After these changes you are ready to debug your application inside your board with the <code>Run/Debug</code> command [[File:QtCreator XELK 3 0 0 35.png|30px]]<br />
<br />
[[File:QtCreator XELK 3 0 0 21.png|400px|border|center]]</div>
U0017