EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
2 W( X5 r$ y. v% J& c) F
) B3 f) z; O4 P6 P+ t本文主要基于全志A40i开发板——TLA40i-EVM,一款基于全志科技A40i处理器设计的4核ARM Cortex-A7高性能低功耗国产评估板,演示Ubuntu根文件系统镜像的替换和测试方法。
5 ?/ f c2 ]3 w% o& Q9 r( M/ m n) n1 d3 V
创龙科技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大容量存储接口。
7 e7 k2 ?% h2 N5 J: c/ H 核心板采用100%国产元器件方案,并经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。评估底板大部分元器件均采用国产方案,方便用户快速进行产品方案评估与技术预研。
/ V. U' M. j& u8 t3 l4 v: B7 v; }: L0 y# u8 P
) v& p+ @( V/ C+ N
![]()
+ h' a* E4 ~( [0 h2 D1 R; r) _& k: ^( [
请先按照调试工具安装、Linux开发环境搭建相关文档,安装SecureCRT串口调试终端、VMware虚拟机等相关软件,按照Linux系统使用手册解压安装LinuxSDK开发包到Ubuntu。无特殊说明情况下,默认使用USB TO UART0作为调试串口,使用Linux系统启动卡(Micro SD方式)启动系统,通过路由器与PC机进行网络连接。; c: l, ?, w' T P) U. p' \
, G- c: r" `6 H1 w2 Z3 ^1 d
2 F. T% j! L( m2 Q' h5 \3 b2 U
适用开发环境:
5 s9 ?2 k" F | Windows开发环境:Windows 7 64bit、Windows 10 64bit
/ L$ n% V' \9 Q/ u. ^) u. X- D8 r2 U3 q Linux开发环境:Ubuntu18.04.4 64bit
* ]8 r6 `, f4 X5 p 虚拟机:VMware15.1.0
+ ~2 J9 m. |" v1 C U-Boot:U-Boot-2014.07
; y4 x" e9 }" z" T8 \) F Kernel:Linux-3.10.657 U' s3 A3 `$ Q* s$ w+ ~
Ubuntu:Ubuntu16.04根文件系统(约1.5GByte). F. x8 W* C% z% u6 ?- K/ }
LinuxSDK:LinuxSDK_AA_BB_CC_DD(基于T3_LinuxSDK_V1.3_20190122)( f+ |- u* ? A* b% P2 a! F
Tronlong创龙科技提供的LinuxSDK_AA_BB_CC_DD.tar.gz开发包已自带全志科技官方Ubuntu16.04根文件系统镜像,位于LinuxSDK开发包"buildroot-201611/target/ubuntu_16.04/"目录下(如下图),如需替换使用Ubuntu根文件系统,请参考如下章节进行操作。
f* _0 q( B$ h+ i+ L% E3 o
5 v3 A! | c6 Z- t5 c9 y5 q0 @ c
% B+ o- M' [* G4 z 7 p5 w* S+ p5 S4 O
图 1 & e/ z1 I( n" O @
1.Ubuntu根文件系统替换6 ]2 l! `5 N5 y( j3 r4 O
1.1 替换到Linux系统启动卡
* N- A H$ [4 u, f6 Q f$ Y 将Linux系统启动卡通过Micro SD读卡器插至PC机USB接口,并挂载至Ubuntu系统。执行如下命令,确认Linux系统启动卡在Ubuntu系统的设备节点名,可以看到Linux系统启动卡设备节点是"/dev/sdb",并且有七个分区,其中"/dev/sdb7"为文件系统所在分区。
4 |+ M2 D9 M$ z p# J+ c 备注:设备节点名字是可变的,一般插拔多次或者使用不同的卡插拔后,可能会显示sdc或者sdd。$ j8 I0 N7 s, o! K& m" A! ]4 F' p
Host#sudo fdisk -l& n% i! L3 p/ b* }' N
" U) j; ~+ C1 a! k0 ?
6 U$ C9 M1 o* F - I! p2 w+ }% s/ ]# A* R. B; R
图 2 + g3 A- R4 A/ ~* ]+ d/ c
![]()
8 E4 _1 t2 g. N2 X+ c6 x/ I5 e# J图 3
2 t' t/ F! b* z2 D 在LinuxSDK的lichee源码安装目录下,执行如下命令进入Ubuntu根文件系统镜像所在目录,将其固化至Linux系统启动卡文件系统分区。8 E/ T, d- @! E( m! C: d3 T
Host#cdbuildroot-201611/target/ubuntu_16.04/* v0 ~9 B8 R* I
Host#sudo dd if=ubuntu of=/dev/sdb7 bs=1024 && sync
8 N" S+ ^/ N; a# f# H& U+ w+ A, F# R( q/ f4 K/ J
( |% {1 l% j8 ^8 X ![]()
# d7 l) ]4 \7 S: A1 ]( _$ E K图 4 1 `9 G8 n& {8 z0 l- O' ]
固化过程预计耗时约5min,请耐心等待,打印"records in、records out"信息表示固化完成。9 t% @9 |" k& k
1.2 替换到eMMC
3 Q8 ^$ d6 k+ o 将U盘插至PC机USB接口,并挂载至Ubuntu系统。在LinuxSDK开发包Ubuntu根文件系统镜像所在目录,将其拷贝至U盘。5 P! D& s( J& I; R
6 L6 i! @6 Y. B8 }9 f6 a; D- M4 d" G, V1 J0 X: q+ r
![]()
* P+ a+ C/ q0 s图 5 5 v! I5 j7 m8 Y$ _
拷贝完成后,将U盘插入评估板USB1 HOST或USB2 HOST接口,从Linux系统启动卡启动系统,执行如下命令查看U盘在文件系统的设备节点名。 Target#df -h1 f) I w6 J7 m2 I& g
& K8 P0 B9 ~/ j0 ]" B
. v7 }* c& {2 J2 |: M/ v" J3 G1 F& c# M ![]()
. |1 r; @/ ^; u* O图 6 执行如下命令将U盘的Ubuntu根文件系统镜像固化至eMMC的文件系统分区(mmcblk0p7)。预计耗时4min左右,串口终端打印"records in、records out"信息表示固化完成。2 w8 |) v. Y: `8 i
Target#time dd if=/mnt/usb/sda/ubuntu of=/dev/mmcblk0p7 bs=1024 && sync
; ]- w6 M% C1 I5 H
% Y! }- v( P$ l+ ~1 Z8 q- W% q3 ]0 Q
![]()
6 U* _& L4 W" j a R4 n图 7 . K# o- L* H1 Y1 d' \8 V* c4 M. d/ F7 Z
2 Ubuntu系统测试 将Linux系统启动卡插入评估板Micro SD卡槽,根据评估底板丝印将拨码开关拨为0,此档位将优先从Linux系统启动卡中启动系统。将评估板上电启动,系统启动后输入用户账户:root,密码:123,登录系统成功后,串口终端将打印如下信息。
2 }- J0 n/ G" c5 |$ e( q- G
* C; i8 m) C$ X1 m% c: @- P' v5 H/ { F3 K) j
![]()
! n+ U/ w7 m9 e5 ~. i5 |3 a# @# S( o图 8 * L3 n. F. W( s; j! [# s
由全志官方提供的Ubuntu系统除CVBS OUT、TVIN、CAMERA0、CAMETA1少数接口外,支持大部分外设接口。Ubuntu系统暂不支持GUI操作界面,暂不支持通过apt-get命令在线安装工具,因此部分外设接口测试需要自行拷贝安装对应的工具。 D3 t7 p: F9 ?3 h; I) q
以下章节以LED、按键为例,演示Ubuntu系统的测试方法,其余外设接口测试请参考评估板测试手册。0 n. k, E2 i9 `2 Y5 w& j
2.1 LED测试
' H0 [6 E) ^: L- g q0 `$ Q | 评估底板LED1、LED2与GPIO引脚对应关系如下表所示,系统启动后默认点亮。
2 V( Z( t3 s# \6 G- j& A$ O! ^
; l" C1 G; ?! }( k$ k- E! C, k" ^$ \# X) l: c
![]()
' u m) x4 i/ p! k t1 q表 1
' C7 R- L' _& R& m9 W6 V: b 进入评估板文件系统,执行如下命令逐盏熄灭、点亮LED。0 Y& v+ T! a# i3 A$ O, A( S4 a
Target#echo 0 > /sys/class/leds/user-led0/brightness//控制LED1灭' D4 ^" B# U* o
Target# echo 1 > /sys/class/leds/user-led0/brightness //控制LED1亮, e, t" ~6 \6 i: B' }9 C
Target# echo 0 > /sys/class/leds/user-led1/brightness//控制LED2灭2 ?0 P: R6 |( l: C. I# ^" G
Target# echo 1 > /sys/class/leds/user-led1/brightness//控制LED2亮2 P# k) Q/ P4 A4 z% J: b* c: Y' r7 d, k
9 ?, l0 d. E: l G
+ O8 q1 a' V$ B/ `2 |
![]()
' B: w8 n3 c$ g! M4 A$ _5 W5 {图 9 3 K8 V3 q1 v0 o
2.2 按键测试
0 P6 d/ J' [+ }% ~ 评估底板包含3个用户按键:KEY3、KEY4、KEY5。进入评估板文件系统,执行如下命令查看用户按键对应的事件号。5 g! z! I7 |+ |3 p* p4 Q
Target# cat /proc/bus/input/devices4 P8 }4 n5 \- X: q, A
/ `5 `8 g* }8 _0 l2 L6 o4 [& H/ m- M7 q. i% n* R/ D
0 I+ v1 X V, V2 k; `& z
图 10 0 a, W$ T4 [: S. C& _
从上图中可看到KEY3和KEY4对应的按键事件号为event1,KEY5对应的按键事件号为event5。
- n2 F8 D$ d0 i+ ` 执行如下命令,分别按下KEY3和KEY4进行按键测试,可看到如下打印信息,其中"0094"表示KEY3,"0095"表示KEY4,按"Ctrl + C"可终止测试命令。
+ p0 r! [" U7 n$ \" t! k Target#od -x /dev/input/event1
4 B9 l3 ~* {; q; b7 l5 @$ z3 O+ h
8 J h8 T. p n1 \7 p 2 I3 ?1 R* N# ?) ]8 G( b) z
图 11
6 g0 @# g4 m! X 执行如下命令,按下KEY5进行按键测试,可看到如下打印信息,"00ca"表示KEY5,按"Ctrl + C"可终止测试命令。: A! D/ l3 }3 w# S
Target#od -x /dev/input/event5: q1 H& p4 C# D% F( G& y3 ?3 j
* s- @6 m7 R, H& o
8 ^' c1 W8 w: k `6 w2 m ![]()
: ~0 J' C2 B5 E0 U( b+ z图 12
6 F! U2 G; Z4 K; j! ] 如果你还想了解更多嵌入式应用的相关知识,欢迎关注Tronlong创龙科技/ c8 n0 P7 _# e
1 T1 g% W3 f" Q, a. s |