From Estone Technology Wiki
Revision as of 20:17, 1 November 2018 by Charles (Talk | contribs) (Created page with "= Quick Setup Guide = *[http://www.habeyonline.com/hioproject/support/images/opc-4207/QSG_OPC-4207.pdf OPC-4207 Quick Setup Guide] = Datasheet = *[http://www.habeyonline.com/...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Quick Setup Guide



Installing and configuring Git

$ sudo apt-get update
$ sudo apt-get install git
$ git config --global user.name "First Last"
$ git config --global user.email "first.last@company.com"

Installing SDK

Download here


sh poky-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-neon-toolchain-2.1.3.sh

Compiling Kernel

git clone -b imx_3.14.52_1.1.0_ga https://github.com/estonetechnology/imx6qdl-linux-kernel.git
source /opt/poky/2.1.3/environment-setup-cortexa9hf-neon-poky-linux-gnueabi
export ARCH=arm
export CROSS_COMPILE=arm-poky-linux-gnueabi-
make hio-imx6dl-iob3200_defconfig 
make -j16
make hio-imx6dl-iob3200.dtb

Files require:

zImage (imx6qdl-linux-kernel/arch/arm/boot/zImage)
hio-imx6dl-iob3200.dtb (imx6qdl-linux-kernel/arch/arm/boot/dts/hio-imx6dl-iob3200.dtb)

Compiling U-boot

git clone -b imx_v2015.04_3.14.52_1.1.0_ga https://github.com/estonetechnology/ppc-4510-linux-uboot
source /opt/poky/2.1.3/environment-setup-cortexa9hf-neon-poky-linux-gnueabi 
export ARCH=arm 
export CROSS_COMPILE=arm-poky-linux-gnueabi- 
make hio-imx6dl-board_spl_defconfig 

Files require:


Compiling Rootfs

  • Repo utility installation:
mkdir ~/bin
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
  • Getting source code:
mkdir fsl-community-bsp
cd fsl-community-bsp
repo init -u https://github.com/Freescale/fsl-community-bsp-platform -b krogoth
repo sync
cd fsl-community-bsp/sources/
git clone -b krogoth https://github.com/meta-qt5/meta-qt5.git
git clone -b krogoth https://github.com/chausieu/meta-hio.git
git clone -b krogoth git://git.yoctoproject.org/meta-mono
cd fsl-community-bsp
. ./setup-environment build
git clone https://github.com/chausieu/hio-imx6dl-iob3200-conf.git
mv hio-imx6dl-iob3200-conf/local.conf hio-imx6dl-iob3200-conf/bblayers.conf conf/
  • Compiling image:
bitbake core-image-full-cmdline

Compiled image:

core-image-full-cmdline-hio-imx6dl-iob3200.tar.bz2 (fsl-community-bsp/build/tmp/deploy/images/hio-imx6dl-iob3200/core-image-full-cmdline-hio-imx6dl-iob3200.tar.bz2)

Flashing Image

  • Image:

Download compiled image here. The image comes with the MFG tool that requires a Windows OS system.

  • Preparation:

Set the boot selection to "2"
Use a mini USB type B to USB type A cable to connect the unit from OTG port to windows host.

  • Flashing

Extract the MFG file and run MfgTool2.exe. The device will be recognized as HID-compliant device.
Click Start to flash the image.
The flashing process is done once two processing bars turned to green.
Now, click Stop and Exit the tool.

  • Starting up

Unplug the cable and power. Change the boot selection to "1"
Now, connect to power adapter and power on. The unit will start up.

Unit Testing


The unit has 2 Ethernet ports. To test the Ethernet bandwidth, the iperf package will be used. It needs a Ubuntu host to perform the test. Open Terminal and install iperf package by following command:

$sudo apt-get install iperf

Ethernet 1 (eth0)

Plug the network cable. Enable eth0 interface and lease IP address from DHCP server.

From the OPC-4207, login as root and type:

#ifconfig eth0 up
#udhcpc -i eth0

The unit will get an IP address from DHCP server (IP address will be assigned depending on your DHCP server settings).

Ex: IP address as has been leased from DHCP server.

  • Test the connection, perform a ping test.

#ping 192.168.1.x (x: a host from the network)

  • Test the bandwidth, follow commands below:

From the OPC-4207

#iperf -s (to set up as a server)

From the Ubuntu host

#iperf -c

The result will show the bandwidth as Mb/s as below.

Ethernet 2 (eth1)

Follow exactly the steps from the Ethernet 1 above.


Plug a USB drive into the USB ports. Check the USB drive letter.


Usually, the result will show as sda1

Test the USB bandwidth by typing:

#hdparm -t /dev/sda1

The command will return a result as below.


Connect 2 speakers to the board.

There are a set of sample sounds files available on the systems from the alsa-utils package.

#ls /usr/share/sounds/alsa/

Use aplay command to play these files.

aplay /usr/share/sounds/alsa/Front_Right.wav

Also, the sound can be tested with speaker-test command.

speaker-test -c2 -t wav




  • This test requires a Windows OS/ Ubuntu OS computer (Ubuntu host recommended). Follow the steps below to install and configure minicom.

For Ubuntu host:

Open terminal and install minicom by typing:

$ sudo apt-get install minicom


$ sudo minicom -s

Configure as below and save as dfl.

For Windows host:

Download PuTTY here

(a) Connect the Development Cable to the board, and connect the USB to a Windows PC.
(b) Go to Computer Management console on Windows PC, click Ports (COM&LPT)' to expand. There should be Prolific USB-to-Serial Com Port(COM4) displayed.
(c) Download the 'putty terminal software into the Windows PC > Start Putty > Change these configuration on the user interface:

Serial line: COM4
Speed: 115200

(d) Click Open, the putty console window should display.
(e) Power on board, the backend output will show on the putty console window.

  • Connect the serial to USB cable to your host.


  • This is loopback test, so connect Tx and Rx pins with a wire. Check out the PINs below:



Perform the test:
The test will be performed using Ubuntu host:
There are 2xRS232 enabled for this board. Verify them by typing

$dmesg | grep ttymxc*

The result is ttymxc0 and ttymxc4.

Test for ttymxc0:
Open minicom

$sudo minicom

Power on the board and login as root from Terminal.
Read from ttymxc0

#stty -F /dev/ttymxc0 115200 raw -echo
cat /dev/ttymxc0

Send from ttymxc0

stty -F /dev/ttymxc0 115200 raw -echo
echo Hello World > /dev/ttymxc0

The text sent as "Hello World" will display on the terminal.
Test for ttymxc4
Follow steps from ttymxc0 above for this test.


There are 2xGPIO used for the board. Check out the PINs below:

''Note:'' A voltage meter needed to check the result.

Open Terminal and run minicom, following commands below:

#cd /sys/class/gpio

Test for SPI4_SS0:

echo 84 > export
echo out > gpio84/direction
echo 1 > gpio84/value (Test its result with the voltage meter)
echo 0 > gpio84/value (Test its result with the voltage meter)

Test for SPI4_SCK:

echo 85 > export
echo out > gpio85/direction
echo 1 > gpio85/value (Test its result with the voltage meter)
echo 0 > gpio85/value (Test its result with the voltage meter)

Touch screen

  • How to calibrate

Login as root, type


The screen will show as below.

  • How to draw test



Check the result below.