硬件基于正点原子Alpha-linux开发板,功能齐备,外设丰富,资料详尽,入门或者系统训练还是挺合适的。价格稍贵,不过用来作为第一套应用入手还是不错,后续实际项目可以参考裁剪,比如偏现场控制,比如偏显示面板,必须偏网络应用小盒子等等。
此部分快速上手功能主要参考文档《imx6u用户快速体验》。
一. 初识Alpha ,了解板子结构和主要资源
来张漂亮的俯视图
做工还是不错
资源一览图
看起来并没有mipi的摄像头接口,是个遗憾,不能直接用市面上通用的摄像头模组,USB摄像头效果待测。
通常拿到的核心板都是emmc版本
8G装系统和常规应用基本可以满足,不用扩展了。NAND版本只有512,就只能跑boot了。
系统层面的软件资源:
uboot:版本2016.03, 有源码,有教程
Linux内核:版本4.1.15 ,有源码,有教程
跟文件系统rootfs: 四种跟文件系统制作方法,busybox,buildroot,yocto,ubuntu
交叉编译器:arm-linux-gnueaihf-4.9.4, arm-poky-linux-gnueabi-5.3.0两种
QT5根文件系统:5.12.9版本,有教程
系统烧写方式: MFGTOOL, SD卡,应该还有boot+TFTP或NFS的更新文件方式
二 、开发板的连接调试
需要安装CH340驱动,linux下好像是不用。 然后就可以连接了,如果是虚拟机,记得在插入时进行选择连到主机还是虚拟机。
windows下,串口调试,还是用惯了putty,简洁风。
ubunut 下,可以用picocom
hy@ubuntu:~$ sudo chmod 777 /dev/ttyUSB0
hy@ubuntu:~$ picocom -b 115200 /dev/ttyUSB0
picocom v2.2
port is : /dev/ttyUSB0
flowcontrol : none
baudrate is : 115200
parity is : none
databits are : 8
stopbits are : 1
escape is : C-a
local echo is : no
noinit is : no
noreset is : no
nolock is : no
send_cmd is : sz -vv
receive_cmd is : rz -vv -E
imap is :
omap is :
emap is : crcrlf,delbs,
Type [C-a] [C-h] to see available commands
Terminal ready
root@ATK-IMX6U:~#
顺利登录。
当然,如果在路由器上能查看到ip地址,也可以用ssh root@ip 来登录
建议串口网口都插着,尤其是调试网络相关应用时, 网口的状态串口会调试打印出来,像网线插拔,两个网口切换啥的,调试很是方便。
root@ATK-IMX6U:~# [88321.753421] fec 20b4000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[88321.762777] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
root@ATK-IMX6U:~# ifconfig
eth0 Link encap:Ethernet HWaddr fe:d6:86:0a:c4:6f
inet addr:192.168.31.40 Bcast:192.168.31.255 Mask:255.255.255.0
inet6 addr: fe80::fcd6:86ff:fe0a:c46f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:76580 errors:0 dropped:0 overruns:0 frame:0
TX packets:1517 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5028904 (4.7 MiB) TX bytes:158040 (154.3 KiB)
eth1 Link encap:Ethernet HWaddr 9a:c5:fd:f0:1f:de
UP BROADCAST MULTICAST DYNAMIC MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:224 errors:0 dropped:0 overruns:0 frame:0
TX packets:224 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:19932 (19.4 KiB) TX bytes:19932 (19.4 KiB)
root@ATK-IMX6U:~# [88357.833178] fec 20b4000.ethernet eth0: Link is Down
[88357.883232] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[88364.313508] fec 2188000.ethernet eth1: Link is Up - 100Mbps/Full - flow control rx/tx
[88364.321712] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
接下来就可以愉快的玩耍了。
和树莓派这种打包好的linux不一样的是,没有本地编译环境,运行的所有程序都需要在交叉编译环境下编译成可执行文件。