INNOSTICK6/zh
Innostick 6是基于NXP公司ARM Cortx-A7系列最新处理器i.MX 6ULL的单板计算机。
Innostick 6集易用性、便携性和可扩展性于一体,在一块80mm x 42mm的六层PCB板上,集成了DDR3,eMMC存储器以及WiFi/BT模块,同时还引出LCD显示接口,摄像头接口,USB Host以及USB OTG接口。其余接口均通过2.54mm插座引出,供用户扩展使用。
硬件
硬件特性
CPU |
NXP/Freescale ARM Cortex-A7 i.MX6ULL, 主频900MHz |
RAM |
512MB DDR3L |
Storage |
16GB/32GB eMMC |
通讯接口 |
|
LCD接口 |
24-Bit LCD 带4线电阻触摸屏输入 |
摄像头接口 |
8-Bit CSI Parallel input |
其他资源 |
|
扩展接口 |
50Pin扩展口P5
16Pin扩展口P6
*注:由于i.MX6ULL管脚复用的关系,列表中的功能无法同时全部得到。具体请参看INNOSTICK 6硬件手册 |
外形尺寸 |
80 x 42(mm) |
软件支持 |
|
功能框图
扩展接口P6
电源域 |
i.MX6ULL Alt5 Mode* |
信号名称 (Ball Name) |
Pin# |
信号名称 (Ball Name) |
i.MX6ULL Alt5 Mode* |
电源域 |
|
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 |
- 注:更多复用功能,参看INNOSTICK6硬件手册
扩展接口P5
电源域 |
i.MX6ULL Alt5 Mode* |
信号名称 (Ball Name) |
Pin# |
信号名称 (Ball Name) |
i.MX6ULL Alt5 Mode* |
电源域 |
|
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 |
|
|
- 注:更多复用功能,参看INNOSTICK6硬件手册
外形尺寸
快速入门
首次上电
ssh连接
Innostick 6上安装的Linux发布版都提供了USB RNDIS Gadget支持。用户可以通过ssh或者telnet建立连接,这时候Micro-USB电缆既提供电源,又提供网络通讯功能。
准备工作
- 一台Innostick 6主机
- 一台Windows主机
- Putty v0.66 from www.putty.org: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
- RNDIS驱动,当Windows无法自动识别RNDIS gadget设备时可以安装它:https://github.com/zhangzhian/LearningNotes/blob/master/res/RNDIS.7z
操作步骤
1. 安装Putty
2. 安装J1跳针帽(Micro-USB供电)
3. J2跳针置空(Normal Boot Mode)
4. 用Micro-USB电缆连接Innostick 6 P1
5. 等待RNDIS Gadget设备被Windows识别
6. 右击USB Ethernet网卡
7. 设置TCP/IPv4属性
8. 启动Putty
9. 设置通讯参数
9. 输入用户名和密码
手动安装RNDIS驱动
有时Windows会错把RNDIS Gadget识别为一个串口设备,这时可以参看这个帖子: windows系统RNDIS驱动手动安装
连接串口控制台
准备工作
- 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
操作步骤
1. 安装Putty v0.66
2. 安装J1跳针帽(Micro-USB 供电)
3. J2跳针置空(Normal Boot Mode)
4. 用Micro-USB电缆连接Innostick 6 P1口
5. 用USB to Serial cable连接Innostick 6 P6-4/p6-6/p6-8
6. 启动Putty.
7. 设置通讯参数
eMMC分区信息
部署Linux Rootfs
这项工作可以在Windows主机或者Linux主机上完成。
Windows主机
准备工作
- 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.
操作步骤
1. 安装PartitionGuru v4.9.5
2. 安装J1跳针帽(Micro-USB供电)
3. 安装J2跳针帽(J2-1和J2-2)(USB Memory Stick Mode)
4. 用Micro-USB电缆连接Innostick 6 P1
5. 等待Windows识别出USB mass storage gadget设备
6. 启动PartitionGuru
7. 在‘Linux EXT4 Partition’上右击
8. 点击‘Restore Partition From Image file’
9. 选择snapshot文件
10. 点击Start
11. 点击OK
12. 通常烧写一个2.5GB的文件需要六分钟
13. 点击Complete
备份Linux Rootfs文件
同样的,PartionGuru也可以用来从Innostick6备份Linux Rootfs文件
Linux主机
在Linux主机上部署Innostick6 Rootfs更加简单。
准备工作
- 一台Innostick 6主机
- 一台Linux主机
- 一个Rootfs tarball
操作步骤
1. 安装J1跳针帽(Micro-USB供电)
2. 安装J2跳针帽(J2-1和J2-2)(USB Memory Stick Mode)
3. 用Micro-USB电缆连接Innostick 6 P1
4. 等待USB mass storage gadget设备被Linux主机识别
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 /
5. 安装Linux EXT4 Partition,这个例子中是/dev/sdb2设备
esky-sh@ubuntu:~$ sudo mount -t ext4 /dev/sdb2 /mnt/udisk
6. 把Rootfs tarball中的文件解压到Innostick 6
esky-sh@ubuntu:~$ sudo tar -jxvf /mnt/hgfs/sharefd/fsl-image-validation-imx-xwayland-imx6ul7d.tar.bz2 -C /mnt/udisk
sync
sudo umount /mnt/udisk/
软件
编译U-Boot和Linux kernel
This task can be done either on a x86 machine(cross compiling) or ARM machine(native compiling).
准备工作
- 一台运行Debian, Fedora或者Ubuntu的Linux主机
- NXP U-Boot 源代码: 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
安装build-essential
sudo apt-get install build-essential libncurses5-dev lzop
安装交叉编译器
如果您是在一台ARM架构的主机上做native compiling,那么这一章可以直接跳过。
- 安装32位编译器:
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
- 安装64位编译器:
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
编译U-Boot
下载源代码:
git clone https://source.codeaurora.org/external/imx/uboot-imx -b imx_v2017.03_4.9.88_2.0.0_ga
开始编译:
cd uboot-imx
make clean
make mx6ull_14x14_evk_defconfig
make
编译Kernel
下载源代码:
git clone https://source.codeaurora.org/external/imx/linux-imx -b imx_4.9.88_2.0.0_ga
开始编译:
cd linux-imx
make imx_v7_defconfig
make
或者:
git clone https://github.com/NXElec/linux-innostick6 -b i6_4.9.88_v1.0
开始编译:
cd linux-imx
make imx_v7_i6_defconfig
make