本文主要基于全志A40i开发板——TLA40i-EVM,一款基于全志科技A40i处理器设计的4核ARM Cortex-A7高性能低功耗国产评估板,演示Ubuntu根文件系统镜像的替换和测试方法。创龙科技TLA40i-EVM评估板接口资源丰富,引出双路网口、双路CAN、双路USB、双路RS485等通信接口,板载Bluetooth、WIFI、4G(选配)模块,同时引出MIPI LCD、LVDS LCD、TFT LCD、HDMI OUT、CVBS OUT、CAMERA、LINE IN、H/P OUT等音视频多媒体接口,支持双屏异显、1080P@45fps H.264视频硬件编码、1080P@60fps H.264视频硬件解码,并支持SATA大容量存储接口。
核心板采用100%国产元器件方案,并经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。评估底板大部分元器件均采用国产方案,方便用户快速进行产品方案评估与技术预研。
请先按照调试工具安装、Linux开发环境搭建相关文档,安装SecureCRT串口调试终端、VMware虚拟机等相关软件,按照Linux系统使用手册解压安装LinuxSDK开发包到Ubuntu。无特殊说明情况下,默认使用USB TO UART0作为调试串口,使用Linux系统启动卡(Micro SD方式)启动系统,通过路由器与PC机进行网络连接。
适用开发环境:
Windows开发环境:Windows 7 64bit、Windows 10 64bit
Linux开发环境:Ubuntu18.04.4 64bit
虚拟机:VMware15.1.0
U-Boot:U-Boot-2014.07
Kernel:Linux-3.10.65
Ubuntu:Ubuntu16.04根文件系统(约1.5GByte)
LinuxSDK:LinuxSDK_AA_BB_CC_DD(基于T3_LinuxSDK_V1.3_20190122)
Tronlong创龙科技提供的LinuxSDK_AA_BB_CC_DD.tar.gz开发包已自带全志科技官方Ubuntu16.04根文件系统镜像,位于LinuxSDK开发包"buildroot-201611/target/ubuntu_16.04/"目录下(如下图),如需替换使用Ubuntu根文件系统,请参考如下章节进行操作。
图 1
1.Ubuntu根文件系统替换
1.1 替换到Linux系统启动卡
将Linux系统启动卡通过Micro SD读卡器插至PC机USB接口,并挂载至Ubuntu系统。执行如下命令,确认Linux系统启动卡在Ubuntu系统的设备节点名,可以看到Linux系统启动卡设备节点是"/dev/sdb",并且有七个分区,其中"/dev/sdb7"为文件系统所在分区。
备注:设备节点名字是可变的,一般插拔多次或者使用不同的卡插拔后,可能会显示sdc或者sdd。
Host#sudo fdisk -l
图 2
图 3
在LinuxSDK的lichee源码安装目录下,执行如下命令进入Ubuntu根文件系统镜像所在目录,将其固化至Linux系统启动卡文件系统分区。
Host#cdbuildroot-201611/target/ubuntu_16.04/
Host#sudo dd if=ubuntu of=/dev/sdb7 bs=1024 && sync
图 4
固化过程预计耗时约5min,请耐心等待,打印"records in、records out"信息表示固化完成。
1.2 替换到eMMC
将U盘插至PC机USB接口,并挂载至Ubuntu系统。在LinuxSDK开发包Ubuntu根文件系统镜像所在目录,将其拷贝至U盘。
图 5
拷贝完成后,将U盘插入评估板USB1 HOST或USB2 HOST接口,从Linux系统启动卡启动系统,执行如下命令查看U盘在文件系统的设备节点名。
Target#df -h
图 6
执行如下命令将U盘的Ubuntu根文件系统镜像固化至eMMC的文件系统分区(mmcblk0p7)。预计耗时4min左右,串口终端打印"records in、records out"信息表示固化完成。
Target#time dd if=/mnt/usb/sda/ubuntu of=/dev/mmcblk0p7 bs=1024 && sync
图 7
2 Ubuntu系统测试
将Linux系统启动卡插入评估板Micro SD卡槽,根据评估底板丝印将拨码开关拨为0,此档位将优先从Linux系统启动卡中启动系统。将评估板上电启动,系统启动后输入用户账户:root,密码:123,登录系统成功后,串口终端将打印如下信息。
图 8
由全志官方提供的Ubuntu系统除CVBS OUT、TVIN、CAMERA0、CAMETA1少数接口外,支持大部分外设接口。Ubuntu系统暂不支持GUI操作界面,暂不支持通过apt-get命令在线安装工具,因此部分外设接口测试需要自行拷贝安装对应的工具。
以下章节以LED、按键为例,演示Ubuntu系统的测试方法,其余外设接口测试请参考评估板测试手册。
2.1 LED测试
评估底板LED1、LED2与GPIO引脚对应关系如下表所示,系统启动后默认点亮。
表 1
进入评估板文件系统,执行如下命令逐盏熄灭、点亮LED。
Target#echo 0 > /sys/class/leds/user-led0/brightness//控制LED1灭
Target# echo 1 > /sys/class/leds/user-led0/brightness //控制LED1亮
Target# echo 0 > /sys/class/leds/user-led1/brightness//控制LED2灭
Target# echo 1 > /sys/class/leds/user-led1/brightness//控制LED2亮
图 9
2.2 按键测试
评估底板包含3个用户按键:KEY3、KEY4、KEY5。进入评估板文件系统,执行如下命令查看用户按键对应的事件号。
Target# cat /proc/bus/input/devices
图 10
从上图中可看到KEY3和KEY4对应的按键事件号为event1,KEY5对应的按键事件号为event5。
执行如下命令,分别按下KEY3和KEY4进行按键测试,可看到如下打印信息,其中"0094"表示KEY3,"0095"表示KEY4,按"Ctrl C"可终止测试命令。
Target#od -x /dev/input/event1
图 11
执行如下命令,按下KEY5进行按键测试,可看到如下打印信息,"00ca"表示KEY5,按"Ctrl C"可终止测试命令。
Target#od -x /dev/input/event5
图 12