[[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]]
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.
|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.
| 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
|-
|Graphic libraries
|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)
|-
|Android
|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}}
<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 refer to this [[How_to_create_a_bootable_microSD_card_(XUELK)|this page]].
=== SDVX updates ===
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.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 =====
If you also wish to access git repositories containing source code, please follow the procedure described [[Accessing_DAVE_Embedded_Systems_restricted_git_repositories|here]].}}
===Target setup and first boot===
This section describes how to quickly start the SDV04 board delivered along with SDVX kit (see also the following image):
* Connect a serial cable between the J8 connector on the SDV04 board and PC COM port through a null-modem (https://en.wikipedia.org/wiki/Null_modem) cable (not provided)
*on the host side start your favorite terminal that will be used to interact with the target's serial console; communication parameters are 115200-8-N-1
**2: VIN
*insert microSD card in the slot J13.
[[File:PlaceholderSDV04-EVB.png|thumb|center|600px700px|Target setup for first bootfor AxelLite SOM]][[File:SDV04-EVB-UL.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 flash /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 NAND flash as well, as depicted in the following image.
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.
===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