Changes

Jump to: navigation, search

SDV04 Embedded Linux Kit (SDVX)

8,042 bytes added, 16:44, 11 March 2020
SDVX software components
{{InfoBoxTop}}
{{Applies To SDVX}}
{{InfoBoxBottom}}
 
==Introduction==
[[File:PlaceholderSDV04-C1R.pngjpg|thumb|center|500px600px|SDVX SDV04 with AxelLite SOM]][[File:SDV04-UL-C1R.jpg|thumb|center|600px|SDV04 with AxelULite SOM]]
SDV04 SDVX Embedded Linux Kit provides all the necessary components required to set up the developing environment to:
* build the bootloader (U-Boot)
* build and run Linux operating system on [[SDV03 | SDV03]] and [[SDV04 board | SDV04 board]]carrier board
* build and debug applications that will be executed on top of Yocto-based Linux distribution running on the target.
 
The main kit components are:
* hardware platform ([[SDV04| SDV04]])- optionally [[SDV03 | SDV03]] platform can be requested
* development host released in the form of [[Managed_Virtual_Machine_(MVM)|Managed Virtual Machine]], tailored for [[Managed_Virtual_Machine_(MVM)#Yocto-based_Linux_distribution|Yocto-based distribution]]
* technical documentation (hardware manuals, mechanical drawings, reference schematics, application notes etc.)
The documents related to the software issues help the user to quickly start configuring the bootloader and the operating system, by hiding most of the complexity of the underlying hardware. '''Reading of the [[Managed_Virtual_Machine_(MVM)|Managed Virtual Machine documentation]] is strongly recommended''', as it plays a '''major role''' in the SDVX organization.
For more details about SDV04 hardware characteristics, please refer to the [[Hardware_Manual_(SDV04)|SDV04 Lynx Hardware Manual]]. An account for the reserved area of [http://www.dave.eu '''DAVE Embedded Systems''' website] is required to access the kit contents. 
==Kit Contents==
{| class="wikitable"
|-
!Component
!Description
!Notes
|-
| style="text-align: center;" | [[File:Axel-lite_06.jpg|100px]]
|Axel Lite SOM <br>CPU: Freescale i.MX6<br>SDRAM: 1 GB DDR3<br>NOR: bootable SPI flash 16 MB<br>NAND: 1GB
|Please refer to [[Hardware Manual (AxelLite) | Axel Lite Hardware Manual]]
|-
| style="text-align: center;" | [[File:AXEL_ULite-top.png|100px]]
|Axel ULite SOM <br>CPU: Freescale i.MX6UL<br>SDRAM: 512MB DDR3<br>NOR: bootable SPI flash 16 MB<br>NAND: 1GB
|Please refer to [[Hardware_Manual_(AXEL_ULite) | Axel ULite Hardware Manual]]
|-
| style="text-align: center;" | [[File:SDV04.png|60px]]
|SDV04 Carrier board
|Please refer to [[SDV04 | SDV04]] page
|-
| style="text-align: center;" | [[File:SDV03.png|60px]]
|SDV03 Carrier board
|Please refer to [[SDV03 | SDV03]] page
|-
| style="text-align: center;" | [[File:Alimentatore.jpg|40px]]
|AC/DC Single Output Wall Mount adapter<br>Output: +12V – 2.0 A
|Please refer to [[SDV04 Embedded Linux Kit (SDVX)#Quick_start_guide | SDVX Quick start guide]]
|-
| style="text-align: center;" | [[File:Cavetto-seriale2.jpg|50px]]
|DB9 Male Serial port adapter
|Please refer to [[SDV04 Embedded Linux Kit (SDVX)#Quick_start_guide | SDVX Quick start guide]]
|-
| style="text-align: center;" | [[File:ProdSDC-MBLY-thumb.png|50px]]
|MicroSDHC card with SD adapter and USB adapter
|Please refer to [[SDV04 Embedded Linux Kit (SDVX)#Quick_start_guide | SDVX Quick start guide]]
|-
|}
 
==Additional documentation==
SDVX documentation is provided on [[:Category:SDVX|Wiki]] product pages. The most important documents are listed below:
 
* [[Hardware_Manual_(SDV04)|Hardware Manual]]
* [[Mechanicals_(SDV04)|Mechanicals]]
 
== SDVX software components ==
'''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 SDVX development kit. However, some customization is required, in particular at bootloader and linux kernel levels.
 
The following table reports the SDVX releases information.
{| class="wikitable"
!
! colspan="4" | SDVX version
|-
|Release number
|1.0.0
|1.0.1
|1.0.4
|1.0.5
|-
|Release type
|Major
|Minor
|Minor
|Minor
|-
|Status
|Released
|Released
|Released
|Released
|-
|Release date
|September 2018
|October 2018
|February 2019
|March2020
|-
|'''Release notes'''
|[[#SDVX 1.0.0 | Ver 1.0.0]]
|[[#SDVX 1.0.1 | Ver 1.0.1]]
|[[#SDVX 1.0.4 | Ver 1.0.4]]
|[[#SDVX 1.0.5 | Ver 1.0.5]]
|-
|PCB version
|SDV04 CS073817<br>SDV03 CS041718
|SDV04 CS073817<br>SDV03 CS041718
|SDV04 CS073817<br>SDV04 CS073817A<br>SDV03 CS041718<br>SDV03 CS041718A
|SDV04 CS073817<br>SDV04 CS073817A<br>SDV04 CS073817B<br>SDV03 CS041718<br>SDV03 CS041718A<br>SDV05 CS114119
|-
|SOM PCB version
|Axel Lite: CS335013C<br>Axel ULite:CS184015B
|Axel Lite: CS335013C<br>Axel ULite:CS184015B
|Axel Lite: CS335013C<br>Axel ULite:CS184015B
|Axel Lite: CS335013C<br>Axel ULite:CS184015B
|--
|Supported carrier boards
|[[SDV04 | SDV04]]
|[[SDV03 | SDV03]] [[SDV04 | SDV04]]
|[[SDV03 | SDV03]] [[SDV04 | SDV04]]
|[[SDV03 | SDV03]] [[SDV04 | SDV04]] SDV05
|-
|U-Boot version
|2016.03-sdvx-1.0.0
|2016.03-sdvx-1.0.1
|2016.03-sdvx-1.0.2
|2016.03-sdvx-1.0.5
|-
|Linux version
|4.1.15-sdvx-1.0.0
|4.1.15-sdvx-1.0.1
|4.1.15-sdvx-1.0.4
|4.1.15-sdvx-1.0.5
|-
|Drivers
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>eMMC/SD2<br>Touch screen controller<br>EMAC<br>LVDS0<br>NAND<br>RTC<br>I2C<br>SPI<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>eMMC/SD2<br>Touch screen controller<br>EMAC<br>LVDS0<br>NAND<br>RTC<br>RTC(M41T83)<br>I2C<br>SPI<br>Bluetooth(NINA B112)<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>eMMC/SD2<br>Touch screen controller<br>EMAC<br>LVDS0<br>NAND<br>RTC<br>RTC(M41T83)<br>I2C<br>SPI<br>Bluetooth(NINA B112)<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen<br>Wifi USB
| valign="top" | SPI NOR Flash (boot)<br>UART debug (2-wire)<br>USB Host<br>USB OTG<br>SD/MMC1<br>eMMC/SD2<br>Touch screen controller<br>EMAC<br>LVDS0<br>NAND<br>RTC<br>RTC(M41T83)<br>I2C<br>SPI<br>Bluetooth(NINA B112)<br>[[ConfigID_and_UniqueID | ConfigID]]<br>Splash screen<br>Wifi USB
|-
|NXP/Freescale BSP version
|L4.1.15-1.2.0-GA
|L4.1.15-1.2.0-GA
|L4.1.15-1.2.0-GA
|L4.1.15-1.2.0-GA
|-
|Graphic libraries
|Qt 5.9.2
|Qt 5.9.2
|Qt 5.9.2
|Qt 5.9.2
|-
|Build System
|Yocto Krogoth (2.1)
|Yocto Krogoth (2.1)
|Yocto Krogoth (2.1)
|Yocto Krogoth (2.1)
|-
|Android
|Marshmallow 6.0.1
|Marshmallow 6.0.1
|Marshmallow 6.0.1
|Marshmallow 6.0.1
|}
 
====Downloadable binary images====
 
All binary images for SDVX are hosted on [[mirror:sdvx|DAVE Embedded System mirror server]]. There you can find a sub directory for each version of this development kit.
 
A summary of images with a brief description can be found into the table below:
 
{{ImportantMessage|text=In order to boot Linux from SD card files, '''the binary files must be renamed''' as follows:
*bootscript: <code>boot.scr</code>
 
U-boot file <code>u-boot.imx</code> must be stored into first raw sector of the SD card using <code>dd</code> command}}
 
{| class="wikitable"
|-
! Image !! colspan="6" |SDVX version 1.0.4
|-
| Platform || colspan="4" style="text-align: center" | SDV04 || colspan="1" style="text-align: center" | SDV03
|-
| Carrier Board [[ConfigID_and_UniqueID | ConfigID]] || style="text-align: center" |0042 || style="text-align: center" |0044 || style="text-align: center" |0043 || style="text-align: center" |0045 || style="text-align: center" |004a
|-
| LCD panel || FutureLabs 1024x600 7" || Innolux 1280x800 10.1" || Innolux 1280x800 10.1" || FutureLabs 1024x600 7" || Ampire AM-800480STMQW-TA0
|-
| Touchscreen || colspan="4" style="text-align: center" | capacitive || colspan="1" style="text-align: center" | resistive
|-
| bootscript || colspan="5" style="text-align: center" |[[mirror:sdvx/sdvx-1.0.0/boot.scr|boot.scr]]
|-
| U-Boot || colspan="2" style="text-align: center" | [[mirror:sdvx/sdvx-1.0.4/sdvx-1.0.2_mx6ul_sfczg_spi_u-boot.imx|u-boot (NOR)]] || colspan="2" style="text-align: center" |[[mirror:sdvx/sdvx-1.0.4/sdvx-1.0.2_mx6dl_sfczg_nand_u-boot.imx|u-boot (NAND)]] || style="text-align: center" | [[mirror:sdvx/sdvx-1.0.4/sdvx-1.0.2_mx6dl_sfczg_u-boot.imx|u-boot (eMMC)]]
|-
| Linux kernel || colspan="2" style="text-align: center" |[[mirror:sdvx/sdvx-1.0.4/sdvx-1.0.4_ul_uImage|uImage]] || colspan="3" style="text-align: center" |[[mirror:sdvx/sdvx-1.0.4/sdvx-1.0.4_lite_uImage|uImage]]
|-
| Device tree (UL processor) || [[mirror:sdvx/sdvx-1.0.4/sdvx-1.0.4_ul_imx6ul-axelulite-cb0042.dtb|imx6ul-axelulite-cb0042.dtb]] || [[mirror:sdvx/sdvx-1.0.4/sdvx-1.0.4_ul_imx6ul-axelulite-cb0044.dtb|imx6ul-axelulite-cb0044.dtb]] || || ||
|-
| Device tree (DualLite processor) || || || [[mirror:sdvx/sdvx-1.0.4/sdvx-1.0.4_lite_imx6dl-sfczg-cb0043.dtb|imx6dl-sfczg-cb0043.dtb]] || [[mirror:sdvx/sdvx-1.0.4/sdvx-1.0.4_lite_imx6dl-sfczg-cb0045.dtb|imx6dl-sfczg-cb0045.dtb]] || style="text-align: center" | [[mirror:sdvx/sdvx-1.0.4/sdvx-1.0.4_lite_imx6dl-sdv03-cb004a.dtb|imx6dl-sdv03-cb004a.dtb]]
|}
 
=== SDVX microSD Layout ===
The microSD card provided with SDVX is partitioned as shown in the following image:
[[File:Sdvx-mmc-partition-table.png|thumb|center|600px500px|microSD partition table]]
<code>bootscript</code> and root file system are used to boot the target as described in [[#Target_setup_and_first_boot|this section]].
 
<del>It is worth remembering that the microSD card is [[Booting_options_(SBC_Lynx)|bootable]], because U-Boot image is stored at address 0x400. However, even if U-Boot is run from the microSD card, '''the environment is retrieved from NOR flash'''.</del>
====How to create a bootable microSD card====
Please note that this process '''implicitly updates git source code repositories of U-Boot and/or Linux kernel'''. Thus '''it is strongly recommended to create new local branches if you need to modify source code'''.
=== Release notes ===
 
==== SDVX 1.0.5 ====
* Add support for SDV05
* Add CDC/ACM driver
 
==== SDVX 1.0.4 ====
* Add support for RTL8188CUS and RTL8188EUS wifi USB key (client and AP mode)
 
===== Known issues and limitations =====
 
==== SDVX 1.0.1 ====
* Add support for SDV03
 
===== Known issues and limitations =====
==== SDVX 1.0.0 ====
 ===== Notes 1.0.0 =====* First official release
===== Known issues and limitations =====
**2: VIN
*insert microSD card in the slot J13.
[[File:PlaceholderSDV04-EVB.png|thumb|center|600px700px|Target setup for first bootfor AxelLite SOM]] Once power is applied to the target, the U[[File:SDV04-Boot bootloader will be fetched from the NAND flash and executed. Boot messages will be printed out to the serial console. Redundant UEVB-Boot environment is stored in the NAND flash as well, as depicted in the following imageUL.png|thumb|center|650px|Target setup for first boot for AxelULite SOM]]
Once power is applied to the target, the U-Boot bootloader will be fetched from the flash internal storage (NOR/NAND/eMMC depending on order code) and executed. Boot messages will be printed out to the serial console. Redundant U-Boot environment is stored in the flash as well, as depicted in the following image.
[[<gallery mode="packed" heights="500px">File:Xub-nor.png|center|thumb|600px500px|NOR partition table]][[File:Nand SDVx.png|center|thumb|600px500px|NAND partition table]]</gallery>
By default, U-Boot is configured to retrieve Linux kernel image stored in the microSD card. In turn, Linux kernel shall mount the correct root file system from the microSD card depending on the version of the board one is using. For the '''lite''' version, the root file system is stored in the <code>mmcblk0p2</code> partition, while the '''ul''' uses the <code>mmcblk0p3</code> partition. At the end of the boot process, Linux shell shall be available on the serial console.
</pre>
 
=== Boot mode ===
Please find more information [[Boot_options_(SDV04) | here]] about the selected boot device.
===Host setup===
===Developing the software for the target===
Please refer to[[Developing the software for the target (SDVX)| this page]].
 
===Accessing hardware peripherals===
Please refer to[[Accessing hardware peripherals (SDVX)| this page]].
 
==Advanced topics==
===Debugging with Eclipse===
To build your first application, start the QtCreator from the command line with the following command:
 
<pre>
sdvx-qtcreator [target]
</pre>
 
where the target is '''ul''' for ''sdvx-ul'' or '''lite''' for ''sdvx-lite''
 
<pre class="workstation-terminal">
dvdk@ubuntu-xenial:~$ sdvx-qtcreator ul
Starting QtCreator for sdvx-ul
</pre>
 
 
{{ImportantMessage|text=It is important to start QtCreator with the above script each time you close it}}
This command will take care of sourcing the correct environment for the target device. After that, one can follow this guide to compile and debug the[[XELK-AN-004: Getting Started With QT Creator#Qt application example| Qt application example]]. You should probably want to change the '''ip-address''' of your kit as explained [[XELK-AN-004: Getting Started With QT Creator#Devices | here]]
 ==== Sdvx-ul SDVX Lite ==== If the target device is '''sdvx-ullite''', the command line arguments are 
<pre>
-platform linuxfb:fb=/dev/fb0eglfs
</pre>
Instead of ==== SDVX UL ====If the target device is '''sdvx-ul''', the command line arguments are
<pre>
-platform eglfslinuxfb
</pre>
 
Moreover, if one intends to build '''Qml''' application for the '''sdvx-ul''' board, it is necessary to start the Qml application with
 
<pre>
export QMLSCENE_DEVICE=softwarecontext
</pre>
 
For example, to start the '''Qt5 Cinematic Experience''' application that is installed inside the
devel RFS it is necessary to run:
<pre class="workstation-terminal">
root@sdvx-ul:~# export QMLSCENE_DEVICE=softwarecontext
root@sdvx-ul:~# Qt5_CinematicExperience -platform linuxfb:fb=/dev/fb0
libpng warning: iCCP: known incorrect sRGB profile
</pre>
8,154
edits

Navigation menu