INNOSTICK6
Based on NXP/Freescale's i.MX6ULL ARM Cortex-A7 processor with up to 900MHz CPU Clock, the INNOSTICK 6 is a portable and easy-to-use computer which integrated with on board DDR3 memory and eMMC storage in a tiny form factor(80mmx42mm). The INNOSTICK 6 highly integrated connectivity includes Wi-Fi, Bluetooth/BLE, USB Host and OTG, Camera, LCD display with touch panel and serial interfaces.
Contents
Hardware
Features
CPU |
NXP/Freescale ARM Cortex-A7 i.MX6ULL, at Frequency of 900MHz |
RAM |
512MB DDR3L |
Storage |
16GB/32GB eMMC |
Connectivity |
|
LCD I/F |
24-Bit LCD with 4-wires resistive touch input |
Camera I/F |
8-Bit CSI Parallel input |
On Board Resources |
|
Expand Interface |
50-Pins Header P5
16-Pins Header P6
*Note:Functions may not be simultaneously available due to pin mux restriction |
Dimension |
80 x 42(mm) |
OS Support |
|
Block Diagram
Expansion Header P6
Power Domain |
i.MX6ULL Alt5 Mode* |
Signal (Ball Name) |
Pin# |
Signal (Ball Name) |
i.MX6ULL Alt5 Mode* |
Power Domain |
|
DC 3.3V Output |
|
VDD_3V3 |
1 |
2 |
ENET1_TX_CLK |
GPIO2_IO06 |
VDD_3V3 |
VDD_3V3 |
GPIO2_IO03 |
ENET1_TX_DATA0 |
3 |
4 |
ENET1_TX_DATA1 |
GPIO2_IO04 |
VDD_3V3 |
VDD_3V3 |
GPIO2_IO05 |
ENET1_TX_EN |
5 |
6 |
GND |
|
|
VDD_3V3 |
GPIO2_IO11 |
ENET2_TX_DATA0 |
7 |
8 |
ENET2_TX_DATA1 |
GPIO2_IO12 |
VDD_3V3 |
VDD_3V3 |
GPIO2_IO13 |
ENET2_TX_EN |
9 |
10 |
ENET2_TX_CLK |
GPIO2_IO14 |
VDD_3V3 |
|
|
GND |
11 |
12 |
GND |
|
|
VDD_3V3 |
GPIO2_IO10 |
ENET2_RX_EN |
13 |
14 |
ENET2_RX_DATA1 |
GPIO2_IO09 |
VDD_3V3 |
VDD_3V3 |
GPIO2_IO15 |
ENET2_RX_ER |
15 |
16 |
ENET2_RX_DATA0 |
GPIO2_IO08 |
VDD_3V3 |
- Note:Refer to INNOSTICK6 Hardware Manual for more ALT Modes.
Expansion Header P5
Power Domain |
i.MX6ULL Alt5 Mode* |
Signal (Ball Name) |
Pin# |
Signal (Ball Name) |
i.MX6ULL Alt5 Mode* |
Power Domain |
|
Main power supply |
|
VDD_5V |
1 |
2 |
VDD_5V |
|
Main power supply |
DC 3.3V Output |
|
VDD_3V3 |
3 |
4 |
UART1_TX_DATA |
GPIO1_IO16 |
VDD_3V3 |
VDD_3V3 |
GPIO1_IO19 |
UART1_RTS_B |
5 |
6 |
UART1_RX_DATA |
GPIO1_IO17 |
VDD_3V3 |
VDD_3V3 |
GPIO1_IO18 |
UART1_CTS_B |
7 |
8 |
GND |
|
|
|
|
GND |
9 |
10 |
VDDA_3V3 |
|
Analog Converter Supply |
VDD_3V3 |
GPIO1_IO05 |
GPIO1_IO05 |
11 |
12 |
GPIO1_IO06 |
GPIO1_IO06 |
VDD_3V3 |
VDD_3V3 |
GPIO1_IO07 |
GPIO1_IO07 |
13 |
14 |
GPIO1_IO08 |
GPIO1_IO08 |
VDD_3V3 |
VDD_3V3 |
GPIO1_IO09 |
GPIO1_IO09 |
15 |
16 |
GND |
|
|
|
|
GND |
17 |
18 |
JTAG_TDI |
GPIO1_IO13 |
VDD_3V3 |
VDD_3V3 |
GPIO1_IO10 |
JTAG_MOD |
19 |
20 |
JTAG_TDO |
GPIO1_IO12 |
VDD_3V3 |
VDD_3V3 |
GPIO1_IO15 |
JTAG_TRSTB |
21 |
22 |
JTAG_TCK |
GPIO1_IO14 |
VDD_3V3 |
VDD_3V3 |
GPIO1_IO11 |
JTAG_TMS |
23 |
24 |
GND |
|
|
|
|
GND |
25 |
26 |
SNVS_TAMPER2 |
GPIO5_IO02 |
VDD_SNVS_IN |
Backup supply voltage |
|
VDD_SNVS_IN |
27 |
28 |
PMIC_STBY_REQ |
|
VDD_SNVS_IN |
VDD_SNVS_IN |
|
PMIC_ON_REQ |
29 |
30 |
ONOFF |
|
VDD_SNVS_IN |
VDD_SNVS_IN |
|
POR_B |
31 |
32 |
GND |
|
|
|
|
GND |
33 |
34 |
NAND_READY_B |
GPIO4_IO11 |
VDD_3V3 |
VDD_3V3 |
GPIO4_IO12 |
NAND_WP_B |
35 |
36 |
NAND_CE0_B |
GPIO4_IO13 |
VDD_3V3 |
VDD_3V3 |
GPIO4_IO14 |
NAND_CE1_B |
37 |
38 |
NAND_CLE |
GPIO4_IO15 |
VDD_3V3 |
VDD_3V3 |
GPIO4_IO16 |
NAND_DQS |
39 |
40 |
GND |
|
|
|
|
GND |
41 |
42 |
ENET1_RX_DATA1 |
GPIO2_IO01 |
VDD_3V3 |
VDD_3V3 |
GPIO2_IO00 |
ENET1_RX_DATA0 |
43 |
44 |
UART4_RX_DATA |
GPIO1_IO29 |
VDD_3V3 |
VDD_3V3 |
GPIO1_IO28 |
UART4_TX_DATA |
45 |
46 |
UART2_RTS_B |
GPIO1_IO23 |
VDD_3V3 |
VDD_3V3 |
GPIO1_IO21 |
UART2_RX_DATA |
47 |
48 |
UART2_CTS_B |
GPIO1_IO22 |
VDD_3V3 |
VDD_3V3 |
GPIO1_IO20 |
UART2_TX_DATA |
49 |
50 |
GND |
|
|
- Note:Refer to INNOSTICK6 Hardware Manual for more ALT Modes.
Dimension
Getting started
First time Power On
Connect to SSH deamon
Connect to Serial Console
Pre-requirements
- An Innostick 6 single board computer.
- A Windows host machine.
- An USB to Serial Cable. USB to Serial TTL Converter
- Putty v0.66 from www.putty.org: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Procedures
1. Install Putty v0.66 on Windows host machine.
2. Mount Jumper J1 on Innostick 6(Supply from Micro-USB cable)
3. Leave Jumper J2 open on Innostick 6(Normal Boot Mode)
4. Connect Micro-USB cable between Windows host and Innostick 6 P1.
5. Connect USB to Serial cable between Windows host and Innostick 6 P6-4/p6-6/p6-8
6. Double click to start Putty.
7. Set serial communication parameters appropriately.
Layout of eMMC partition
Provision of Linux Rootfs
This task can be done either on a Windows Host or Linux Host.
Do provision on a Windows Host
Pre-requirements
- An Innostick 6 single board computer.
- A Windows host machine.
- PartitionGuru v4.9.5 from www.eassos.com: http://engdownload.eassos.cn/DGEngSetup496564.exe
- A Rootfs snapshot file in PartitionGuru format.
Procedures
1. Install PartitionGuru v4.9.5 on Windows host machine.
2. Mount Jumper J1 on Innostick 6(Supply from Micro-USB cable)
3. Mount Jumper J2-1 and J2-2 on Innostick 6(USB Memory Stick Mode)
4. Connect Micro-USB cable between Windows host and Innostick 6 P1.
5. Wait until an USB mass storage gadget device recognized by Windows.
6. Double click to start PartitionGuru.
7. Right click on Linux EXT4 Partition.
8. Click 'Restore Partition From Image file'.
9. Choose a snapshot file from local hard disk.
10. Click Start to complete file choosing.
11. Click OK to start file restoring.
12. Normally it will take about 6 minutes for a 2.5GB file restoring.
13. Complete procedures for the snapshot file restoring.
Backup Rootfs to a snapshot file
And vice versa, one can backup Rootfs to a PartionGuru snapshot file.
Do provision on a Linux Host
Provision on a Linux host is quite straight ward.
Pre-requirements
- An Innostick 6 single board computer.
- A Linux host machine.
- A Rootfs tarball.
Procedures
1. Mount Jumper J1 on Innostick 6(Supply from Micro-USB cable)
2. Mount Jumper J2-1 and J2-2 on Innostick 6(USB Memory Stick Mode)
3. Connect Micro-USB cable between Linux host and Innostick 6 P1.
4. Wait until an USB mass storage gadget device recognized by Linux Kernel.
esky-sh@ubuntu:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 1 14.6G 0 disk
├─sdb2 8:18 1 14G 0 part
└─sdb1 8:17 1 500M 0 part
sr0 11:0 1 1024M 0 rom
fd0 2:0 1 4K 0 disk
sda 8:0 0 50G 0 disk
├─sda2 8:2 0 1K 0 part
├─sda5 8:5 0 1021M 0 part [SWAP]
└─sda1 8:1 0 49G 0 part /
6. Mount on Linux EXT4 Partition.
esky-sh@ubuntu:~$ sudo mount -t ext4 /dev/sdb2 /mnt/udisk
6. Extract Rootfs tarball to this partition.
esky-sh@ubuntu:~$ sudo tar -jxvf /mnt/hgfs/sharefd/fsl-image-validation-imx-xwayland-imx6ul7d.tar.bz2 -C /mnt/udisk
sync
sudo chown root:root /mnt/udisk/
sudo chmod 755 /mnt/udisk/
Software
Build U-Boot and Linux kernel
This task can be done either on a x86 machine(cross compiling) or ARM machine(native compiling).
Pre-requirements
- A Linux machine running a recent release of Debian, Fedora or Ubuntu
- NXP U-Boot source code: https://source.codeaurora.org/external/imx/uboot-imx
- NXP i.MX6 Kernel: https://source.codeaurora.org/external/imx/linux-imx
- Innostick6 Kernel: https://github.com/nxelec/linux-innostick6
Install build-essentials
sudo apt-get install build-essential libncurses5-dev lzop
Install Cross Compiler
This section can be skipped if you are doing native compiling on an ARM machine.
- Install a 32Bits version:
wget -c https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/arm-linux-gnueabihf/gcc-linaro-7.3.1-2018.05-i686_arm-linux-gnueabihf.tar.xz
tar xf gcc-linaro-7.3.1-2018.05-i686_arm-linux-gnueabihf.tar.xz
export CROSS_COMPILE=`pwd`/gcc-linaro-7.3.1-2018.05-i686_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
export ARCH=arm
- Install a 64Bits version:
wget -c https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/arm-linux-gnueabihf/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf.tar.xz
tar xf gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf.tar.xz
export CROSS_COMPILE=`pwd`/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
export ARCH=arm
Compile U-Boot
Download source code:
git clone https://source.codeaurora.org/external/imx/uboot-imx -b imx_v2017.03_4.9.88_2.0.0_ga
Compile U-Boot:
cd uboot-imx
make clean
make mx6ull_14x14_evk_defconfig
make
Compile Kernel
Download source code:
git clone https://source.codeaurora.org/external/imx/linux-imx -b imx_4.9.88_2.0.0_ga
Compile Kernel:
cd linux-imx
make imx_v7_defconfig
make
Or:
git clone https://github.com/NXElec/linux-innostick6 -b i6_4.9.88_v1.0
Compile Kernel:
cd linux-imx
make imx_v7_i6_defconfig
make