Table of Contents

Advertisement

Quick Links

SBC AXEL (SBCX)
Single Board Computer
AXEL LITE
User's Guide
www.dave.eu
DAVE Embedded Systems
info@dave.eu

Advertisement

Table of Contents
loading

Summary of Contents for Dave Embedded Systems SBC AXEL

  • Page 1 SBC AXEL (SBCX) Single Board Computer AXEL LITE User's Guide www.dave.eu DAVE Embedded Systems info@dave.eu...
  • Page 2 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 <Page intentionally left blank> December, 2019 2/139...
  • Page 3: Table Of Contents

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Table of Contents Preface..........................10 1.1 About this manual......................10 Copyrights/Trademarks....................10 Standards........................10 Disclaimers........................10 Warranty........................10 Related documents......................12 Conventions, Abbreviations, Acronyms...............12 Introduction.........................14 Product Highlights......................15 Block Diagram......................16 Feature Summary......................17...
  • Page 4 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 5.4.1.1 Linux messages at cable connection: ............36 5.4.1.2 Check interface status with ifconfig ..............36 5.4.1.3 Test with iperf: ....................36 CAN –...
  • Page 5 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 5.14.2.2 Linux messages at boot time: ..............58 5.15 RTC..........................59 5.15.1 Accesssing the peripheral ................59 5.16 DWM – J24........................60 5.16.1 DWM features: ....................
  • Page 6 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 7.3.2.2 Bootloader ......................84 7.3.2.3 Kernel ......................85 7.3.2.4 Linux Device Tree ..................85 7.3.2.5 Target root file system ..................85 7.3.2.6 Yocto .......................85 7.3.2.7 Git repositories ....................86 7.3.2.8 RSA key generation ..................87 7.3.3...
  • Page 7 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 7.7.2.3 Network setup ....................115 7.7.3 Running the Android Debug Bridge (ADB) ............116 7.7.3.1 ADB over USB ....................116 7.7.3.2 ADB over Ethernet ..................116 7.7.3.3 Connecting via ADB ..................116 7.7.4...
  • Page 8 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Illustration Index Fig. 1: SBCX..........................14 Fig. 2: SBCX block diagram......................16 Fig. 3: Assembly view: top......................18 Fig. 4: Assembly view: bottom....................19 Fig.
  • Page 9 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Fig. 42: Pre-built root file systems.....................96 Fig. 43: Launching QtCreator....................102 Fig. 44: QtQuick "Hello World!"....................106 Fig. 45: Launch the Qt application on the SBCX..............107 Fig.
  • Page 10: Preface

    DAVE Embedded Systems is guaranteed against defects in material and workmanship for the warranty period from the shipment date. During the warranty period, DAVE Embedded Systems will at its discretion decide to repair or replace defective products. Within the warranty period, the repair of products is free of charge provided that warranty conditions are observed.
  • Page 11 DAVE Embedded Systems will not be responsible for any defects or damages to other products not supplied by DAVE Embedded Systems that are caused by a faulty SBCX board.
  • Page 12: Related Documents

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Related documents Document Location Dave Developers Wiki http://wiki.dave.eu/index.php/Main_Page Tab. 1: Related documents Conventions, Abbreviations, Acronyms Abbreviation Definition Button EMAC Ethernet Media Access Controller General purpose input...
  • Page 13 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Revision History Version Date Notes 0.9.0 November 2015 First draft 1.0.0 March 2016 First release 1.0.1 December 2019 Second release December, 2019 13/139...
  • Page 14: Introduction

    IEC-61131 SW language environment and/or other plug-ins like QT environment or multimedia GStreamer video applications. This hardware proposal by DAVE Embedded Systems is completed with SW solutions (SoftPLC, QT, RTOS) which permit to reduce overall system cost, and making SBCs ideally suited for deployment into a wide...
  • Page 15: Product Highlights

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Product Highlights ● EASY HARDWARE ◾ CPU: based on NXP / Freescale i.MX6 Solo/Dual/Quad core ◾ USB Host and Device ◾...
  • Page 16: Block Diagram

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Block Diagram Fig. 2: SBCX block diagram December, 2019 16/139...
  • Page 17: Feature Summary

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Feature Summary The following table summarizes the features available with SBCX: Feature Specifications Options Supported SOM AXEL LITE Serial ports 1x UART RS232/RS422/RS485 1x UART RS232 on PMOD module...
  • Page 18: Assembly View: Top

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Assembly view: top Fig. 3: Assembly view: top December, 2019 18/139...
  • Page 19: Assembly View: Bottom

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Assembly view: bottom Fig. 4: Assembly view: bottom December, 2019 19/139...
  • Page 20: On-Board Connectors

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 On-board connectors The table below lists all available connectors on the SBCX board. Please refer to Fig. 3: Assembly view: top for connectors' positions and refer to section 5 for detailed description and the pin out of each connector.
  • Page 21: Tab. 5: Electrical, Mechanical And Environmental Specifications

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Ref. Symbol Function Type Part number vertical header Battery holder ML2020 battery holder ML-2020/G1AN PANASONIC UART3 Header 5x2x2.54mm RS232 Touch screen 4-pins, 1mm pitch...
  • Page 22: Mechanical Specifications

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Mechanical specifications This chapter describes the mechanical characteristics of the SBCX board. Mechanical drawings are available in DXF format on request. Board Layout The following figures shows the physical dimensions of the SBCX board.
  • Page 23: Drills: Position And Size

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 3.1.2 Drills: position and size Fig. 6: SBCX drills December, 2019 23/139...
  • Page 24: Side View

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 3.1.3 Side view Fig. 7: Side view Mechanical data table All dimensions on the following table are in millimeters. Dimension Value Width...
  • Page 25: System Components

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 System components Power Supply Unit (PSU) The SBCX supports a power input in the +[12-24 V] range. The supply voltage is applied through the J2 power connector.
  • Page 26: On-Board Buttons

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 On-board buttons 4.2.1 S3 - Reset button Fig. 9: Reset button S3 is the hardware reset button. December, 2019 26/139...
  • Page 27: Interfaces And Connectors

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Interfaces and connectors The following paragraphs describe the interfaces available on SBCX, providing the pinout tables for each connector. For each interface, a brief note on how to use the peripheral on Linux is provided.
  • Page 28: Power Led - Dl1

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 5.1.1 Power LED – DL1 A green LED (placed near battery holder) shows the status of the power input.
  • Page 29: Uarts

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 UARTs Three UART ports are available on SBCX. 5.3.1 UART3 – J22 Fig. 13: Debug console connector J22 is a 10 pin (5x2x2.54mm) header connector for the RS232 two-wires UART3 port, used for debug purposes (bootloader and operating system serial console).
  • Page 30 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 start your favorite terminal emulator software on PC (eg: PuTTY); communication parameters are: Parameter Value Baud rate 115200 bps Data bits Stop bits Parity...
  • Page 31: Uart4 - J25

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 5.3.2 UART4 – J25 Fig. 14: UART4 connector J25 is a is a 6x1x2.54 pitch vertical header for the UART4 port. This is a Digilent Pmod™...
  • Page 32: Uart5 - J21

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 at tldp.org/HOWTO/Serial-Programming-HOWTO/index.html. A simple loopback test is the following: root@axel-lite:~# stty -F /dev/ttymxc3 115200 -echo root@axel-lite:~# cat /dev/ttymxc3 & [1] 741 root@axel-lite:~# echo "Test loopback"...
  • Page 33: Configuration Jumpers J19 E J20

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Pin name RS232 mode RS422 mode RS485 mode pin # J10.107 UART5_B UART2 Clear To UART5_B UART5_B Send Not connected Not connected Not connected...
  • Page 34: Accessing The Peripheral

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 5.3.3.2 Accessing the peripheral UART4 is mapped to /dev/ttymxc4 device in Linux: root@axel-lite:~# dmesg | grep ttymxc4 1.453534] 21f4000.serial: ttymxc4 at MMIO 0x21f4000 (irq = 62) is a IMX Serial ports can be used through the standard serial programming API.
  • Page 35: Ethernet Port - J16

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Ethernet port – J16 Fig. 17: Ethernet connector J16 is a standard RJ45 connectors connected to the SOM integrated ethernet controller and PHY.
  • Page 36: Using The Peripheral

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Pin # SOM pin Pin name Function Notes 18, 19 +3V3 5.4.1 Using the peripheral AXEL LITE SOM provides the network interface mapped at eth0. Default IP address is 192.168.1.1.
  • Page 37: Can - J23

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 [ ID] Interval Transfer Bandwidth 0.0-10.0 sec 297 MBytes 249 Mbits/sec CAN – J23 Fig. 18: CAN connector J23 is a 3x2x2.54mm header that provides the CAN bus port compatible with the CAN 2.0B protocol.
  • Page 38: Accessing The Peripheral

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Fig. 19: CAN electrical connections 5.5.1 Accessing the peripheral 5.5.1.1 Linux messages at boot time: root@axel-lite:~# dmesg | grep can 1.470492] Scanning device for bad blocks 2.053585] imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_EIM_D25 already requested by 21ec000.serial;...
  • Page 39: Test With Cansend Utility

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 UP RUNNING NOARP MTU:16 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:10 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:142...
  • Page 40: Lvds

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 LVDS SBCX provides two LVDS interfaces, LVDS0 and LVDS1. Fig. 20: LVDS connectors 5.6.1 LCD LVDS0 connector – J8 J8 is a Hirose (cod.
  • Page 41: Lcd Lvds1 Connector - J9

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Pin # SOM pin # Pin name Function Notes 21, 22 LVDS_SHIELD LVDS shield 5.6.2 LCD LVDS1 connector - J9 J9 is a Hirose (cod.
  • Page 42: Linux Messages At Boot Time

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 5.6.3.3 Linux messages at boot time: root@axel-lite:~# dmesg | grep ldb 0.489604] mxc_sdc_fb fb.23: register mxc display driver ldb HDMI –...
  • Page 43: Accessing The Peripheral

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Pin # SOM pin Pin name Function Notes 2, 5, 8, DGND Ground 11, 17 Not connected 20, 21, SH_HDMI Shield 22, 23...
  • Page 44: Wide™ Connector - J33

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 WIDE™ connector – J33 Fig. 22: WIDE™ connector J33 is the WIDE™ (Wise Interface Display Expander ) connector. It is a 20x1.00 mm One Piece Interface for connecting add-on modules that extend the SBCX features, implementing additional interfaces as SPI, I2C, RGB displays, PWMs, GPIOs.
  • Page 45 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Pin # SOM pin # Pin name Function Notes J10.152 LCD_G0 J10.38 I2C_SCL_R I2C3 J10.154 LCD_G1 J10.48 I2C_SDA_R I2C3 J10.156 LCD_G2...
  • Page 46: Available Add-On Modules

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Pin # SOM pin # Pin name Function Notes J10.128 LCD_VSYNC AUX_BL_LVDS0 J10.130 LCD_HSYNC 56, 58 J10.132 LCD_PIXEL_CLO 2, 16, 22, DGND Ground...
  • Page 47 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Pin # SOM pin # Pin name Function Notes 5V_IN J10.64 PCIE_WAKE_B AUX_PWR_EN J10.76 PCIE_RST_B J10.74 PCIE_DIS_B J10.84 PCIE_CLKN J10.86 PCIE_CLKP...
  • Page 48: Accessing The Peripheral

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 5.9.1 Accessing the peripheral The interface can be used connecting a dedicated add-on. For additional information, please contact sales@dave.eu. December, 2019 48/139...
  • Page 49: Touch Screen Connector - J50

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 5.10 Touch screen connector – J50 Fig. 23: Touch screen connector The 4-wire resistive touch controller signals are routed to J50, a 4-pins, 1mm pitch vertical ZIF.
  • Page 50: Linux Messages At Boot Time

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 5.10.1.2 Linux messages at boot time: root@axel-lite:~# dmesg | grep -i tsc 2.272820] input: TSC2007 Touchscreen as /devices/virtual/input/input0 5.11 MicroSD slot –...
  • Page 51: Accessing The Peripheral

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 5.11.1 Accessing the peripheral The microSD card is mapped to /dev/mmcblk0. The available partitions are available as /dev/mmcblk0p1, /dev/mmcblk0p2, … When the microSD is inserted, the kernel prints the following messages: root@axel-lite:~# [ 26.729497] mmc0: host does not support...
  • Page 52: Usb Ports

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 5.12 USB ports SBCX provides two USB ports, one Host and one OTG. 5.12.1 USB Host – J17 Fig.
  • Page 53: Accessing The Peripheral

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 5.12.1.2 Accessing the peripheral USB controllers are detected at runtime: root@axel-lite:~# dmesg | grep usb 0.417436] usb_otg_vbus: 5000 mV 0.417654] usb_h1_vbus: 5000 mV 0.419310] usbcore: registered new interface driver usbfs 0.419366] usbcore: registered new interface driver hub...
  • Page 54: Usb Otg - J18

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 blocks: (31.6 GB/29.4 GiB) 830.917953] sd 3:0:0:0: [sda] Write Protect is off 830.923356] sd 3:0:0:0: [sda] Write cache: disabled, read cache: disabled, doesn't support DPO or FUA 830.951115] sda: sda1...
  • Page 55: Accessing The Peripheral

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Pin # SOM pin Pin name Function Notes J10.198 USB_OTG_DP USB OTG Data + J10.192 ENET_RX_ER USB OTG ID Ground 5.12.2.1 Accessing the peripheral...
  • Page 56: Gpios

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 gadget: high-speed config #1: Linux File-Backed Storage 5.13 GPIOs i.MX6 can handle external pins in many different ways and most of them can be configured as GPIOs.
  • Page 57: Audio - J27

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 echo in > /sys/class/gpio/gpioXX/direction It is possible to do the same for values read or written on the pin. To read a pin (the value read will be correct only if pin’...
  • Page 58: Enable Microphone Bias Voltage - J14

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Pin # Pin name Function Notes AUX_RES Analog ground MIC_IN Microphone Input HSOL Audio Headset left AUD_HP_VGND Analog ground HSOR Audio Headset right 5.14.1...
  • Page 59: Rtc

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 3.426627] imx-sgtl5000 sound.28: sgtl5000 <-> 2028000.ssi mapping ok 6.636379] #0: imx51-babbage-sgtl5000 5.15 SBCX uses the RTC device provided by AXEL LITE. root@axel-lite:~# dmesg | grep snvs 2.142386] snvs_rtc 20cc034.snvs-rtc-lp: rtc core: registered 20cc034.snvs-rtc-lp as rtc0...
  • Page 60: Dwm - J24

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 5.16 DWM – J24 Fig. 28: DWM connector J24 is a 30-pins 0.50mm Pitch SlimStack™ Receptacle. This connector is dedicated to the DWM add-on module.
  • Page 61: Dwm Conceptual Block Diagram

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 5.16.2 DWM conceptual block diagram The following picture shows the conceptual block diagram of the application where the host is the SBCX. 3.3V SBCX UART...
  • Page 62: Accessing The Peripheral

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Pin # SOM pin Pin name Function Notes J10.49 UART2_TX J10.41 TIWI_BT_F2 J10.59 UART2_RTS J10.43 TIWI_IRQ J10.99 TIWI_BT_EN J10.45 TIWI_EN 12, 14, 16,...
  • Page 63 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 root@axel-lite:~/axel-sbc/dwm# rfkill list 0: phy1: wlan Soft blocked: yes Hard blocked: no root@axel-lite:~/axel-sbc/dwm# rfkill unblock 0 root@axel-lite:~/axel-sbc/dwm# [ 196.038880] wlcore: firmware booted (Rev 6.3.10.0.133) 196.073419] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not...
  • Page 64: Wifi Calibration

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 IE: Unknown: DD090010180202F0000000 IE: Unknown: DD180050F2020101800003A4000027A4000042435E0062322F00 5.16.4.3 WiFi calibration For detailed information, please refer to the Calibration Getting Started Guide (http://processors.wiki.ti.com/index.php/WL12xx_NLCP_Calibration_Proc cess#Calibration_Getting_Started).
  • Page 65: Bluetooth

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 ap_scan=0 fast_reauth=1 # Only WPA-PSK is used. Any valid cipher combination is accepted. network={ ssid="INTELLINET_AP" proto=WPA2 key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP psk="davedavedave"...
  • Page 66 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Device setup complete root@axel-lite:~/axel-sbc/dwm# hciconfig hci0: Type: BR/EDR Bus: UART BD Address: 88:33:14:5E:05:6F ACL MTU: 1021:4 SCO MTU: 180:4 DOWN RX bytes:598 acl:0 sco:0 events:30 errors:0...
  • Page 67: Jtag - Jd1

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 5.17 JTAG – JD1 Fig. 29: JTAG connector JD1 is a 10x2.54 mm pin strip connector (the pin holes are on the SBCX carrier located under the SOM module).
  • Page 68: Getting Started

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Getting started This chapter describes how to quickly start working with the development kit. The following paragraphs will guide you through the setup and installation procedures.
  • Page 69: Sbcx Kit Contents

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 6.1.1 SBCX kit contents The following table lists the kit components Component Description SBCX with AXEL LITE SOM Ampire AM-800480SETMQW 7”...
  • Page 70: Hardware Setup

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Hardware setup This section describes how to quick start the SBCX The system is programmed to automatically boot Linux at power up, loading the bootloaded, the kernel image and the root file system from the internal flash memory.
  • Page 71 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 start your favorite terminal emulator software on PC (eg: PuTTY, Minicom, ...); communication parameters are: Parameter Value Baud rate 115200 bps Data bits Stop bits...
  • Page 72: Connecting To The Sbc Through Ssh

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 6.3.2 Connecting to the SBC through SSH 6.3.2.1 From Windows ● Download and install PuTTY from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html ● Double-click on the putty.exe icon to launch PuTTY ●...
  • Page 73 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 ssh root@192.168.1.1 ● Answer “yes” to the “Are you sure you want to continue connecting (yes/no)?” question You are now logged in and you have access to the SBCX system shell: December, 2019 73/139...
  • Page 74: Running Different Operating Systems

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Running different operating systems SBCX supports several operating systems, in the form of different Linux distributions and Android. All the available binary images, stored in the RESERVED AREA of our website, can be downloaded (upon registration) from the following URL: http://www.dave.eu/reserved-area...
  • Page 75 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 The customer can then access the RESERVED AREA from the DAVE Embedded Systems' web site home page, clicking on the “SUPPORT- >Reserved Area”...
  • Page 76: Creating A Bootable Sd With A New Operating System

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 6.4.4 Creating a bootable SD with a new operating system 6.4.4.1 From Windows Windows doesn't provide a tool for writing raw images to SD cards, so an external tool is required.
  • Page 77: From Linux

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 ● click on the “Write” button and confirm the operation ● From Linux From Linux, the dd (http://linux.die.net/man/1/dd) command can be used to write the raw image to the SD card.
  • Page 78: Development Tools

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Development tools Embedded Linux When we talk in general about Embedded Linux , we refer to an embedded system running Linux operating system. As the reader probably knows, Linux was first developed on the PC platform, based on the famous x86 architecture.
  • Page 79: Xelk

    L<Kernel_version>_<x.y.z> BSP versions. Hence XELK documentation often refers to L<Kernel_version>_<x.y.z> resources. DAVE Embedded Systems adds to the latest BSP from NXP / Freescale the customization required to support the AXEL/SBCX platform. For this reason most of the documentation provided by NXP / Freescale remains valid for the XELK development kit.
  • Page 80: Known Limitations

    OpenEmbedded, but it provides a less steep learning curve, a graphical interface for Bitbake and very good documentation. DAVE Embedded Systems provides the so-called recipes/meta- repositories required to build all the software components (bootloader, kernel and root file system) with the Yocto build system. For further details, please refer to https://wiki.yoctoproject.org/wiki/FAQ.
  • Page 81: Dvdk

    . 1 . 0 . 1 7.2.2 DVDK DAVE Embedded Systems Virtual Development Kit is a virtual machine, based on Oracle VirtualBox that allows developers to start using DAVE Embedded Systems platform without wasting time in manually installing the development environment. The Virtual Machine comes with all the...
  • Page 82: Microsd Contents

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 sw/dvdk contained in the folder of the kit distribution) 7.2.2.2 MicroSD contents The microSD provided with the development kit provides: ●...
  • Page 83: Development Environment

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Development environment 7.3.1 Introduction The following figure show the typical development environment for an Embedded Linux system: it is composed of a host machine and a target machine.
  • Page 84: Software Components

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 is able to mount the root file system from different physical media, for example from a directory exported via Network File System (NFS) by the host.
  • Page 85: Kernel

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 commands. U-Boot manages an environment space where several variables can be stored. These variables are extremely useful to permanently save system settings (such as ethernet MAC address) and to automate boot procedures.
  • Page 86: Git Repositories

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 their own custom Linux distributions for any hardware architecture and across multiple market segments. The Yocto Project is intended to simplify the work of the developers, providing a set of tools and components, including a highly configurable build system, that enables users to construct their own custom distributions, targeted for specific...
  • Page 87: Rsa Key Generation

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Please note that git fetch doesn't merge the commits on the current branch. To do that, the developer should run git merge origin/axel or replace the ''fetch-merge'' process with a single git pull command.
  • Page 88: Working With Sbcx

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 7.3.3 Working with SBCX 7.3.3.1 The build system A build system is a set of source trees, Makefiles, patches, configuration files, tools and scripts that makes it easy to generate all the components of a complete embedded Linux system.
  • Page 89: Importing The Dvdk Virtual Machine

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 7.3.3.3 Importing the DVDK virtual machine XELK provides a virtual machine image as a .OVA file, which is a virtual application exported in Open Virtualization Format (OVF).
  • Page 90 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Navigate your file system and select the .ova file provided with the XELK Fig. 35: Selecting the OVA file Click "Next"...
  • Page 91: Launching The Dvdk Virtual Machine

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 7.3.3.4 Launching the DVDK virtual machine Launch the new Virtual Machine by double clicking on the XELK x.y.z entry on the left menù: Fig.
  • Page 92 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 At the end of the boot process, the Lubuntu desktop will be available (autologin is enabled for the user “dvdk”). Please note that the user account credentials are provided with the development kit (you can find them into the '''README''' file contained in the '''dvdk''' folder of the kit...
  • Page 93 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Fig. 39: Mounting the virtual disk Once logged in, the system could suggest to update the Virtualbox Guest Additions package. You can follow the on-screen instructions to easily install the updated package.
  • Page 94: Overview Of The Installed Components

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Check if your keyboard layout matches the Ubuntu keyboard settings. You can change the keyboard layout selecting System->Preferences->Keyboard from the top panel menù.
  • Page 95: Tftp Server

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 u-boot-am33x ● : the U-Boot source tree yocto ● : the Yocto SDK installation directory qtcreator-x.y.z ● : pre-installed and pre-configured QtCreator IDE for Qt application development ●...
  • Page 96: Nfs Server

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 7.3.3.7 NFS Server One of the most important components of a Linux system is the root file system. A good development root file system provides the developer with all the useful tools that can help developers on their work.
  • Page 97 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Fig. 42: Pre-built root file systems For more information on the Linux filesystem, please refer to http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/. XELK provides pre-built root file systems, that can be used during the evaluation/development phase, since they contains the software packages for working with the AXEL platform.
  • Page 98: Building The Software Components With Yocto

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Building the software components with Yocto The build process creates an entire Linux distribution from source. The build process can be summarized as follows: ●...
  • Page 99: Initializing The Build Environment

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 ● python-m2crypto These packages can be installed with the following command: sudo apt-get install git build-essential diffstat texinfo gawk chrpath ia32-libs python-m2crypto It is also recommended to switch the system shell from Ubuntu's standard dash to more universal bash: $ sudo dpkg-reconfigure dash...
  • Page 100: Building The Software Components Outside Yocto

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 $ source source axel-bsp-init-env.sh build $ bitbake axel-fsl-image-gui Please note that three different images are available: ● axel-fsl-image-gui (includes the gui application from NXP / Freescale) ●...
  • Page 101: Build A Custom Application

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 code published in the git repositories, using the git fetch/merge or the git pull commands. For further details, please refer to section 7.3.2.7.
  • Page 102 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 toolchain provided with the XELK is required. Assuming that you've configured the environment variables sourcing the env.sh script, developers can write a simple "Hello world" application, called for example hello.c: #include <stdio.h>...
  • Page 103: Building Qt Applications

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Building Qt applications Qt Creator is pre-installed and pre-configured in the DVDK. This means that developers can quickly build 7.6.1 Launching Qt Creator To launch QtCreator, simply open the main menù...
  • Page 104: Building A Qtquick "Hello World

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 7.6.2 Building a QtQuick “Hello World!” Follow the wizard to create a simple “Hello World!” application using the QtQuick 2 library: December, 2019 104/139...
  • Page 105 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 December, 2019 105/139...
  • Page 106 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 December, 2019 106/139...
  • Page 107 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Fig. 44: QtQuick "Hello World!" December, 2019 107/139...
  • Page 108: Running (And Debugging) A Qt Application On The Sbcx

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 7.6.3 Running (and debugging) a Qt application on the SBCX 7.6.3.1 Launch the application To launch the application, select the Build option on the top menù and then click “Run”.
  • Page 109: Debug The Application

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 7.6.3.2 Debug the application To debug the application, select the Debug option on the top menù and then click “Start debugging”. The application binary will be deployed and executed on the target, with a debug session attached: Fig.
  • Page 110: Using Breakpoints

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 7.6.3.3 Using breakpoints Breakpoints can set by right-clicking on the corresponding line in the source code. In the next debug session, the application execution will stop at the breakpoint: Fig.
  • Page 111: Building Android Applications

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Building Android applications 7.7.1 Android development model 7.7.1.1 Introduction To develop apps for Android devices, you need a set of tools that are included in the Android SDK.
  • Page 112: Development Tools

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 7.7.1.2 Development tools A lot of information on how to start programming can be found here: http://developer.android.com/sdk/index.html. Before starting, make sure you can match the prerequisites: http://developer.android.com/sdk/index.html#Requirements In order to start development of your Android “Apps”, you need to install the following components:...
  • Page 113: Android Tools

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 information on how the emulator provided with the Android SDK works. In particular, check the Keymapping table to know how to navigate the Android GUI on the emulator.
  • Page 114: Running In "Full Control" Mode

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 ● patching the AOSP project tree to support the i.MX6 platform according with the Android BSP provided by NXP / Freescale ●...
  • Page 115: Running In "Normal" Mode

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 SF: Detected S25FL256S with page size 64 KiB, total 32 MiB serial Out: serial Err: serial Power: found PFUZE100 (devid=10, revid=21) HW ver#: 0x1 (module_id) HW ver#: 0x0 (sbc_id) Net:...
  • Page 116: Running The Android Debug Bridge (Adb)

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 7.7.3 Running the Android Debug Bridge (ADB) ADB (http://developer.android.com/tools/help/adb.html) is a fundamental development tool and enables remote access to the Android device. ADB is provided with the Android SDK, so before using it you must install the SDK.
  • Page 117: Step By Step Guide To Your First Android App

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 commmand: $ adb install <path to apk> 7.7.4 Step By Step Guide to your First Android App This tutorial shows you how to develop your first Android application and run it on the SBCX platform.
  • Page 118: Creating Applications With Android Studio

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 7.7.4.2 Creating applications with Android Studio Follow the instructions provided on the Creating an Android Project page (http://developer.android.com/training/basics/firstapp/creating- project.html) to create a new project.
  • Page 119 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 December, 2019 119/139...
  • Page 120: Deploy And Launch The Application On The Sbcx

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 7.7.4.3 Deploy and launch the application on the SBCX To launch the application on the SBCX: ● make sure that ADB connection to the SBCX is active ●...
  • Page 121 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 December, 2019 121/139...
  • Page 122: Programming The Flash Memory

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Programming the flash memory 7.8.1 Flashing binary images in NOR flash 7.8.1.1 U-Boot run load run spi_update 7.8.1.2 Linux kernel run loadk run spi_updatek...
  • Page 123 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 ● transfer the root file system on the mounted partition (typically by uncompressing a tar.gz archive) Please find below an example of the command sequence that can be used for an UBIFS file system (after booting the board via nfs).
  • Page 124: Customizing The Splash Screen

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Customizing the splash screen SBCX provides support for a customizable splash screen. The following sections describe how to use this feature. 7.9.1 Customizing the splash screen The splash screen image can be downloaded via tftp to a specific RAM...
  • Page 125: Commands

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 7.9.3.2 Commands The following commands are used to store in NOR SPI flash a BMP image loaded via tftp: run loadsplashfile run spi_updatesplash 7.9.4...
  • Page 126: Frequently Asked Questions

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Frequently Asked Questions Q: Where can I found AXEL SOM information? A: please refer to the following table: Document Location AXEL main page on...
  • Page 127: Q: How Can I Work With The Xyz Peripheral/Interface

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Embedded Systems Developer's Wiki: http://wiki.dave.eu/index.php/Software_Manual_%28Axel %29#XELK_Updates Q: How can I work with the XYZ peripheral/interface? A: please refer to the “i.MX 6Dual/6Quad Linux Reference Manual”...
  • Page 128: How Can I Change The Cpu Clock Frequency

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Parameter Description Default exported directory bootfile Path to the kernel binary xelk/uImage image on the tftp server fdtfile Path to the device tree xelk/imx6q-sbcx.dtb binary image on the tftp...
  • Page 129: How Can I Limit The Number Of Active Cpu Cores

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Please also note that the imx6q-cpufreq driver (http://lxr.free- electrons.com/source/drivers/cpufreq/imx6q-cpufreq.c? v=3.10 ) works on a per-SOC policy (and not on a per-core one), so the cpufreq governor changes the clock speed for all the ARM cores simultaneously.
  • Page 130: Q: How Can I Reduce The Boot Time

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 iface eth0 inet static pre-up ifconfig eth0 hw ether $(cat /proc/cmdline | sed 's/.*eth=\([^ ]*\).*/\1/') address 192.168.1.1 netmask 255.255.255.0 Q: How can I reduce the boot time? A: Reducing the boot time is a fine tuning task that is usually performed when the development of all the system components is complete.
  • Page 131: Appendices

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 Appendices U-Boot startup messages The following messages will be printed on the serial console during U- Boot startup (please note that messages may vary for different U-Boot releases): U-Boot 2013.04 (Jan 12 2016 - 15:51:23)-xelk-2.2.0 CPU: Freescale i.MX6Q rev1.5 at 792 MHz...
  • Page 132 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 bootdelay=3 bootfile=axel/uImage bootscript=echo Running bootscript from ${recoverydev} ...; source configid_fixupfdt=if configid checkfdt ${fdtaddr} som_configid ${som_configid#}; then if configid checkfdt ${fdtaddr} cb_configid ${cb_configid#};...
  • Page 133: Boot Messages On The Serial Console

    S B C X U s e r ' s G u i d e v . 1 . 0 . 1 uboot=axel/u-boot.imx usbrecovery=usb start; usb dev 0; setenv recoverydev usb; run recovery Boot messages on the serial console The following messages will be printed on serial console during the Linux boot process (please note that messages may vary for different Linux releases): U-Boot >...
  • Page 134 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 0.000000] Kernel command line: root=/dev/nfs rw nfsroot=192.168.0.13:/opt/nfsroot/axel/xelk-2.1.0-qt5,v3,tcp ip=192.168.0.123:192.168.0.13::255.255.255.0:xelk:eth0:off panic=1 fec_mac=00:50:c2:1e:af:e3) 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes) 0.000000] Dentry cache hash table entries: 262144 (order: 8, 1048576 bytes) 0.000000] Inode-cache hash table entries: 131072 (order: 7, 524288 bytes) 0.000000] Memory: 2038MB 8MB = 2046MB total...
  • Page 135 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 0.473248] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> 0.473272] PTP clock support registered 0.489025] imx-ipuv3 2400000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7) 0.509018] imx-ipuv3 2800000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7) 0.509846] imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_GPIO_19 already requested by 20e0000.iomuxc;...
  • Page 136 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 0.838453] SW2: 800 <--> 3300 mV at 3300 mV 0.840367] SW3A: 400 <--> 1975 mV at 1500 mV 0.842278] SW3B: 400 <-->...
  • Page 137 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 2.606609] input: TSC2007 Touchscreen as /devices/soc0/soc.1/2100000.aips-bus/21a8000.i2c/i2c-1/1-0048/input/input0 2.618038] snvs_rtc 20cc034.snvs-rtc-lp: rtc core: registered 20cc034.snvs-rtc-lp as rtc0 2.626453] i2c /dev entries driver 2.632415] VGEN4: operation not allowed 2.639407] VGEN3: operation not allowed 2.742480] ov5640_read_reg:write reg error:reg=300a...
  • Page 138 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 4.040466] TCP: cubic registered 4.044318] NET: Registered protocol family 10 4.049740] sit: IPv6 over IPv4 tunneling driver 4.055026] NET: Registered protocol family 17 4.059520] can: controller area network core (rev 20120528 abi 9) 4.065827] NET: Registered protocol family 29 4.070341] can: raw protocol (rev 20120528)
  • Page 139 S B C X U s e r ' s G u i d e v . 1 . 0 . 1 December, 2019 139/139...

This manual is also suitable for:

Sbcx

Table of Contents