Page 1
User Manual Ver. 5 EBC-3A1 Series 3.5’’ SBC with NXP i.MX6 Processor ARM ® Cortex A9 Architecture...
Page 2
Information in this document is subject to change without notice and does not represent a commitment on the part of NEXCOM. NEXCOM provides this document as is, without warranty of any kind, either expressed or implied, including, but not limited to, its particular purpose. NEXCOM reserves the right to make improvements and/or changes to this manual, or to the products and/or the programs described in this manual, at any time.
Page 3
Declaration of Conformity FCC Class A Note: this device has been tested and found to comply with the limits for a Class A digital device, pursuant to part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This device generates, uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communication.
Page 4
Document Amendment History Revision Date Remark Jan 2016 Initial released Mar 2016 Hardware User Guide modified Mar 2016 Software User Guide & System Recovery modified Aug 2018 Tidy-up full document and add new sections. Aug 2019 Modify JCOMA to JCOMD to /dev/ttyXRUSB0 ~ /dev/ttyXRUSB3...
Page 6
2.4. Mechanical Drawing ................24 Software User Guide ..................26 ........................26 3.1. Introduction ..................26 3.2. Development Environment ..............26 3.2.1. How to Install Toolchain ............... 26 3.2.2. RS232 Debug Console ..............27 Debug Console Information ..........27 Debug Console Device Node ..........27 Boot Message ..............
Page 7
3.3.5. RTC & Watchdog ................. 36 RTC & Watchdog Information ..........36 RTC & Watchdog Specification ..........36 RTC & Watchdog Device Node ..........36 RTC & Watchdog Example ..........36 3.3.6. I2C bus (Inter-Integrated Circuit)..........37 I2C bus Information ............37 I2C bus Specification ............
Page 8
3.5.2. Storage Filesystem ..............50 Formats ................50 SPI Flash Storage ............. 50 3.5.3. System Time Utility ..............51 ntpdate - Utility Information ..........51 Timezone ................. 51 3.5.4. MQTT ..................52 mosquitto Information ............52 3.6. Program Languages ................53 Program Languages Information .........
Page 10
Chapter Product Overview This chapter provides background information of EBC-3A1.
1. Product Overview 1.1. Introduction EBC-3A1 is a 3.5’’ SBC (Single Board Computer) with ARM Cortex-A9 NXP i.MX6 Dual Lite 1GHz processor and ARM Cortex™-M0 32-bit RISC core (MCU). The EBC-3A1 supports 2GB DDR3, 8MB NOR Flash and 4GB eMMC NAND Flash, 2 x LVDS, 1 x HDMI display, 1 x Gigabit LAN with IEEE 1588, 4 x USB 2.0, 1 x USB OTG, 4 x RS-232(8-wire), 2 x RS-232(4 wire), 2 x RS-485, 2 x CAN, 1 x SDIO and 1 x SD.
Page 12
STM32F051R8T6 Storage Flash 8MB NOR Flash NEXCOM 1 x NEXCOM X Port (miscellaneous header-JMISC) Port 1 x I2C interface (2x10 1.25mm Hirose DF13 series compatible, shared with SPI and GPIO) for Mainboard MCU to accessory (i.e. OLED module) connection purpose 1 x SPI interface (2x10 1.25mm Hirose DF13 series compatible,...
Page 14
Chapter Hardware User Guide This chapter introduces the startup procedures of EBC-3A1, device integration. It also introduces the setting of switches, indicators and shows the mechanical drawings. Be sure to read all safety precautions before you begin installation procedure.
2.2. DIP Switch Setting The EBC-3A1 has a 10-bits DIP switches for configuration. Please make sure the switches set as the following settings. 2.2.1. Boot from eMMC (Default) DIPSW eMMC Table 1: DIPSW (default setting) 2.2.2. Boot from SD DIPSW Table 2: DIPSW (boot from SD) 2.2.3.
2.3.2. Connector Setting JAUDIO Description Description LINE_IN_R LINE_IN_L MIC_DETECT MIC_IN MIC_BIAS LINE_OUT_R LINE_OUT_L LINE_OUT_DETECT GNDA JBLK Description Backlight EN (3.3V) Backlight CTL (3.3V) Remark: Match connector: JST PHR-08 P2.0 (or Equivalent) VIN pins connect to DC-IN power input directly. For example, if DC-In is attached to a 12V adaptor, then the VIN output voltage will be 12V.
Description Description LED control by MCU LED control by CPU CPU power on MCU_GPIO7 MCU_GPIO8 Remark: GPIO pin control by MCU (level 3.3V) JGPIO (i.MX6) Description Description GPIO_04 GPIO_00 GPIO_01 GPIO_05 GPIO_02 GPIO_06 GPIO_03 GPIO_07 JI2C Description 3.3V I2C_SCL I2C_SDA JLVDS1 Description Description...
3. Software User Guide 3.1. Introduction This chapter details the EBC-3A1 platform. The platform is an embedded system with Linux kernel 3.10.53. It contains all system-required shell commands and drivers ready. User can develop under Linux environment. Such as Ubuntu, Debian, Fedora…etc. The purpose of this chapter is to introduce software development of EBC-3A1 and improve software development time and efficiency.
3.2.2. RS232 Debug Console Debug Console Information The serial communication parameters are 115200, N81, VT100. Use your preferred serial terminal tools to access the RS232 debug console. RS232 Utility recommend: ➔ On Windows system, use putty or teraterm. ➔ On Linux/OSX system, use minicom utility. Debug Console Device Node RS232 Port Device node...
3.2.3. Networking Settings The EBC-3A1 has one Ethernet port, the default network setting is following: Device Node IP mode IP Address Eth0 static 192.168.1.1 The network interface configuration file path is /etc/network/interfaces file which is standard Linux configure file, and user can get more information from Internet. Please edit to change network setting.
3.2.4. Firmware Version Embux Image Version “version” command is developed by Embux. When user gets some problem, please send Embux version to the contact. root@ICM-3011:~# version Firmware Version: v1.0.90 (r1109) Linux Kernel Image Version “uname” command to get EBC-3011 Linux Kernel version. root@ICM-3011:~# uname -a Linux ICM-3011 3.10.53 #1109 SMP PREEMPT Tue Jul 31 23:36:30 PDT 2018 armv7l GNU/Linux...
Page 30
3.2.6. eMMC Default Partitions Device Node Size Format Discuses mmcblk0p1 Ext4 Main system. (Sync all data and metadata every 5 seconds) PATH: / mmcblk0p2 32MB Ext4 User Space. PATH: /media/mmcblk0p2 mmcblk0p3 1 byte mmcblk0p5 mmcblk0p6 mmcblk0p7 mmcblk0p8 mmcblk0p9 512MB VFAT User Space.
3.3. Interface Introduce 3.3.1. RS232 RS232 Interface 4 RS232 serial ports for user interface control, and all RS232 ports are DTE mode. The pinout direction please refer below table: Name Abbreviation Direction Transmitted Data Output Received Data Input Clear to Send Input Request to Send Output...
3.3.2. RS485 RS485 Information 2 RS485 serial ports for user interface control, and Embux provided 2-line RS485 interface. (Data+ and Date-). The connection diagram please refer below (daisy chain): ICM-3011 Data+ Data- RS485 Specification Name Value Baud Rate Up to 500Kbps Data Bits 5, 6, 7, 8 bits Parity...
3.3.3. CAN bus (Controller Area Network) CAN bus Information 2 CAN bus ports for user interface control. The current CAN bus driver is based on FlexCan which is an embedded network architecture that extends Controller Area Network (CAN). It provides more deterministic behavior over the CAN network. Its focus is on redundancy at the hardware level, and time-based prioritized communication at the protocol level.
3.3.4. GPIO GPIO Information 8 GPIO ports for user interface controls. GPIO signals have paths like /sys/class/gpio/gpioN/ and have the following read/write attributes: "direction" ... reads as either "in" or "out". This value may normally be written. Writing as "out" defaults to initializing the value as low. "value"...
GPIO Example Example Code: http://github.com/embux/Example/tree/master/gpio_test Example Commands: #1: GPIO_00 port sets to output and high voltage. root@ICM-3011:~# echo "out" > /sys/class/gpio/gpio00/direction root@ICM-3011:~# echo "1" > /sys/class/gpio/gpio00/value #2: GPIO_01 port sets to input. root@ICM-3011:~# echo "in" > /sys/class/gpio/gpio01/direction root@ICM-3011:~# cat /sys/class/gpio/gpio01/value Note: All GPIO ports are floating.
3.3.5. RTC & Watchdog RTC & Watchdog Information A real-time clock (RTC) keeps track of the current time, and ICM-3011 will synchronize hardware clock to system clock when boot. Watchdog timer, during normal operation, the computer regularly resets the watchdog timer to prevent it from elapsing, or "timing out".
3.3.6. I2C bus (Inter-Integrated Circuit) I2C bus Information The bus is intended for communication between different ICs. It consists of two lines: a bidirectional data signal (SDA) and a clock signal (SCL). Already in use I2C ID: Name Connect Device I2C1 WM8960 Audio (ID: 0x1A) I2C2...
I2C bus Example Example Code: https://github.com/embux/Example/tree/master/i2c_example Example Commands: #1: Detect I2C1 ID: root@ICM-3011:~# i2cdetect 0 WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-0. I will probe address range 0x03-0x77. Continue? [Y/n] y 0 1 2 3 4 5 6 7 8 9 a b c d e f -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- UU -- -- -- -- --...
3.3.7. SPI bus (Serial Peripheral Interface) SPI bus Information The Serial Peripheral Interface (SPI) is a synchronous serial communication interface specification used for short distance communication, primarily in embedded systems. SPI devices communicate in full duplex mode using a master-slave architecture with a single master.
3.3.8. Audio Audio Information ICM-3011 supports full Advanced Linux Sound Architecture (ALSA), that is a software framework and part of the Linux kernel that provides an application programming interface (API) for sound card device drivers. List of PLAYBACK Audio Devices: root@ICM-3011:~# aplay -l **** List of PLAYBACK Hardware Devices **** card 0: wm8960audio [wm8960-audio], device 0: HiFi wm8960-hifi-0 []...
Audio Example Example Commands: #1: Play test.wav audio file: root@ICM-3011:~# aplay test.wav Playing WAVE ' test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo #2: Get Headphone volume: root@ICM-3011:~# amixer get "Headphone" Simple mixer control 'Headphone',0 Capabilities: pvolume Playback channels: Front Left - Front Right Limits: Playback 0 - 127 Mono:...
3.3.9. Display Display Information ICM-3011 provides HDMI and 2 * LVDS interface. Default display setting is LVDS 1280x800 18bits. Please download“L3.10.53_1.1.0_LINUX_DOCS” in NXP web site to know more display detail. Note: download file name should be: fsl-yocto-3.10.53-1.1.0.tar.gz Display Command “panel_settings” command is developed by Embux, and support to user switch display device and resolution.
3.4. Service Introduce 3.4.1. SSH/SFTP Service Service Information EBC-3A1 already enabled SSH/SFTP server service based on “dropbeear” , user can remotely access platform by ssh/sftp client utility. SSH/SFTP Configure file root@ICM-3011:/# cat /etc/default/dropbear DROPBEAR_EXTRA_ARGS="-B" root@ICM-3011:/# Remote connection Use SSH command to remotely access ICM-3011 in desktop: embux@ubuntu:~$ ssh root@192.168.1.1 The authenticity of host '192.168.1.1 (192.168.1.1)' can't be established.
3.4.2. Web Service Service Information EBC-3A1 supports apache2 webserver with php. Please open your browser and enter ICM- 3011 IP address (default: 192.168.1.1). Demo for default html. (192.168.1.1) Demo for default php. (192.168.1.1/index.php)
3.4.3. RC.LOCAL RC.LOCAL Information In order to have a command or program run when the boots, you can add commands to the rc.local file. This is especially useful if you want to be able to plug your EBC-3011 in to power headless, and have it run a program without configuration or a manual start.
RC.LOCAL Configure file Edit the file /etc/rc.local using the editor of your choice. You must edit with root, for example: root@ICM-3011:/# vi /etc/rc.local Add commands below the comment, but leave the line exit 0 at the end, then save the file and exit.
# should match [a-zA-Z0-9._-]+, <source-url> should be a # URL that points to a directory containing a Familiar # Packages file, and <target-path> should be a directory # that exists on the target system. src all ftp://iwuser:nexcomuser@ftp.nexcom.com.tw/package/yocto/all src cortexa9hf-vfp-neon ftp://iwuser:nexcomuser@ftp.nexcom.com.tw/package/yocto/cortexa9hf-vfp-neon src cortexa9hf-vfp-neon-mx6 ftp://iwuser:nexcomuser@ftp.nexcom.com.tw/package/yocto/cortexa9hf-vfp-neon-mx6...
3.5.2. Storage Filesystem Formats EBC-3011 provides below file system formats: File System Formats EXT2 EXT3 EXT4 VFAT MSDOS NTFS JFFS2 UBIFS TMPFS EBC-3011 supports udev which is a device manager for the Linux kernel, and when user hotplug SD or USB flash, udev will auto mount the device. SPI Flash Storage ICM-3011 provided 8Mb SPI Flash for user.
3.5.3. System Time Utility ntpdate - Utility Information The ntpdate utility sets the local date and time by polling the Network Time Protocol (NTP) server(s). Example: #1: Get date form “0.pool.ntp.org” NTP server. root@ICM-3011:/# date Mon Aug 6 06:28:56 UTC 2018 root@ICM-3011:/# ntpdate 0.pool.ntp.org 6 Aug 06:44:54 ntpdate[26497]: step time server 103.18.128.60 offset 940.842922 sec...
3.5.4. MQTT mosquitto Information Mosquitto is an open source implementation of a server for version 3.1 and 3.1.1 of the MQTT protocol. It also includes a C and C++ client library, and the mosquitto_pub and mosquitto_sub utilities for publishing and subscribing. root@ICM-3011:~# mosquitto --help mosquitto version 1.4.4 (build date 2018-07-31 01:26:14-0700) mosquitto is an MQTT v3.1 broker.
3.6. Program Languages Program Languages Information EMC-3011 provides below languages for user: Language Version C/C++ Python 2.7.6 5.5.10 bash Program Languages Example Use different program languages to print “Hello, World!” in terminal console. C Example: Filename: Hello.c #include <stdio.h> int main(void){ printf("Hello, World!\n");...
4.1.3. Downloading board images The board images can be downloaded to the target board by using the MFGTool. The release package includes MFGTool for EBC-3A1 in android_ L5.0.2_EBC-3A1.tar.xz. The MFGTool only works in the Windows® Operating System (OS) environment. Perform the following steps to download the board images: ➢...
Page 58
Step 3 ➢ Double click the application to run. There is a limitation that, when using the MFGTool V2 for the first time to burn an image to a device (such as: EBC-3A1), the device must be connected to PC before MFGTool V2 starts running.
Page 59
Process continuing: Wait and until it is done. Click “Stop” to finish, and Click “Exit” to terminate the application. Note: The manufacturing tool may sometimes report an error message when it is downloading the file system to the SD card. This can be caused by insufficient space in the SD card due to a small partition size.
4.2. Download the SD image Please contact us (info@embux.com) to get SD card image. 4.3. Write an SD/MMC Card using Linux (Ubuntu) • From the terminal run df -h • Connect the SD card reader with the SD card inside. •...
4.4. Write an SD/MMC Card using Windows 4.4.1. Introduction This guide describes the process of writing these images to a SD-Card on a Windows PC (under Linux you would use the dd command). 4.4.2. Preparations • Download the SD-Card image which described in Chap 4.1. •...
• Press write to start writing the image to the card. (This may take a couple of minutes) • After the Program is finished, you can eject your SD-Card. • Insert it into your target device, plug-in power cable and you could start using the device 4.5.
diskutil unmountDisk /dev/disk4 e.g. sudo dd bs=1m if=image.img of=/dev/<disk# from diskutil> sudo dd bs=1m if=2015-02-16-raspbian-wheezy.img of=/dev/disk4 e.g. dd: invalid number '1m' This may result in a error if you have GNU coreutils installed. In that case you need to use sudo dd bs=1M if=image.img of=/dev/<disk# from diskutil>...
Page 64
sudo dd bs=1m if=2015-02-16-raspbian-wheezy.img of=/dev/rdisk3 dd: bs: illegal numeric value bs=1m If the above command reports an error ( ), please change bs=1M dd: /dev/rdisk3: Permission denied If the above command reports an error then that is because the partition table of the SD card is being protected against being overwritten by MacOS. Erase the SD card's partition table using this command: sudo diskutil partitionDisk /dev/disk3 1 MBR "Free Space"...
Page 65
Chapter This chapter introduces how to get board BSP (board support package)
5. BSP 5.1. Yocto 1.6.2 Please find the document “L3.10.53_1.1.0_LINUX_DOCS” in NXP web site and refer the document to create the Yocto build environment. Note: download file name should be: fsl-yocto-3.10.53-1.1.0.tar.gz 5.2. Linux Kernel 5.2.1. Source Code URL PATH : https://github.com/embux/linux_kernel 5.2.2.
Compile uImage make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- uImage LOADADDR=0x10008000 After compile completed, uImage image is in {Kernel PATH}/arch/arm/boot/uImage. Compile Device Tree make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs After compile completed, dtb image is in {Kernel PATH}/arch/arm/boot/dts/imx6dl-embux- icm3011.dtb. Update Device Tree and Linux Kernel Please upload new image into /boot folder. Example: #1: upload uImage file: scp uImage root@192.168.1.1:/boot/...
Need help?
Do you have a question about the EBC-3A1 Series and is the answer not in the manual?
Questions and answers