OPC-4207

From Estone Technology Wiki
Jump to: navigation, search

Quick Setup Guide

Datasheet

Compilation

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

Installation

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 
make

Files require:

SPL
u-boot.img

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:
PATH=${PATH}:~/bin
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"
Opc-4207-boot.jpg
Use a mini USB type B to USB type A cable to connect the unit from OTG port to windows host.
Opc-4207-otg.jpg

  • Flashing

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

  • Starting up


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

Unit Testing

Ethernet

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 192.168.1.125 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 192.168.1.125

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

Ethernet 2 (eth1)

Follow exactly the steps from the Ethernet 1 above.

USB

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

#lsblk

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.
Opc-4207-usb.JPG

Sound

Connect 2 speakers to the board.
Emb-3200-speaker.JPG

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

#ls /usr/share/sounds/alsa/

Result:
Emb-3200-sound1.png
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

Result:
Emb-3200-sound2.png

RS-232

Preparation:

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

For Ubuntu host:

Installation:
Open terminal and install minicom by typing:

$ sudo apt-get install minicom

Configuration:

$ sudo minicom -s


Configure as below and save as dfl.
Minicom.png

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.

Emb-3200-serial.JPG

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

Emb-3200-rs232.jpg

Emb-3200-comtest.JPG

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*


Emb-3200-ttymxc.png
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.
Emb-3200-ttymxc0.png
Test for ttymxc4
Follow steps from ttymxc0 above for this test.

GPIO

There are 2xGPIO used for the board. Check out the PINs below:
Emb-3200-gpio.png

''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

#ts_calibrate

The screen will show as below.
Opc-4207-calibrate.jpg

  • How to draw test

Type:

#ts_test

Check the result below.
Opc-4207-touch.jpg