全志科技官方Ubuntu16.04根文件系统镜像的替换和测试方法
本文主要基于全志 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.Ubuntu 根文件系统替换
1.1 替换到 Linux 系统启动卡
将 Linux 系统启动卡通过 Micro SD 读卡器插至 PC 机 USB 接口,并挂载至 Ubuntu 系统。执行如下命令,确认 Linux 系统启动卡在 Ubuntu 系统的设备节点名,可以看到 Linux 系统启动卡设备节点是 "/dev/sdb",并且有七个分区,其中 "/dev/sdb7" 为文件系统所在分区。
备注:设备节点名字是可变的,一般插拔多次或者使用不同的卡插拔后,可能会显示 sdc 或者 sdd。
Host#sudo fdisk -l
在 LinuxSDK 的 lichee 源码安装目录下,执行如下命令进入 Ubuntu 根文件系统镜像所在目录,将其固化至 Linux 系统启动卡文件系统分区。
Host#cdbuildroot-201611/target/ubuntu_16.04/
Host#sudo dd if=ubuntu of=/dev/sdb7 bs=1024 && sync
固化过程预计耗时约 5min,请耐心等待,打印 "records in、records out" 信息表示固化完成。
1.2 替换到 eMMC
将 U 盘插至 PC 机 USB 接口,并挂载至 Ubuntu 系统。在 LinuxSDK 开发包 Ubuntu 根文件系统镜像所在目录,将其拷贝至 U 盘。
拷贝完成后,将 U 盘插入评估板 USB1 HOST 或 USB2 HOST 接口,从 Linux 系统启动卡启动系统,执行如下命令查看 U 盘在文件系统的设备节点名。
Target#df -h
执行如下命令将 U 盘的 Ubuntu 根文件系统镜像固化至 eMMC 的文件系统分区 (mmcblk0p7)。预计耗时 4min 左右,串口终端打印 "records in、records out" 信息表示固化完成。
Target#time dd if=/mnt/usb/sda/ubuntu of=/dev/mmcblk0p7 bs=1024 && sync
2 Ubuntu 系统测试
将 Linux 系统启动卡插入评估板 Micro SD 卡槽,根据评估底板丝印将拨码开关拨为 0,此档位将优先从 Linux 系统启动卡中启动系统。将评估板上电启动,系统启动后输入用户账户:root,密码:123,登录系统成功后,串口终端将打印如下信息。
由全志官方提供的 Ubuntu 系统除 CVBS OUT、TVIN、CAMERA0、CAMETA1 少数接口外,支持大部分外设接口。Ubuntu 系统暂不支持 GUI 操作界面,暂不支持通过 apt-get 命令在线安装工具,因此部分外设接口测试需要自行拷贝安装对应的工具。
以下章节以 LED、按键为例,演示 Ubuntu 系统的测试方法,其余外设接口测试请参考评估板测试手册。
2.1 LED 测试
评估底板 LED1、LED2 与 GPIO 引脚对应关系如下表所示,系统启动后默认点亮。
进入评估板文件系统,执行如下命令逐盏熄灭、点亮 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 亮
2.2 按键测试
评估底板包含 3 个用户按键:KEY3、KEY4、KEY5。进入评估板文件系统,执行如下命令查看用户按键对应的事件号。
Target# cat /proc/bus/input/devices
从上图中可看到 KEY3 和 KEY4 对应的按键事件号为 event1,KEY5 对应的按键事件号为 event5。
执行如下命令,分别按下 KEY3 和 KEY4 进行按键测试,可看到如下打印信息,其中 "0094" 表示 KEY3,"0095" 表示 KEY4,按 "Ctrl + C" 可终止测试命令。
Target#od -x /dev/input/event1
执行如下命令,按下 KEY5 进行按键测试,可看到如下打印信息,"00ca" 表示 KEY5,按 "Ctrl + C" 可终止测试命令。
Target#od -x /dev/input/event5
如果你还想了解更多嵌入式应用的相关知识,欢迎关注 Tronlong 创龙科技