EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
} Y/ s1 y4 p3 u( \) r% q) \) U5 a
本文主要基于全志A40i开发板——TLA40i-EVM,一款基于全志科技A40i处理器设计的4核ARM Cortex-A7高性能低功耗国产评估板,演示Ubuntu根文件系统镜像的替换和测试方法。
8 B3 c7 d$ u q+ \3 N. f3 L2 D( Z- j' S( D* J1 @
创龙科技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大容量存储接口。% M- R O! X6 ? g8 D, i0 b
核心板采用100%国产元器件方案,并经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。评估底板大部分元器件均采用国产方案,方便用户快速进行产品方案评估与技术预研。, Y8 E& w6 G& O, R
/ s6 J. b6 T. J
. s, S! R$ t) Z+ Y! b ![]()
& W; t( R- {/ i5 X8 f* s5 T9 l; L1 j6 N8 Q5 S. R* d! ]
请先按照调试工具安装、Linux开发环境搭建相关文档,安装SecureCRT串口调试终端、VMware虚拟机等相关软件,按照Linux系统使用手册解压安装LinuxSDK开发包到Ubuntu。无特殊说明情况下,默认使用USB TO UART0作为调试串口,使用Linux系统启动卡(Micro SD方式)启动系统,通过路由器与PC机进行网络连接。
, Y8 l& n! ^- ~
2 ~, v: e3 B7 p- h% z5 C5 G9 f. t: r) O! C
5 N" h/ D0 p* H, l: c9 _ 适用开发环境:
5 _% r: Y7 N8 {( i( f Windows开发环境:Windows 7 64bit、Windows 10 64bit
5 B) E: @1 g X Linux开发环境:Ubuntu18.04.4 64bit' u# t$ P5 u7 f% S- C
虚拟机:VMware15.1.0
/ P) m5 M+ U$ O3 {% M4 T( ~2 f U-Boot:U-Boot-2014.07
' e7 o( U' X" M# A% l6 i3 d Kernel:Linux-3.10.65! i* E! t H- z7 Y! \2 i: X( Y
Ubuntu:Ubuntu16.04根文件系统(约1.5GByte)2 C+ [" j/ R; ^2 [" M( s' s6 ` X- Q! t
LinuxSDK:LinuxSDK_AA_BB_CC_DD(基于T3_LinuxSDK_V1.3_20190122): l2 U- k, X( s* b$ N5 V2 y% F1 @1 T
Tronlong创龙科技提供的LinuxSDK_AA_BB_CC_DD.tar.gz开发包已自带全志科技官方Ubuntu16.04根文件系统镜像,位于LinuxSDK开发包"buildroot-201611/target/ubuntu_16.04/"目录下(如下图),如需替换使用Ubuntu根文件系统,请参考如下章节进行操作。 h; u* h7 k# M( P; S4 }! w3 S) ]9 d
3 q' [0 n% V: t/ q7 S; F
! a; `, y8 F+ {( h0 R) v 6 C2 c, V1 S5 W% L, \& j4 G% A- |
图 1
/ j e* j7 H( o2 T" i1 z' U3 f, ^% n' F 1.Ubuntu根文件系统替换
* y. t; \' r& ^5 d8 J 1.1 替换到Linux系统启动卡
, u: E; v/ t- c 将Linux系统启动卡通过Micro SD读卡器插至PC机USB接口,并挂载至Ubuntu系统。执行如下命令,确认Linux系统启动卡在Ubuntu系统的设备节点名,可以看到Linux系统启动卡设备节点是"/dev/sdb",并且有七个分区,其中"/dev/sdb7"为文件系统所在分区。+ K) j- H7 T4 |7 P9 y2 i, G4 J6 ?
备注:设备节点名字是可变的,一般插拔多次或者使用不同的卡插拔后,可能会显示sdc或者sdd。
. E) Y9 w/ r* M% k& @& e Host#sudo fdisk -l
. [* F- C" H; B& m: N
$ o8 ^5 i( b* g3 h9 T+ y* z6 {& K! ^6 Q# H2 a8 c
" d k3 m2 ]3 H% s2 L% X1 }1 q
图 2 . \5 ]7 d# t6 c: X4 ^* S# \
+ B4 e$ ~' i& W9 |/ i& i
图 3
5 f3 `) o" g7 U* x) E 在LinuxSDK的lichee源码安装目录下,执行如下命令进入Ubuntu根文件系统镜像所在目录,将其固化至Linux系统启动卡文件系统分区。
?, |* p) w1 S- ^ J: O( Z Host#cdbuildroot-201611/target/ubuntu_16.04/ J) V; R8 E9 i
Host#sudo dd if=ubuntu of=/dev/sdb7 bs=1024 && sync
! y1 ^8 ^: L: F- Z2 o% V% t2 M" E4 A9 t5 d& s& M
# v8 t9 G! g$ E) R
$ @/ p! B. X3 y
图 4 " \( L3 A, o& \1 r7 f
固化过程预计耗时约5min,请耐心等待,打印"records in、records out"信息表示固化完成。# ^) O+ Z- |, v8 r* I7 q+ f% m
1.2 替换到eMMC% K& D- r+ J- v* k& h+ N
将U盘插至PC机USB接口,并挂载至Ubuntu系统。在LinuxSDK开发包Ubuntu根文件系统镜像所在目录,将其拷贝至U盘。
, J) F. k4 U2 [- i, B' `8 D7 X, ^: J9 X; G
+ T3 p, d* F' p) O" s+ i
![]()
# }# z4 Y4 M0 S/ @; E. n: ^+ v) L图 5
. i3 a7 \4 a6 A% S 拷贝完成后,将U盘插入评估板USB1 HOST或USB2 HOST接口,从Linux系统启动卡启动系统,执行如下命令查看U盘在文件系统的设备节点名。 Target#df -h
) _. e* Y' r+ e! B/ a0 P' E: z, x9 M9 l. r. h
. @3 h) f, ~. z+ E W8 M# d : Y6 N" ?. n2 r# D4 B. T
图 6 执行如下命令将U盘的Ubuntu根文件系统镜像固化至eMMC的文件系统分区(mmcblk0p7)。预计耗时4min左右,串口终端打印"records in、records out"信息表示固化完成。
6 N" U+ Z/ o! a P8 D Target#time dd if=/mnt/usb/sda/ubuntu of=/dev/mmcblk0p7 bs=1024 && sync
$ i. I! f: _, l$ e a6 P) o. u, F; f) V9 j L- [$ [( b
7 _ y$ P4 p7 z
- ~1 c$ @ x3 [; j' m3 C4 K f( |2 J
图 7 : I" Q% ~3 o I* M& P$ ~8 V
2 Ubuntu系统测试 将Linux系统启动卡插入评估板Micro SD卡槽,根据评估底板丝印将拨码开关拨为0,此档位将优先从Linux系统启动卡中启动系统。将评估板上电启动,系统启动后输入用户账户:root,密码:123,登录系统成功后,串口终端将打印如下信息。. I: a" h8 k; [1 N+ d# ]* x: ~: R. v
# x% G; K* L, N# j
# {0 G" k3 F( X4 i' n q) j1 w p% m k( }$ D T9 o" O8 ?
图 8 ; w( [4 a$ z8 H( a: M5 Z
由全志官方提供的Ubuntu系统除CVBS OUT、TVIN、CAMERA0、CAMETA1少数接口外,支持大部分外设接口。Ubuntu系统暂不支持GUI操作界面,暂不支持通过apt-get命令在线安装工具,因此部分外设接口测试需要自行拷贝安装对应的工具。
; h) ^( x# V8 G$ q3 B$ Z 以下章节以LED、按键为例,演示Ubuntu系统的测试方法,其余外设接口测试请参考评估板测试手册。
/ `9 t; Q) V$ B; y; F, R 2.1 LED测试
! K3 P9 X2 L0 D# a* e. t0 ?1 z 评估底板LED1、LED2与GPIO引脚对应关系如下表所示,系统启动后默认点亮。 ]% Y0 w p4 o; K3 g c( k: f
7 {4 J3 ~- Q6 b% w5 T
9 V) Z% D; i( N5 `2 I ) @4 `& h. S) M( q5 v
表 1
, L. N# i; y6 ^. P 进入评估板文件系统,执行如下命令逐盏熄灭、点亮LED。
2 T: O) x% u) B9 y! E Target#echo 0 > /sys/class/leds/user-led0/brightness//控制LED1灭
+ B/ N3 y! B8 Q Target# echo 1 > /sys/class/leds/user-led0/brightness //控制LED1亮
k W, U3 F& S* t- [4 @0 w2 q Target# echo 0 > /sys/class/leds/user-led1/brightness//控制LED2灭
; u$ j: O, i/ k% a- q Target# echo 1 > /sys/class/leds/user-led1/brightness//控制LED2亮/ S1 Q3 d( ?' w( ]
9 w" T) p: ~ C# {* l( w5 b
3 U' z/ d. r; ?8 j3 ` t' J* E, P
5 d* U+ [, W+ j# c' ^1 R3 A
图 9
, c! x2 z+ T4 w; S- u9 o 2.2 按键测试8 c* E3 n6 G/ h. v% d
评估底板包含3个用户按键:KEY3、KEY4、KEY5。进入评估板文件系统,执行如下命令查看用户按键对应的事件号。* g$ V! u2 ^! l9 {" ]
Target# cat /proc/bus/input/devices
5 {* U7 F, X+ H" t( p& q) Z, }. e( u/ l' \1 t( L" b- _9 R
/ N! K/ ?; r7 O ![]()
9 S& g" z f# o9 n) P7 V% S6 J图 10
& Z6 E% N3 V8 b0 j8 g" w# o, ^ L: T 从上图中可看到KEY3和KEY4对应的按键事件号为event1,KEY5对应的按键事件号为event5。% }) J8 x! w6 \
执行如下命令,分别按下KEY3和KEY4进行按键测试,可看到如下打印信息,其中"0094"表示KEY3,"0095"表示KEY4,按"Ctrl + C"可终止测试命令。
8 `! h9 e6 d' L' h; s0 t! v Target#od -x /dev/input/event1
( p3 @5 w2 F/ s+ I& m1 ]. D1 R8 I$ A7 _1 _
; h; v* H! R r" o ![]()
5 h; I! B3 B$ d# z0 g+ q图 11 , n' d2 V3 C( G4 v2 l
执行如下命令,按下KEY5进行按键测试,可看到如下打印信息,"00ca"表示KEY5,按"Ctrl + C"可终止测试命令。+ M4 q; {1 J8 q+ F1 |* y
Target#od -x /dev/input/event5
) O" T+ d& `! _: @# V7 W: p6 i
8 f" _5 ~" B, c; @# P
/ Q; c: j8 e, J ; E: r$ d( n# v D, K! K! z3 o
图 12
- ?/ B* L% B6 A/ B 如果你还想了解更多嵌入式应用的相关知识,欢迎关注Tronlong创龙科技 ^2 M$ @9 }7 H0 m2 W
2 ?- `( w3 f7 o, ]! ]. i |