EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
$ j; V, M, ~/ Z! N2 L" W" c6 l9 p) B, @$ j+ t/ Z% k% F9 I k9 r% F
本文主要基于全志A40i开发板——TLA40i-EVM,一款基于全志科技A40i处理器设计的4核ARM Cortex-A7高性能低功耗国产评估板,演示Ubuntu根文件系统镜像的替换和测试方法。1 Z# P( {# T0 }( j$ k
: N0 b) h( |1 H' p- t' H创龙科技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大容量存储接口。8 ^6 L/ z4 L* i3 @* W
核心板采用100%国产元器件方案,并经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。评估底板大部分元器件均采用国产方案,方便用户快速进行产品方案评估与技术预研。 k5 C" _ L- Z' D9 v
$ r- j+ Z" T# l8 [' _! M8 [
7 W3 Q8 j- b) R ( O4 |7 {+ z# {$ x4 D
6 z% _. F( D9 c6 {: o% U 请先按照调试工具安装、Linux开发环境搭建相关文档,安装SecureCRT串口调试终端、VMware虚拟机等相关软件,按照Linux系统使用手册解压安装LinuxSDK开发包到Ubuntu。无特殊说明情况下,默认使用USB TO UART0作为调试串口,使用Linux系统启动卡(Micro SD方式)启动系统,通过路由器与PC机进行网络连接。
! n+ x* }( ]3 v& H3 q2 ]' n
* R3 K5 M% X& W) x- D9 [
2 r3 ~2 T" d* t B+ c. m 适用开发环境:
9 Q) b# L T$ M Windows开发环境:Windows 7 64bit、Windows 10 64bit& A6 [+ b5 X2 Y, O$ W
Linux开发环境:Ubuntu18.04.4 64bit
/ e7 P& @7 M2 a/ D+ l 虚拟机:VMware15.1.0
& e( V9 p7 P$ b6 _) t7 P9 J U-Boot:U-Boot-2014.07. h% `/ i* S" V, J- i
Kernel:Linux-3.10.65
( c+ t4 R" H( C/ T3 y Ubuntu:Ubuntu16.04根文件系统(约1.5GByte)7 @$ B$ f) }( w2 n3 n
LinuxSDK:LinuxSDK_AA_BB_CC_DD(基于T3_LinuxSDK_V1.3_20190122)# o2 I5 n4 u7 e) `% X" H
Tronlong创龙科技提供的LinuxSDK_AA_BB_CC_DD.tar.gz开发包已自带全志科技官方Ubuntu16.04根文件系统镜像,位于LinuxSDK开发包"buildroot-201611/target/ubuntu_16.04/"目录下(如下图),如需替换使用Ubuntu根文件系统,请参考如下章节进行操作。
, c* P2 i" g* p7 u) r* U" W' W
' _& h. ]+ H- Q( ?$ R& n0 P3 H1 f* N g% ^) E/ y5 _
8 M6 A! c% Z0 ~3 U3 R0 L3 h
图 1
5 M: L% U, ?5 I 1.Ubuntu根文件系统替换! t2 Q6 g% U( @) k) J* K
1.1 替换到Linux系统启动卡. v6 q9 P; k- K w
将Linux系统启动卡通过Micro SD读卡器插至PC机USB接口,并挂载至Ubuntu系统。执行如下命令,确认Linux系统启动卡在Ubuntu系统的设备节点名,可以看到Linux系统启动卡设备节点是"/dev/sdb",并且有七个分区,其中"/dev/sdb7"为文件系统所在分区。2 {5 v* e+ X; X- |' n
备注:设备节点名字是可变的,一般插拔多次或者使用不同的卡插拔后,可能会显示sdc或者sdd。
( C/ G( J, D6 _" d4 O Host#sudo fdisk -l
" L) E' v4 b3 L& j5 {
# s' H8 h0 g- u; J
% Q9 v9 a; g7 h/ q8 i+ { ; A( b; q: W6 I- l
图 2 4 J2 h. A. f3 L9 y! |
![]()
: ]% ~; U& I3 O. r: ~. G/ \/ p图 3 z+ s/ _6 V4 w% c6 Q& d* T) m
在LinuxSDK的lichee源码安装目录下,执行如下命令进入Ubuntu根文件系统镜像所在目录,将其固化至Linux系统启动卡文件系统分区。% M+ z* |5 h/ g! m1 | _
Host#cdbuildroot-201611/target/ubuntu_16.04/
6 F9 b9 J, n; p9 c4 Q Host#sudo dd if=ubuntu of=/dev/sdb7 bs=1024 && sync
2 h# F" @0 ]) V- ? a- t: S Z6 H, d" }7 K+ [% d# _
7 W: |: ~! L# A0 G, n! Z# W ![]()
+ W4 |+ l1 B5 O图 4 4 \! W) N: Q7 o8 Q5 [+ S$ G) P" K
固化过程预计耗时约5min,请耐心等待,打印"records in、records out"信息表示固化完成。, ^$ L( z5 d, X% G2 ]# s
1.2 替换到eMMC& n8 z1 G7 D w* O: z! J1 \4 u- r
将U盘插至PC机USB接口,并挂载至Ubuntu系统。在LinuxSDK开发包Ubuntu根文件系统镜像所在目录,将其拷贝至U盘。, o3 t, R) D. P- J, {! S
" x5 [) K) q# m" S; O* T+ W& m7 W
' u0 w, O9 F$ \' v; Q $ r: G* U1 E. m5 J) ~3 h) G, F/ o
图 5 ; ^1 o) f8 a: V" ]( ^1 z
拷贝完成后,将U盘插入评估板USB1 HOST或USB2 HOST接口,从Linux系统启动卡启动系统,执行如下命令查看U盘在文件系统的设备节点名。 Target#df -h
i7 a, e! e/ [( a7 o$ U
( a% j5 T {: `$ ]& h9 r) n
- Y1 \# ] _& U) ]; p" ?$ J ^ ! L7 Z( U9 t! s; p& H
图 6 执行如下命令将U盘的Ubuntu根文件系统镜像固化至eMMC的文件系统分区(mmcblk0p7)。预计耗时4min左右,串口终端打印"records in、records out"信息表示固化完成。, J4 E- f5 K5 X; o% u& U0 M0 V2 w2 q
Target#time dd if=/mnt/usb/sda/ubuntu of=/dev/mmcblk0p7 bs=1024 && sync
- Y+ P3 O( F. J6 n' _
5 a" I" _' i# y a2 D- e/ ]- }2 S: f* n E) h
: S& k3 K- D( o
图 7 # Q* n: i, z$ x: T8 i1 o# K4 L
2 Ubuntu系统测试 将Linux系统启动卡插入评估板Micro SD卡槽,根据评估底板丝印将拨码开关拨为0,此档位将优先从Linux系统启动卡中启动系统。将评估板上电启动,系统启动后输入用户账户:root,密码:123,登录系统成功后,串口终端将打印如下信息。$ e1 V0 ^ y! Z& o/ [. N
+ e9 C' u" F5 c) S/ s
( |; |1 e. g6 I3 `# H
![]()
& K: D9 q2 E0 N( @- n图 8 - M0 }+ w C1 C' t9 q: v1 ^+ I' F( F
由全志官方提供的Ubuntu系统除CVBS OUT、TVIN、CAMERA0、CAMETA1少数接口外,支持大部分外设接口。Ubuntu系统暂不支持GUI操作界面,暂不支持通过apt-get命令在线安装工具,因此部分外设接口测试需要自行拷贝安装对应的工具。$ `6 l" a3 A' J
以下章节以LED、按键为例,演示Ubuntu系统的测试方法,其余外设接口测试请参考评估板测试手册。/ H7 O4 G, V: A9 k/ t, g, _8 ~
2.1 LED测试
) v) M5 @9 P# b1 R- A" { 评估底板LED1、LED2与GPIO引脚对应关系如下表所示,系统启动后默认点亮。6 S! U* j0 p9 D* L* p6 X/ Y
; T, R) Z* y+ q4 ], D4 D
* z9 a8 a( r0 H. p ) ~' b4 {. H1 N: c: b( H
表 1 1 g( ?3 \5 N7 L) {- Q
进入评估板文件系统,执行如下命令逐盏熄灭、点亮LED。8 O; l% w. a- e* _* A" W5 v
Target#echo 0 > /sys/class/leds/user-led0/brightness//控制LED1灭
* h; u0 t' j8 t4 _3 y% U) ^ Target# echo 1 > /sys/class/leds/user-led0/brightness //控制LED1亮8 m2 k: v8 ~7 r
Target# echo 0 > /sys/class/leds/user-led1/brightness//控制LED2灭, @% p! T8 k) u% c$ M5 j% i
Target# echo 1 > /sys/class/leds/user-led1/brightness//控制LED2亮- G/ y* t4 ~4 d0 Y
5 I5 z$ o/ a( l. y. l# @* ~% U8 i
: Z0 { H$ M# c f0 |6 | ![]()
/ K9 N Y* Y! C+ f# F* d( X$ b7 V, z图 9
" @8 w/ r4 X8 u 2.2 按键测试
# Z% B$ [3 X9 q1 g: r( l8 b% s 评估底板包含3个用户按键:KEY3、KEY4、KEY5。进入评估板文件系统,执行如下命令查看用户按键对应的事件号。
7 D7 _. v# D- s/ [3 K Target# cat /proc/bus/input/devices
1 H T; J2 j) p, ?: J: I' a# a5 }5 b1 `- n0 E
# G0 I1 T" Y0 w v ![]()
8 i. i3 k0 n5 s, e' b! X7 `图 10 3 E8 g i6 e5 f! x/ f/ q6 F1 Z" M' _
从上图中可看到KEY3和KEY4对应的按键事件号为event1,KEY5对应的按键事件号为event5。
) N/ R0 T U% n* g+ k v 执行如下命令,分别按下KEY3和KEY4进行按键测试,可看到如下打印信息,其中"0094"表示KEY3,"0095"表示KEY4,按"Ctrl + C"可终止测试命令。
8 i4 Y1 s$ g4 {$ m Target#od -x /dev/input/event1
8 _. |6 n+ @& s- u. C N3 O. p
: O/ s7 i; G3 c" l3 l2 Y' U- A4 @& ` E5 { j. g& U4 M9 |
![]()
7 g0 z& O" Z% C* }, s- q: q图 11
9 @7 C. k+ Y$ w) o 执行如下命令,按下KEY5进行按键测试,可看到如下打印信息,"00ca"表示KEY5,按"Ctrl + C"可终止测试命令。6 ]! u6 U5 d6 V! z
Target#od -x /dev/input/event5
7 } g' e i/ y; D4 L
6 P8 J- d$ r7 ~% o+ z/ I# V; o: q1 |9 R! p; ]+ S3 ~+ m
![]()
2 }' z. ^: I& R% O% T+ {图 12 - _2 q; t: d! D' Z. I
如果你还想了解更多嵌入式应用的相关知识,欢迎关注Tronlong创龙科技
! Y1 Z8 u4 P) H0 }( F( @8 J; I% S6 F* j) k* @2 W
|