EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
6 N. E& s8 D4 t2 G- [
, k: d6 j+ T5 ]" w" l
本文主要基于全志A40i开发板——TLA40i-EVM,一款基于全志科技A40i处理器设计的4核ARM Cortex-A7高性能低功耗国产评估板,演示Ubuntu根文件系统镜像的替换和测试方法。9 A' V& K0 [% ^2 X' X: h
$ i: S6 b1 F4 K
创龙科技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大容量存储接口。
$ Z+ l% n( E& t 核心板采用100%国产元器件方案,并经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。评估底板大部分元器件均采用国产方案,方便用户快速进行产品方案评估与技术预研。& X7 O/ V$ r4 {* a( q2 B
. v" W" \7 ]5 l, i$ i3 g5 M' b8 X' V$ ]! n
) l5 s# O9 H0 v6 ]2 C9 R/ G
. m" _# Y4 s) [
请先按照调试工具安装、Linux开发环境搭建相关文档,安装SecureCRT串口调试终端、VMware虚拟机等相关软件,按照Linux系统使用手册解压安装LinuxSDK开发包到Ubuntu。无特殊说明情况下,默认使用USB TO UART0作为调试串口,使用Linux系统启动卡(Micro SD方式)启动系统,通过路由器与PC机进行网络连接。
0 j( X# k+ g t8 z# z: p J* P! L: G2 Q# _& G
+ M, j4 @8 j3 c3 g% l) ] 适用开发环境:# @3 I; S' Z3 ^, u9 l% \
Windows开发环境:Windows 7 64bit、Windows 10 64bit
& b: d2 u% J; b Linux开发环境:Ubuntu18.04.4 64bit
- j' J# F, U' |4 F 虚拟机:VMware15.1.0
8 K4 w0 ?: Q4 s U-Boot:U-Boot-2014.07- I! O1 ` q* f# e8 L2 p* L
Kernel:Linux-3.10.65
" t; z$ |, b6 L1 C; D0 y Ubuntu:Ubuntu16.04根文件系统(约1.5GByte)" @' [7 \! X9 Z( V. k( Y0 d0 B# c6 c
LinuxSDK:LinuxSDK_AA_BB_CC_DD(基于T3_LinuxSDK_V1.3_20190122)
1 w3 k% y5 ]3 e& N3 N) p Tronlong创龙科技提供的LinuxSDK_AA_BB_CC_DD.tar.gz开发包已自带全志科技官方Ubuntu16.04根文件系统镜像,位于LinuxSDK开发包"buildroot-201611/target/ubuntu_16.04/"目录下(如下图),如需替换使用Ubuntu根文件系统,请参考如下章节进行操作。
0 z( e" U; k! q
" c3 ~ B$ V* Y- [8 y3 B
8 H- f% I8 H+ _5 k* P2 ` 6 N$ E2 C t- @# ]- {$ z: _
图 1 # z# d' V9 X: K( @5 X4 d
1.Ubuntu根文件系统替换4 G% v9 k8 j, p! b
1.1 替换到Linux系统启动卡! t9 j+ [- [, y* W$ T' k
将Linux系统启动卡通过Micro SD读卡器插至PC机USB接口,并挂载至Ubuntu系统。执行如下命令,确认Linux系统启动卡在Ubuntu系统的设备节点名,可以看到Linux系统启动卡设备节点是"/dev/sdb",并且有七个分区,其中"/dev/sdb7"为文件系统所在分区。
! c) c) n" [3 }! n 备注:设备节点名字是可变的,一般插拔多次或者使用不同的卡插拔后,可能会显示sdc或者sdd。, {' u- |# t; G ]
Host#sudo fdisk -l. V. \( h$ P* M: ^
* q4 o/ y/ p; ?- T
4 V7 }3 b& h6 o( J$ S ![]()
' e0 A& v/ M% m2 s- x4 L图 2
7 t4 E; U$ `$ S2 ^: s ; _) m) \; f; a% Q8 l
图 3
2 L2 @$ L% K( M0 z# I1 S 在LinuxSDK的lichee源码安装目录下,执行如下命令进入Ubuntu根文件系统镜像所在目录,将其固化至Linux系统启动卡文件系统分区。: {9 G8 } e; P7 W1 C: e% s! w
Host#cdbuildroot-201611/target/ubuntu_16.04/
( Q. @+ l j' e( ?2 M0 J% a/ q+ B- V Host#sudo dd if=ubuntu of=/dev/sdb7 bs=1024 && sync6 G( m' G t. l7 ?8 O
5 i/ L( Y5 A+ W" B* o0 _! @) y" G5 ?3 d* \! v
$ o; p' k2 X- W( l( d! g
图 4
- y- x; M: s; p2 G 固化过程预计耗时约5min,请耐心等待,打印"records in、records out"信息表示固化完成。, @$ r# t* R P
1.2 替换到eMMC4 v, K! |- r( W9 B, a) n
将U盘插至PC机USB接口,并挂载至Ubuntu系统。在LinuxSDK开发包Ubuntu根文件系统镜像所在目录,将其拷贝至U盘。
5 V5 k6 {* q" i; m& b8 M
+ X: u4 q0 u8 |9 w4 ~+ V/ H* O) A2 ^3 Y/ \( ^" t' t5 b5 X
9 z4 V) F# Z( O' k) m# l. A
图 5 6 ~" L% n" Q3 a" t
拷贝完成后,将U盘插入评估板USB1 HOST或USB2 HOST接口,从Linux系统启动卡启动系统,执行如下命令查看U盘在文件系统的设备节点名。 Target#df -h! E+ F* [: a3 P9 x4 H7 R& E- S
, J/ j2 m7 d5 g0 x( x
# i* p8 Y7 O* q8 w( |8 \ ![]()
8 w. S' Q2 V$ w1 f; d图 6 执行如下命令将U盘的Ubuntu根文件系统镜像固化至eMMC的文件系统分区(mmcblk0p7)。预计耗时4min左右,串口终端打印"records in、records out"信息表示固化完成。5 A9 m. Z% C! A! F$ J) |% V7 |8 |
Target#time dd if=/mnt/usb/sda/ubuntu of=/dev/mmcblk0p7 bs=1024 && sync
( X, e! {' j% ~7 o7 O& y/ w' {3 H( k3 j
R% K$ E9 m' K2 r! U
![]()
- E9 [" K9 a5 e+ X图 7 4 Q. I Z" q" @ H
2 Ubuntu系统测试 将Linux系统启动卡插入评估板Micro SD卡槽,根据评估底板丝印将拨码开关拨为0,此档位将优先从Linux系统启动卡中启动系统。将评估板上电启动,系统启动后输入用户账户:root,密码:123,登录系统成功后,串口终端将打印如下信息。7 D! N* {6 ]1 I+ ?6 ^- z
, J/ V7 x; D; w- I* w0 o( W! e
4 k- W. g5 O5 q) u' w B
4 M( R$ Z) L. L
图 8
( b7 A2 G9 s. |4 ?8 \ 由全志官方提供的Ubuntu系统除CVBS OUT、TVIN、CAMERA0、CAMETA1少数接口外,支持大部分外设接口。Ubuntu系统暂不支持GUI操作界面,暂不支持通过apt-get命令在线安装工具,因此部分外设接口测试需要自行拷贝安装对应的工具。+ V8 v7 U1 m' _5 U
以下章节以LED、按键为例,演示Ubuntu系统的测试方法,其余外设接口测试请参考评估板测试手册。 L+ p; K4 U0 S- {7 ~
2.1 LED测试" Y1 X; U$ c& ^! t
评估底板LED1、LED2与GPIO引脚对应关系如下表所示,系统启动后默认点亮。
. n" Q2 t }; r) j3 d8 k- |2 [4 w0 I6 i
( H! U4 ]: f( w$ V! U 6 e& D% h' X; b; I2 s
表 1 # I& i$ O. i# W* R, O
进入评估板文件系统,执行如下命令逐盏熄灭、点亮LED。9 _4 \1 J, ~9 v
Target#echo 0 > /sys/class/leds/user-led0/brightness//控制LED1灭
) y) w1 K: M- ], P& ^ Target# echo 1 > /sys/class/leds/user-led0/brightness //控制LED1亮' l W! P: P0 Y- c$ v: d0 P
Target# echo 0 > /sys/class/leds/user-led1/brightness//控制LED2灭* A3 t- B( j7 y/ Y
Target# echo 1 > /sys/class/leds/user-led1/brightness//控制LED2亮
( C4 B. `6 W; Y0 \# ?0 L' y5 z( N* G( h' p8 r& l
( x. B3 E- {# V2 s1 Q. Q ![]()
/ c V$ Q9 A$ M1 q( o" o& q8 v! h# n图 9
- ]: X$ E- ]% X8 D 2.2 按键测试* G$ u3 U6 c6 ?1 G1 [* G* \
评估底板包含3个用户按键:KEY3、KEY4、KEY5。进入评估板文件系统,执行如下命令查看用户按键对应的事件号。. ?5 V% O5 @- [! |
Target# cat /proc/bus/input/devices
3 _& s3 Q; D! R( m4 x5 [2 T1 h* l( Y' t; f
. v: d2 U0 Y" F; ? ![]()
: h9 h( Y$ ^5 @3 K2 l图 10 , W) a# S4 _" k& l
从上图中可看到KEY3和KEY4对应的按键事件号为event1,KEY5对应的按键事件号为event5。
( a+ |/ V, ^. m6 { O# N" L 执行如下命令,分别按下KEY3和KEY4进行按键测试,可看到如下打印信息,其中"0094"表示KEY3,"0095"表示KEY4,按"Ctrl + C"可终止测试命令。
, _# {: j) ?6 @/ H; b4 J Target#od -x /dev/input/event18 s+ K" A2 Z- z
( F0 J' O# f% g0 ^2 u ?8 w6 O2 k& x" U9 Y- J5 q7 N/ R& @. V
& _, G, s) {5 @/ a" _0 e
图 11
}9 O) a7 h+ r- }. @6 ?5 F6 T 执行如下命令,按下KEY5进行按键测试,可看到如下打印信息,"00ca"表示KEY5,按"Ctrl + C"可终止测试命令。- ?; A$ P7 E5 r; E, U+ g- B7 ?
Target#od -x /dev/input/event59 {# }; Y; U* U6 Z" X8 l
1 U B/ v; c- _7 y! I" F+ J9 m
. Q* I( |2 {: ^/ ]( v) b. U ![]()
8 A2 C6 x1 i9 R' b图 12
! w9 T( i8 L5 }* i5 c9 ]$ Q5 ?) G 如果你还想了解更多嵌入式应用的相关知识,欢迎关注Tronlong创龙科技9 g/ K) m/ B. s
2 i y% {5 s5 q3 v, w, v3 @
|