EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
- V9 O4 L" f7 d& b! Z
, z# j3 V3 q, _- T6 S1 q
本文主要基于全志A40i开发板——TLA40i-EVM,一款基于全志科技A40i处理器设计的4核ARM Cortex-A7高性能低功耗国产评估板,演示Ubuntu根文件系统镜像的替换和测试方法。+ e- F1 c3 K8 H3 w8 o1 [+ w: ~" v
4 |2 F$ q w, V9 h5 p8 o5 R
创龙科技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大容量存储接口。: v2 v! b& _8 u, S( [+ b I+ n% } p
核心板采用100%国产元器件方案,并经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。评估底板大部分元器件均采用国产方案,方便用户快速进行产品方案评估与技术预研。
8 w) n; Z! B# X: R A# T, Q l& y0 e# @ }
2 H/ T, D8 }# P9 s+ T+ Z ' j& c: _4 f# b4 e" D3 Q
% D7 i/ N/ {: F 请先按照调试工具安装、Linux开发环境搭建相关文档,安装SecureCRT串口调试终端、VMware虚拟机等相关软件,按照Linux系统使用手册解压安装LinuxSDK开发包到Ubuntu。无特殊说明情况下,默认使用USB TO UART0作为调试串口,使用Linux系统启动卡(Micro SD方式)启动系统,通过路由器与PC机进行网络连接。3 U. i+ m a2 `- S$ o
5 I ]8 O" F# v+ P: e7 x: u% S, K- ?; g M
适用开发环境:
# x: F0 I. @- R9 o) O% t8 M: @: O Windows开发环境:Windows 7 64bit、Windows 10 64bit
& a- S. t Y2 C$ A3 J Linux开发环境:Ubuntu18.04.4 64bit& w7 b. A% n) `; w* e5 o
虚拟机:VMware15.1.0
; ^1 J: V$ G# f2 y' [: M8 B U-Boot:U-Boot-2014.07
% A- W3 ?" K* ~0 e- D5 R Kernel:Linux-3.10.65
. ?1 F2 x! Z) s( T0 k Ubuntu:Ubuntu16.04根文件系统(约1.5GByte)* m1 k m' ~' D9 ^- k9 j$ Z) A
LinuxSDK:LinuxSDK_AA_BB_CC_DD(基于T3_LinuxSDK_V1.3_20190122). ^& a# s* ?# O4 N; f; A6 |& k7 U
Tronlong创龙科技提供的LinuxSDK_AA_BB_CC_DD.tar.gz开发包已自带全志科技官方Ubuntu16.04根文件系统镜像,位于LinuxSDK开发包"buildroot-201611/target/ubuntu_16.04/"目录下(如下图),如需替换使用Ubuntu根文件系统,请参考如下章节进行操作。1 W, N; m1 `' @
. ^0 \7 T/ c0 w4 S1 x( {( L t3 c. u5 y1 F: b
![]()
! ~& j$ w0 y3 \$ V- |图 1
* i) p9 I" l X7 { m% z 1.Ubuntu根文件系统替换/ I: G0 H0 g7 b: l! e$ S
1.1 替换到Linux系统启动卡4 J# P) R0 y0 E
将Linux系统启动卡通过Micro SD读卡器插至PC机USB接口,并挂载至Ubuntu系统。执行如下命令,确认Linux系统启动卡在Ubuntu系统的设备节点名,可以看到Linux系统启动卡设备节点是"/dev/sdb",并且有七个分区,其中"/dev/sdb7"为文件系统所在分区。
; o: R* y( `# E6 v+ }+ k/ P 备注:设备节点名字是可变的,一般插拔多次或者使用不同的卡插拔后,可能会显示sdc或者sdd。3 j- i4 E- \+ K( I: o3 s4 y' f
Host#sudo fdisk -l h$ Y4 Y' f$ p( c. ~ m/ i, p
/ X+ m1 Z$ x' ?! m
( _+ ?- i& D; n x! M G1 n" B; M/ V1 d9 _
图 2 ) }% T; k; f! o# i: |0 O
4 U/ ~% @* ?6 S$ ~6 t
图 3
% T' e* z0 i, x/ ~5 ? 在LinuxSDK的lichee源码安装目录下,执行如下命令进入Ubuntu根文件系统镜像所在目录,将其固化至Linux系统启动卡文件系统分区。3 ^: w' g3 z8 h% ]' I `, r
Host#cdbuildroot-201611/target/ubuntu_16.04/
0 c: \6 P \; s/ K# @ Host#sudo dd if=ubuntu of=/dev/sdb7 bs=1024 && sync
: ?5 e3 D, L9 g/ D! F+ j
6 L! ?. I+ h; h" z0 q: [6 |
* g/ F' p3 q/ S" ~" a3 z2 N2 A& ? ![]()
7 V. n8 d2 x4 \4 a图 4 0 o2 H1 x4 ?, u2 x/ c$ r! T% g m
固化过程预计耗时约5min,请耐心等待,打印"records in、records out"信息表示固化完成。
4 I m1 x% P% L. l4 |& H+ m; [7 x; R 1.2 替换到eMMC8 K$ }2 G4 t- m; f) n0 G( I
将U盘插至PC机USB接口,并挂载至Ubuntu系统。在LinuxSDK开发包Ubuntu根文件系统镜像所在目录,将其拷贝至U盘。" W8 X3 n" w F% H3 u
; i7 O- _! P' k
1 ~6 i8 r, q- q- G% v0 d6 {- [9 y $ ~: C ]! p$ x# @% v% i# x
图 5 # o; [' C# T& m8 ]/ A# L# ? }
拷贝完成后,将U盘插入评估板USB1 HOST或USB2 HOST接口,从Linux系统启动卡启动系统,执行如下命令查看U盘在文件系统的设备节点名。 Target#df -h4 L. E3 d& c( D5 c/ I- `+ t
+ [% h: g: R2 D8 p0 n
0 ?4 {. o+ [* ~( N ![]()
9 i6 y) i% v# j t" g& c图 6 执行如下命令将U盘的Ubuntu根文件系统镜像固化至eMMC的文件系统分区(mmcblk0p7)。预计耗时4min左右,串口终端打印"records in、records out"信息表示固化完成。
) d0 I* z" w2 Z Target#time dd if=/mnt/usb/sda/ubuntu of=/dev/mmcblk0p7 bs=1024 && sync
- r2 R: d/ y; i s6 a& s0 _1 f& I+ C, L+ N% P% \5 I
- s; o" o# T, t9 |7 H ) x" h; z0 e4 J4 a$ u( }9 P
图 7 $ R. G A! h0 z- S3 K. g$ }( O- f; Y
2 Ubuntu系统测试 将Linux系统启动卡插入评估板Micro SD卡槽,根据评估底板丝印将拨码开关拨为0,此档位将优先从Linux系统启动卡中启动系统。将评估板上电启动,系统启动后输入用户账户:root,密码:123,登录系统成功后,串口终端将打印如下信息。
; Q& h( |' p8 I( |; Y" S# K# Z& v5 Y4 L6 u
1 ^: c. E) G3 X( m
![]()
+ u! [4 C2 y- L h/ P/ B图 8
0 Y. g! s- N- _& y, e1 j 由全志官方提供的Ubuntu系统除CVBS OUT、TVIN、CAMERA0、CAMETA1少数接口外,支持大部分外设接口。Ubuntu系统暂不支持GUI操作界面,暂不支持通过apt-get命令在线安装工具,因此部分外设接口测试需要自行拷贝安装对应的工具。
& T2 n2 P/ q6 y- w. j. S# n) k4 ]; ~ 以下章节以LED、按键为例,演示Ubuntu系统的测试方法,其余外设接口测试请参考评估板测试手册。
# S5 T1 y0 _! ~. G 2.1 LED测试% C# g$ Y$ K! ~$ ^" j: g" I
评估底板LED1、LED2与GPIO引脚对应关系如下表所示,系统启动后默认点亮。
4 h' x8 Y1 r$ g6 h4 J6 t1 O6 G' l$ o6 g5 f2 t
& z- r% i& y6 w/ k, X0 k
![]()
; w/ [) _) y h% W表 1 9 |8 v: Z& P' O: f+ x0 E
进入评估板文件系统,执行如下命令逐盏熄灭、点亮LED。
2 Y9 V5 F2 Y$ }; q- _7 e d Target#echo 0 > /sys/class/leds/user-led0/brightness//控制LED1灭
9 S$ m" R3 h5 i9 O- l: J! f& r* ~+ K Target# echo 1 > /sys/class/leds/user-led0/brightness //控制LED1亮( ]+ N7 _# U9 q$ {( b" j
Target# echo 0 > /sys/class/leds/user-led1/brightness//控制LED2灭
+ f5 i9 g, h$ ~ A. r% X: z- v Target# echo 1 > /sys/class/leds/user-led1/brightness//控制LED2亮
$ `5 f7 W+ W& U& n/ q8 f; O. [" a- G0 I) ~* \; |0 }
! o3 U) @4 {$ c6 P" Y; `6 B: G
![]()
; a7 I$ u+ R0 ~+ y' C7 P0 ^图 9
1 v# T! N4 E9 U. v4 k' H. | 2.2 按键测试) U1 ^( f) ^9 B( L! d4 B7 R
评估底板包含3个用户按键:KEY3、KEY4、KEY5。进入评估板文件系统,执行如下命令查看用户按键对应的事件号。; O T3 R" Q/ x$ q* \- u
Target# cat /proc/bus/input/devices4 Q3 c8 M6 S) u; u2 R2 `
8 t- K3 j" `: I* i3 J
* z# ^8 N2 i; l& T ![]()
- @" `" |: R' ~1 y图 10 ( P/ O9 }5 L1 I# W8 a/ |' e `0 t% ~" O4 q
从上图中可看到KEY3和KEY4对应的按键事件号为event1,KEY5对应的按键事件号为event5。
1 D8 B( H( g8 q7 B4 g( `8 I 执行如下命令,分别按下KEY3和KEY4进行按键测试,可看到如下打印信息,其中"0094"表示KEY3,"0095"表示KEY4,按"Ctrl + C"可终止测试命令。
" w8 y3 Y( Z! C$ d; n; f% j j Target#od -x /dev/input/event1+ H2 ?. q' O. w/ `# c$ O
! ?6 z L3 x5 z" Y: w
+ H0 z6 M Z; ~9 U; }
![]()
' y _- B; I, g, \图 11 $ c1 f6 H, \5 q8 f \
执行如下命令,按下KEY5进行按键测试,可看到如下打印信息,"00ca"表示KEY5,按"Ctrl + C"可终止测试命令。5 Q2 r4 w" [4 t" |- c
Target#od -x /dev/input/event5+ Z" k9 F8 s5 q- p! Q; J2 f' ], \
0 i A) M1 H3 f. b$ p% y2 v9 F& V3 m
![]()
3 }. k2 f/ v& k2 ~" c* N) v图 12 # }& \% F) ~1 U0 B# O5 v, R
如果你还想了解更多嵌入式应用的相关知识,欢迎关注Tronlong创龙科技1 F) Y+ l4 j! J, _8 A; }- V1 H
/ x: _/ K2 b3 c" @. T4 ~- L& ~8 D |