EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
' ^2 k7 M# ]& U/ t
8 D' R' \2 U7 ^' N" h3 t4 w本文主要基于全志A40i开发板——TLA40i-EVM,一款基于全志科技A40i处理器设计的4核ARM Cortex-A7高性能低功耗国产评估板,演示Ubuntu根文件系统镜像的替换和测试方法。
0 ]/ F/ a; l' ]3 ?: |. B3 F
4 V9 Q3 A% k5 N+ n创龙科技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大容量存储接口。+ @6 r- l7 O# E/ T0 a
核心板采用100%国产元器件方案,并经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。评估底板大部分元器件均采用国产方案,方便用户快速进行产品方案评估与技术预研。
$ B1 s% B: ^ i6 y
1 {0 e6 U) S3 o- f& ^% l
' h6 I+ K1 }2 O0 X# F 9 v8 y0 W- R; j# E- w
$ q: z- R( ~# K- o+ a! D- w0 @' O) [( x4 S
请先按照调试工具安装、Linux开发环境搭建相关文档,安装SecureCRT串口调试终端、VMware虚拟机等相关软件,按照Linux系统使用手册解压安装LinuxSDK开发包到Ubuntu。无特殊说明情况下,默认使用USB TO UART0作为调试串口,使用Linux系统启动卡(Micro SD方式)启动系统,通过路由器与PC机进行网络连接。
* U7 i' P# T* u4 Z0 R: h h; F3 P5 H: i% D+ l6 {
. A6 p+ Q2 a" }: ]8 Z" I" y/ {$ w8 f# s 适用开发环境:
6 K3 \5 w: t l5 N1 U: ]1 y Windows开发环境:Windows 7 64bit、Windows 10 64bit
% ?% v) ~( b. D8 ]5 a! _ Linux开发环境:Ubuntu18.04.4 64bit* t0 k" g) c+ d4 @% y
虚拟机:VMware15.1.04 f E9 [: d0 X- `, T" O
U-Boot:U-Boot-2014.07
/ V( F8 b' F1 r! H8 ]' z% Q) s Kernel:Linux-3.10.65
$ G& g/ E3 V' @+ d' C Ubuntu:Ubuntu16.04根文件系统(约1.5GByte)
; x, t6 i1 m, F y I9 k7 E( V& m& N LinuxSDK:LinuxSDK_AA_BB_CC_DD(基于T3_LinuxSDK_V1.3_20190122)
( o. J7 p, b1 U& E) M Tronlong创龙科技提供的LinuxSDK_AA_BB_CC_DD.tar.gz开发包已自带全志科技官方Ubuntu16.04根文件系统镜像,位于LinuxSDK开发包"buildroot-201611/target/ubuntu_16.04/"目录下(如下图),如需替换使用Ubuntu根文件系统,请参考如下章节进行操作。
5 U( p* B8 ~! m4 P) i5 |
; I0 z% a" `) _
1 f6 H* b- x8 e4 L , O1 c1 A) l6 l# C3 Q8 B
图 1 ' c6 n% y1 e& W
1.Ubuntu根文件系统替换
6 p! i2 B3 @, @ 1.1 替换到Linux系统启动卡0 d$ y2 J; [9 |2 k( e
将Linux系统启动卡通过Micro SD读卡器插至PC机USB接口,并挂载至Ubuntu系统。执行如下命令,确认Linux系统启动卡在Ubuntu系统的设备节点名,可以看到Linux系统启动卡设备节点是"/dev/sdb",并且有七个分区,其中"/dev/sdb7"为文件系统所在分区。
7 _' O; w2 Q$ ~* _ 备注:设备节点名字是可变的,一般插拔多次或者使用不同的卡插拔后,可能会显示sdc或者sdd。
! ^; m# I/ G$ Y, G& s Host#sudo fdisk -l/ T% m G0 J) u* u) ? L" S' H
/ @3 Z4 I9 ^- }( d( H! t
: m5 q2 F/ d$ ]! z+ z ![]()
5 f3 A3 j5 u4 k+ U9 z图 2 ' [$ P* n$ t C4 W, B7 W
![]()
% u9 ^: ]' q% L4 h- m% S$ ^8 y2 M图 3
0 f% c3 L% c( l+ d4 n) L1 p 在LinuxSDK的lichee源码安装目录下,执行如下命令进入Ubuntu根文件系统镜像所在目录,将其固化至Linux系统启动卡文件系统分区。
* j5 F6 a# L8 C. H Host#cdbuildroot-201611/target/ubuntu_16.04/
2 z- u& p' f. P6 p) _ y Host#sudo dd if=ubuntu of=/dev/sdb7 bs=1024 && sync9 L% c& J4 f7 c% M& C
% D' E. r! K8 ?9 v8 r
9 z& ?( l7 S7 |8 B* L& f ![]()
( F9 N- V t( u O2 q图 4
/ @1 S! V1 b: `# I7 W 固化过程预计耗时约5min,请耐心等待,打印"records in、records out"信息表示固化完成。* m& d4 |4 L( l! G9 a2 o1 f& h+ h
1.2 替换到eMMC
]6 I2 r! B9 O6 s$ u: S, H" r" z 将U盘插至PC机USB接口,并挂载至Ubuntu系统。在LinuxSDK开发包Ubuntu根文件系统镜像所在目录,将其拷贝至U盘。0 N7 D4 E' Q) N" c* `( G
# W! e3 ]5 t: s7 x! }
' {. i4 g; t# e+ k% l: A# | ![]()
$ ?- r# q4 ]- ?' j图 5
2 Y" k4 @+ n! o8 G; Y& r 拷贝完成后,将U盘插入评估板USB1 HOST或USB2 HOST接口,从Linux系统启动卡启动系统,执行如下命令查看U盘在文件系统的设备节点名。 Target#df -h
& e1 _4 X' C2 Q( l' V: @8 f9 N0 t
' o, v: b8 q6 K V/ i8 `! ^* B6 m
( p! n/ w/ H! f1 d' }8 l) F5 w5 Q) T 3 ]5 Z. G G/ X" L+ c/ N
图 6 执行如下命令将U盘的Ubuntu根文件系统镜像固化至eMMC的文件系统分区(mmcblk0p7)。预计耗时4min左右,串口终端打印"records in、records out"信息表示固化完成。
1 F' E, d% e3 z( u8 v5 Z$ c Target#time dd if=/mnt/usb/sda/ubuntu of=/dev/mmcblk0p7 bs=1024 && sync
; L9 v& `- N4 m; R/ J
" ?5 p" S4 k) u. s7 S
3 a* c" N7 x. S8 E ![]()
' Q n$ M: s" Y/ h9 \2 A' P图 7 ! J. q4 v( ]" v- Y. }. C" M) Q
2 Ubuntu系统测试 将Linux系统启动卡插入评估板Micro SD卡槽,根据评估底板丝印将拨码开关拨为0,此档位将优先从Linux系统启动卡中启动系统。将评估板上电启动,系统启动后输入用户账户:root,密码:123,登录系统成功后,串口终端将打印如下信息。
5 x7 Y: S5 t2 K1 Z" t5 g/ @: L: Z. k6 g4 j
* B8 ] V( ]* O
![]()
; ^" ~4 P, ^8 b2 [9 t* F' a1 }( O图 8
3 ` ] ?, Y% m 由全志官方提供的Ubuntu系统除CVBS OUT、TVIN、CAMERA0、CAMETA1少数接口外,支持大部分外设接口。Ubuntu系统暂不支持GUI操作界面,暂不支持通过apt-get命令在线安装工具,因此部分外设接口测试需要自行拷贝安装对应的工具。
7 {1 s6 i$ j/ } 以下章节以LED、按键为例,演示Ubuntu系统的测试方法,其余外设接口测试请参考评估板测试手册。
4 c5 O/ h$ h8 |, q6 W- C/ O 2.1 LED测试
! u3 I2 F t- {# c: { 评估底板LED1、LED2与GPIO引脚对应关系如下表所示,系统启动后默认点亮。
1 q$ n% O @5 J8 j: o. L0 h$ h8 ^; D5 \# s+ C; i9 v a3 J
; P( m/ X$ H# D
![]()
7 l2 x3 x/ J+ G. r表 1
) e: a8 K" E& h7 E 进入评估板文件系统,执行如下命令逐盏熄灭、点亮LED。
* D2 q, m$ K4 |. i$ `4 z" D Target#echo 0 > /sys/class/leds/user-led0/brightness//控制LED1灭
3 U6 y- V5 z9 n0 P1 b& Z5 |( J8 G Target# echo 1 > /sys/class/leds/user-led0/brightness //控制LED1亮5 o; Y. a2 C- M8 l/ b9 f! ^
Target# echo 0 > /sys/class/leds/user-led1/brightness//控制LED2灭
% F' _7 _7 I: \5 _* M; Z& R: @+ M4 t Target# echo 1 > /sys/class/leds/user-led1/brightness//控制LED2亮# {% s& z. O3 p3 Z. @
1 G( c$ ?% C+ S7 Q7 d
5 |& W% i* A9 M% E5 I ![]()
& w. ~2 t. y/ w5 y# z! V! j6 a3 b图 9
+ N4 l! I' q1 o4 } 2.2 按键测试8 |: K: `8 _5 l0 `( R; I
评估底板包含3个用户按键:KEY3、KEY4、KEY5。进入评估板文件系统,执行如下命令查看用户按键对应的事件号。4 E+ D& Z2 G# k( f d- c5 A
Target# cat /proc/bus/input/devices
; f# t' F2 Y0 o. U8 p0 v
) v/ g+ [/ m1 W. z0 h. m8 K3 e( n/ ^9 x2 f* r
- J2 L* y6 `9 X* F
图 10 ! T+ {+ X* B9 w" m6 E+ H
从上图中可看到KEY3和KEY4对应的按键事件号为event1,KEY5对应的按键事件号为event5。
, A$ J0 v5 m9 j9 L 执行如下命令,分别按下KEY3和KEY4进行按键测试,可看到如下打印信息,其中"0094"表示KEY3,"0095"表示KEY4,按"Ctrl + C"可终止测试命令。 r% @# g3 p" t! V# R' [4 G) K b
Target#od -x /dev/input/event1
$ _# g: r" |* n) C2 v% ?
0 l L- t' I( ~& P$ I& j+ J* r7 y4 e; }9 G* S* |0 }& z
$ x! x! B; m! z5 A+ F
图 11
. G' R( f/ ~+ E2 h 执行如下命令,按下KEY5进行按键测试,可看到如下打印信息,"00ca"表示KEY5,按"Ctrl + C"可终止测试命令。4 u4 ^0 K2 q, w, G9 Y9 [
Target#od -x /dev/input/event52 h; D4 g& C1 a6 {3 F I
+ M8 s9 V' w3 u4 y: T& y
9 K. I% n. d, A0 i" W& y2 n; t
6 B5 C3 @4 l; L. @
图 12 + c4 x' h$ g/ q5 m
如果你还想了解更多嵌入式应用的相关知识,欢迎关注Tronlong创龙科技
9 f+ `) B7 f: I# Z# W
' O$ O% R9 Z6 ] |