EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
9 v4 g9 k w' t0 h4 \- y
* L9 R" k5 o: ~$ u* x; M; S本文主要基于全志A40i开发板——TLA40i-EVM,一款基于全志科技A40i处理器设计的4核ARM Cortex-A7高性能低功耗国产评估板,演示Ubuntu根文件系统镜像的替换和测试方法。/ m1 q1 c* R6 \
+ w: D) ?" x; v* a6 b0 p创龙科技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大容量存储接口。
3 M7 \4 m7 w8 q 核心板采用100%国产元器件方案,并经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。评估底板大部分元器件均采用国产方案,方便用户快速进行产品方案评估与技术预研。9 P# E" E8 M2 @" S
P! M9 a* S" y
9 @; {6 Y6 e6 T" ~2 H3 D
2 ^0 J% ?6 o y, f4 r
" k1 }& U9 E. p0 G7 y0 ]! A2 w
请先按照调试工具安装、Linux开发环境搭建相关文档,安装SecureCRT串口调试终端、VMware虚拟机等相关软件,按照Linux系统使用手册解压安装LinuxSDK开发包到Ubuntu。无特殊说明情况下,默认使用USB TO UART0作为调试串口,使用Linux系统启动卡(Micro SD方式)启动系统,通过路由器与PC机进行网络连接。
5 D M' {# _- J7 r& L0 W7 B I' H: v: r& q
# Y/ T3 Z$ x: y: A1 K% Z
适用开发环境:6 \: u! ]! O" n- S, U( z
Windows开发环境:Windows 7 64bit、Windows 10 64bit
% B1 x) _" i. B# y T Linux开发环境:Ubuntu18.04.4 64bit+ a( e; ^( ?- R3 y' S/ b
虚拟机:VMware15.1.0
1 n7 ?) V! D' N4 L U-Boot:U-Boot-2014.07$ a" j6 h; I' g# d
Kernel:Linux-3.10.65/ v5 t8 q) _" I7 D( f2 G3 t
Ubuntu:Ubuntu16.04根文件系统(约1.5GByte)7 z# u6 l8 T& [3 P
LinuxSDK:LinuxSDK_AA_BB_CC_DD(基于T3_LinuxSDK_V1.3_20190122)8 g' _; Q1 ^- l: l. V9 n
Tronlong创龙科技提供的LinuxSDK_AA_BB_CC_DD.tar.gz开发包已自带全志科技官方Ubuntu16.04根文件系统镜像,位于LinuxSDK开发包"buildroot-201611/target/ubuntu_16.04/"目录下(如下图),如需替换使用Ubuntu根文件系统,请参考如下章节进行操作。
# C/ z, R/ V2 k% Q$ w
* C3 w' ~$ o) |
5 E" _- U% Z6 P ![]()
1 i, X8 O) ]( l' V- D) b4 I7 j3 n图 1 : p ]5 o) N% {9 R3 g, m
1.Ubuntu根文件系统替换
7 f3 E2 \. m' T6 S4 a3 w9 {% L" c 1.1 替换到Linux系统启动卡! r+ _$ _* B9 \4 N3 W p- N
将Linux系统启动卡通过Micro SD读卡器插至PC机USB接口,并挂载至Ubuntu系统。执行如下命令,确认Linux系统启动卡在Ubuntu系统的设备节点名,可以看到Linux系统启动卡设备节点是"/dev/sdb",并且有七个分区,其中"/dev/sdb7"为文件系统所在分区。1 r/ b2 l) v- z& l4 R' E
备注:设备节点名字是可变的,一般插拔多次或者使用不同的卡插拔后,可能会显示sdc或者sdd。
" X/ [" |! j: C( i Host#sudo fdisk -l$ A' t: S5 [! S% D+ G6 b
* B" m g1 y" m- ^! y) m# r) Z6 {( n) c0 ?
![]()
" x6 l, r+ u/ p9 V- g图 2 ) f& q+ F+ |) v* s
2 Z) p; l5 z. t) p. c9 f! O+ _" D4 U
图 3 : a2 v7 i0 Y8 ]- `( G
在LinuxSDK的lichee源码安装目录下,执行如下命令进入Ubuntu根文件系统镜像所在目录,将其固化至Linux系统启动卡文件系统分区。7 E4 d) ?% D. ^( ^* ]4 o* U/ _4 B
Host#cdbuildroot-201611/target/ubuntu_16.04/! [% f1 j% L5 y' e6 L9 X- i* A
Host#sudo dd if=ubuntu of=/dev/sdb7 bs=1024 && sync9 s* `2 W) F5 B% P
2 T& ^8 A Y& K& I( K( Q
/ g F# \, ]" w0 N0 ~: s2 M ![]()
% B/ \( D2 k0 j图 4 7 [6 b7 I8 w) V0 p% K( B
固化过程预计耗时约5min,请耐心等待,打印"records in、records out"信息表示固化完成。0 C- X" e1 G$ z2 o. X# ]
1.2 替换到eMMC
' s. U" s1 ~1 ^ Q' L 将U盘插至PC机USB接口,并挂载至Ubuntu系统。在LinuxSDK开发包Ubuntu根文件系统镜像所在目录,将其拷贝至U盘。# j- i% @ Q: `! } e
- U5 r7 t, B# C& q' O7 K
- n, v; D/ p ?( e 0 W5 M% ^" B$ J( F7 Y3 F' m' y
图 5
6 X. J# r8 _! p1 u. c" z3 s 拷贝完成后,将U盘插入评估板USB1 HOST或USB2 HOST接口,从Linux系统启动卡启动系统,执行如下命令查看U盘在文件系统的设备节点名。 Target#df -h
8 G. \* g o$ C5 r3 I4 p
. Q+ j! v0 d5 _% l! g
' [- Y. J& [4 `: V9 l) F + e8 v8 V+ j2 K r `! D' U0 u
图 6 执行如下命令将U盘的Ubuntu根文件系统镜像固化至eMMC的文件系统分区(mmcblk0p7)。预计耗时4min左右,串口终端打印"records in、records out"信息表示固化完成。9 U% H. {% W0 u' J8 }" M9 g- _
Target#time dd if=/mnt/usb/sda/ubuntu of=/dev/mmcblk0p7 bs=1024 && sync
0 e( U- J6 V% l* A" |$ y/ Q6 {4 V/ y6 T1 o. a1 a5 w/ S
8 }/ X! f' X- ?( W! N% M
![]()
`1 V. H& ^& y2 j* e/ Y图 7 9 s9 s: M& X/ B3 T
2 Ubuntu系统测试 将Linux系统启动卡插入评估板Micro SD卡槽,根据评估底板丝印将拨码开关拨为0,此档位将优先从Linux系统启动卡中启动系统。将评估板上电启动,系统启动后输入用户账户:root,密码:123,登录系统成功后,串口终端将打印如下信息。. ?* X! o% u1 y8 E
+ L$ i! s& C+ @, C+ ]
9 H# ^* m; }! b3 r5 M; Q2 S ![]()
4 Z% O! A h' [# x) H图 8
+ N- h M+ e" r' l( {& F 由全志官方提供的Ubuntu系统除CVBS OUT、TVIN、CAMERA0、CAMETA1少数接口外,支持大部分外设接口。Ubuntu系统暂不支持GUI操作界面,暂不支持通过apt-get命令在线安装工具,因此部分外设接口测试需要自行拷贝安装对应的工具。, Z! m, p* g M: q6 ?. e) G& j" s
以下章节以LED、按键为例,演示Ubuntu系统的测试方法,其余外设接口测试请参考评估板测试手册。
7 @7 ] i E" A0 R: H2 R 2.1 LED测试
7 a; x: W6 E, U" h6 g 评估底板LED1、LED2与GPIO引脚对应关系如下表所示,系统启动后默认点亮。- L6 y4 H) v U
! ]! m3 i- _6 z, P- s; q- I0 \7 E0 d& p# g$ h5 f. H
![]()
5 h$ O5 G, N$ H表 1
9 X% C. d7 C! `1 C J2 } 进入评估板文件系统,执行如下命令逐盏熄灭、点亮LED。( ~" a% l V) E0 l8 e s
Target#echo 0 > /sys/class/leds/user-led0/brightness//控制LED1灭
W7 N1 t# V! f) h( z: p Target# echo 1 > /sys/class/leds/user-led0/brightness //控制LED1亮0 w8 B1 K: m d1 w9 n$ }
Target# echo 0 > /sys/class/leds/user-led1/brightness//控制LED2灭% {0 d# g+ `9 J8 S: s/ R5 J0 G, [
Target# echo 1 > /sys/class/leds/user-led1/brightness//控制LED2亮+ ` V" `$ s4 V' }* i2 X6 O. e
% r3 |. ]! @3 | j
. ~1 R$ Z7 p- A+ C . Z' Z& l7 y4 }# |( W
图 9
3 D) p/ D0 m$ z6 C* u 2.2 按键测试1 u* B+ t9 [* J' R2 Q% Z h( P
评估底板包含3个用户按键:KEY3、KEY4、KEY5。进入评估板文件系统,执行如下命令查看用户按键对应的事件号。/ c7 Q! G8 O B, q9 G& o M1 ^0 p
Target# cat /proc/bus/input/devices
0 G, K) G( b" _4 ^3 A* @5 v& S( Y# ^3 H) `* S& x* u
6 c" S* c. u) U' G
![]()
) k+ q, E- V% n图 10
% E/ {6 Q5 @6 n, y( Y* q& G 从上图中可看到KEY3和KEY4对应的按键事件号为event1,KEY5对应的按键事件号为event5。
+ x" T8 o' H5 p: |- q2 t 执行如下命令,分别按下KEY3和KEY4进行按键测试,可看到如下打印信息,其中"0094"表示KEY3,"0095"表示KEY4,按"Ctrl + C"可终止测试命令。
& s% |" j" R. }/ T; ]9 C Target#od -x /dev/input/event1
0 ]2 W' O/ A L
& \- ?8 n0 X6 r: ~& g/ b" @+ v! Q$ q9 R7 v
& O$ O% h& v% T/ c
图 11 7 _+ \2 J/ a- i$ b
执行如下命令,按下KEY5进行按键测试,可看到如下打印信息,"00ca"表示KEY5,按"Ctrl + C"可终止测试命令。, n. f; L) D( |
Target#od -x /dev/input/event5, H% b. x D5 Q y# c5 A' d2 N
3 L6 n; ^9 _6 c/ u2 i8 ^* m" q* y4 }' X ] f
![]()
5 W* i* |3 ^3 `. A" t图 12 & O1 g: D- T3 O H6 c1 I% q0 I
如果你还想了解更多嵌入式应用的相关知识,欢迎关注Tronlong创龙科技" {4 N4 u; z) U' w6 r H8 U' v
7 x2 `9 l' J, X+ V6 i2 `: X
|