EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
+ B( u2 n1 |5 B, a0 _ 前 言: m; \9 d2 s6 {$ t+ B
. n1 L# O, a8 B: N( ~
本文档适用开发环境:; H* p) i! ]2 b S# s
Windows开发环境:Windows 7 64bit、Windows 10 64bit8 Y( r8 [! B/ l8 b
虚拟机:VMware15.1.0 ]- L* g) `% @8 v$ x6 _) K
Linux开发环境:Ubuntu18.04.4 64bit/ u. u7 I0 m: }- Z
U-Boot:U-Boot-2020.04; z) ~- N1 s" O1 F% b
Kernel:Linux-5.4.70( J) o, v8 A( }1 L% Y( P
Linux SDK:5.4.70_2.3.0
6 K: N& _9 j' ] k 进行本文档操作前,请先按照调试工具安装、Linux开发环境搭建相关文档,安装SecureCRT串口调试终端、VMware虚拟机等相关软件。
7 S0 M i- Q& @/ I9 J4 S 本文档主要提供评估板的硬件资源测试方法。无特殊说明情况下,默认使用USB TO UART1作为调试串口,使用Linux系统启动卡(SD启动模式)启动系统,通过路由器与PC机进行网络连接。" j" o# U% j/ O
基于测试板卡:创龙科技TLIMX6U-EVM是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗处理器设计的评估板,由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
4 _! {" g2 H, s5 ]; g 评估板接口资源丰富,引出双路网口、双路RS485、双路CAN、三路USB、多路DI/DO、LCD等接口,板载WIFI、Bluetooth模块,支持LoRa、NB-IoT、Zigbee、4G模块,可选配外壳直接应用于工业现场,方便用户快速进行产品方案评估与技术预研。5 }& W2 G! {; Z p% |& I' p3 j: c
) ]" F S" {- g7 E% G0 W
+ p- C! D; ]* ?4 B8 z ![]()
% s& j; c8 x+ C9 p* M& |# N0 t, m' f% P* w5 M9 t! J8 V5 f# q6 R+ H6 w' L
评估板快速测试
1 g/ h8 f4 }5 W2 d 系统启动测试 接入电源,并使用Micro USB线连接PC机和评估板的USB TO UART1调试串口。打开设备管理器,确认评估板USB TO UART1调试串口对应的COM端口号。7 S* B( P8 N. V+ g" u. h {
图 1 6 [. |/ m1 G' X, L
图 2 C8 F0 u ?2 k [6 A
打开串口调试终端SecureCRT,选择对应的COM端口号,设置波特率为115200,8N1,无校验位。建立串口连接,如下图所示。& U5 I1 k( x8 U5 q# N' D
6 P- a' O7 \# s: ~7 x8 O6 o4 Q
- f5 S* ]3 J1 k' U" S, k
图 3
/ P- h/ _* o8 s! F( s/ s, D 将Linux系统启动卡插入评估板Micro SD卡槽,将启动方式选择拨码开关拨为010100(1~6),此档位为SD启动模式。将评估板上电启动,串口调试终端会打印如下类似启动信息。% ^; ]8 l) q+ d& c' h4 v' R/ e& ?
& D6 B. z0 N Q; g2 a2 O- o
% y( y0 Q& d' N; q# Q/ @ 图 4 6 g( w4 m& w2 P/ [
' V9 }% g' [* j 图 5
6 H9 l/ P4 A/ Y' c8 K$ z; T' D+ y 备注:由于我司提供的Linux系统保留了部分官方驱动配置,且实际未使用到相关驱动的部分功能,因此在内核启动过程中驱动会打印部分警告信息。此类警告信息不会影响系统的正常运行,请忽略即可。
7 b ~4 A; J5 z* ]# x) f/ E
$ h, y Y+ v3 m5 w6 V4 T
& Q; Z: K9 X1 C0 K 图 6 7 Z4 h, W! C. y
图 7
5 T8 f$ m$ W; T! I, l" [2 z; }+ }/ k9 ^6 {
核心板LED在系统启动过程中的变化说明如下:
/ D: }& `! b$ g7 P2 N$ u 评估板上电后,电源指示灯LED0点亮;随后U-Boot第一阶段启动,LED1点亮;紧接着U-Boot第二阶段启动,LED2点亮;直至内核启动运行时,LED2熄灭,LED1进行心跳闪烁。1 @% n" K: x" F2 w5 Z9 d4 Z( ?
图 8 % y! b) m" w3 l$ S0 q. d* {
$ y) _5 @; D7 A
系统启动后会自动登录root用户,说明使用Linux系统启动卡启动评估板成功。
% a) k: V: o6 ^
8 v/ N% P0 s9 D
# y! f+ `/ W% j1 q; Z/ E 图 9 如需从NAND FLASH启动评估板,请执行如下命令,一键固化Linux系统至NAND FLASH。
+ @. L' |! R3 O. U0 @+ p. [' F H Target# /opt/tools/mknandboot.sh
8 n: z1 D# O5 e0 ~
; N I+ ~% c8 [2 ?& I2 P
9 T7 {0 T1 z, Y: x2 r 图 10 * [ u& V+ j) ?8 r
图 11
8 J6 \# u9 T+ }2 Y8 \
9 S e) D$ W: j! B7 y R, H 耗时约5~10min,NAND FLASH成功固化Linux系统,同时串口调试终端打印提示信息。评估板断电,将Linux系统启动卡从评估板Micro SD卡槽中取出,将拨码开关拨为011000(1~6),此档位为NAND FLASH启动模式。
3 ]$ J7 Q+ r; i3 }9 I, z* C 评估板重新上电后,将从NAND FLASH启动系统。. m! E2 y" L- K2 F( e1 r4 W0 v: _
$ {/ n8 n! v$ E: m- ?& c% E" v
文件传输测试 PC机和评估板之间传送文件的常见方式如下:/ y& P: m- o9 X: Y
- 通过Linux系统启动卡、U盘等存储介质方式拷贝。
- 通过NFS、TFTP、OpenSSH等网络方式拷贝。+ r& R, r8 g( W2 h9 U# j6 }
, V0 N6 {- X+ i8 g6 l通过Linux系统启动卡 将配套的系统启动卡通过读卡器插至PC机,然后将文件拷贝至系统启动卡的BOOT分区,如下图所示。
' a, l; ]' H" o$ _0 L
4 D/ t* t3 O% `* e/ J- z6 E, \5 I; Z7 U/ Y
图 12 3 k- P$ ] b3 b8 s* x# {, ]
2 q4 c' ]4 }! A+ n5 Y 将系统启动卡插至评估板Micro SD卡槽,评估板上电启动系统,进入文件系统执行如下命令查看分区信息。系统启动卡的BOOT分区挂载在评估板文件系统"/run/media/mmcblk0p1/"目录下。
" c- N. ]$ Y9 p" g0 s/ q3 t" z Target# df
* L! `4 N' ~1 \, w( k% j, U Target# ls /run/media/mmcblk0p1
1 k2 X# x. G) W, B6 v$ \
0 s+ ?' a+ {9 n
$ F9 g# p3 N9 c% I H8 P 图 13 6 x) }7 B E. i& s* }2 m m: x
2 g4 e' H% c: l: t
通过OpenSSH OpenSSH是SSH(Secure Shell)协议的免费开源实现。SSH协议族可用来进行远程控制,或在计算机之间传送文件,评估板文件系统默认已支持SSH库。+ Q- S6 q4 Z) F/ G
在Ubuntu系统执行如下命令,查询是否已安装OpenSSH。
- \9 w' P C" @/ ~3 U0 _ Host# ssh# @+ A0 E" g- g4 E) P+ [) @3 Z1 f
* P+ ]* {$ K1 [+ M1 h S
5 I1 f* |' ~9 A4 @ @
图 14 # w: u3 H( y$ z: u. K& G
& s6 T- E" p$ K 可看到系统已自带OpenSSH。如未安装,请先自行正确安装OpenSSH。" }( c% Y, o: R% \! j0 r# t
将评估板ETH1 RMII网口通过网线连接至路由器。在评估板上执行如下命令可自动获取到IP,如下图所示。"-i"用于指定网卡,eth0为网卡名字,请根据实际情况修改。8 {' Y. w9 M7 o" e5 o
Target# udhcpc -i eth04 g% P) Y; Z! h3 \* [
( I% L2 `8 W! Z' P% x0 E8 n3 s
! Y5 D8 I% D7 Z$ B3 F 图 15
4 T' G& D) t" p3 V$ C ~( p# Y0 t; X& ]% g8 K. s
执行如下命令可查询IP地址。本次查询到的IP地址是192.168.0.237。
# k* e- f; H! m7 o1 `, W Target# ifconfig
. o+ M: V: s6 u8 X0 {* h- w
4 o3 r+ t. G4 x- f! d$ Q
4 {7 n" U# D. ~) w6 d4 l 图 16
7 i2 L" R4 F7 f: N, }, }
' ^' k% m- Z: T, a - 使用OpenSSH从PC机传输文件至评估板4 H5 `. R/ J/ f; Y- p9 Z1 m
执行如下命令在Ubuntu系统中新建文件test1,并使用OpenSSH命令将test1文件拷贝至评估板文件系统根目录。! A& K" D1 g8 F6 ?8 K5 I
Host# touch test1 //新建文件
" V2 k6 e) Q; J! A1 O9 V- d Host# scp test1 root@192.168.0.237:/9 O' I$ p1 D5 q9 F
& n2 ^; A! l( Z1 p
( [3 @9 ]3 \$ |' C2 _! p# }/ m
图 17 4 e1 @+ `" e$ B* A7 Q
" X& ?; i" J t5 D/ N5 u 如出现提示"Are you sure you want to continue connecting (yes/no)?",请输入:yes。* x+ ]3 h& k+ ]7 A1 C+ c+ P) l( u0 I
在评估板文件系统执行如下命令可看到从PC机拷贝的文件,如下图所示。# M% x; v, X4 e. ]7 m: g- y
Target# ls /' n6 D' l" V; u1 j' p3 M
/ |4 y8 b5 J3 A- L
. r6 [, M1 P/ g2 I; I- c 图 18
5 H( N! M1 Q, ?- b1 y7 D
; }! R W8 D, C& Z - 使用OpenSSH从评估板传输文件至PC机
3 v- i! N# c( k 执行如下命令在评估板文件系统根目录新建一个测试文件test2。+ l+ m5 n" K, q: w$ P
Target# cd /) }( Z0 g# R5 v# j1 j0 h1 l
Target# touch test2 s7 Z- R0 W2 Y& g! }6 Q
% U4 p- a& Y, |
3 T! D- h1 p, C2 @
图 19
X0 o' m, [! {- p4 `( R' O% V- P/ v, N" |; Q$ q8 t
在Ubuntu系统中执行如下OpenSSH命令将评估板测试文件test2拷贝至PC机"/home/tronlong/IMX6/"目录下。如传输内容为文件夹,请在scp后面添加参数"-r"。
: c) a7 |& Y: ^: ^ Host# sudo scp root@192.168.0.237:/test2 /home/tronlong/IMX6/
+ w; }) K$ j7 B$ m Host# ls /home/tronlong/IMX6/' U0 p1 |) H5 _2 f4 ?1 _/ w
" T& {* l; S& G& ~+ n4 N
) O2 O" K7 |4 \: f 图 20
* Y' P! T$ n. \5 {0 e/ a
6 v7 f' J* q( o3 K2 d+ ]$ A - 使用OpenSSH登录至评估板文件系统
! @% Y* m* a: \$ H5 n 在Ubuntu系统中执行如下命令可通过OpenSSH登录评估板文件系统。: L6 \* O c9 P$ ^1 l: B! d
Host# sudo ssh root@192.168.0.237 @( G- \8 v! b, v% e% Y
- s( w) j! B2 p( L
" D0 X3 s# n( T( v# W/ K: { 图 21 & \" e7 {! Q0 ^
; D& @( X- D) P$ c: W* ]' k& B 如需退出登录,请执行exit或者logout命令。/ Z# r: N/ A: X' G" s0 j
LED测试 进入评估板文件系统,执行如下命令逐盏熄灭、点亮评估底板LED。
9 e; Q6 k6 | C& I Target# echo 0 > /sys/class/leds/user-led0/brightness //控制LED1灭
) M, ^* V6 A. e4 Y( O% B1 |4 `% E Target# echo 1 > /sys/class/leds/user-led0/brightness //控制LED1亮
0 ?- |! Q8 z. {. l% Y; ^6 s' C$ l Target# echo 0 > /sys/class/leds/user-led1/brightness //控制LED2灭
+ [- B6 J7 b+ X! V Target# echo 1 > /sys/class/leds/user-led1/brightness //控制LED2亮
& r7 n; X, D- k/ g, I( Q, D v4 j: r% T' l( G' P; w8 U) j3 j5 r
6 J$ \ f# r* O, ]% J
图 22
6 b/ k. i6 ^: S+ F9 g
* j) G9 x: r0 `& [# g 按键测试 用户输入按键测试 评估板包含两个用户输入按键KEY2和KEY3。进入评估板系统,执行如下命令查看按键事件号。$ I2 A+ n; |; T+ ~3 t' V
Target# cat /proc/bus/input/devices
. a7 n( t5 Z' x8 j" `* A. B& G/ u0 d7 ?' P
! y9 @- C% {* N; [" o: C
图 23 4 {% [+ [( V/ a5 O8 x3 Y2 t/ q
$ `0 P: w/ L9 \4 j$ H 从上图中可看到按键事件号为event1,执行如下命令,分别按下KEY2、KEY3进行按键测试,串口调试终端将会打印如下类似信息,其中"0094"表示KEY2,"0095"表示KEY3。按"Ctrl + C"可终止测试命令。8 ^# }) B" @# V: K* s5 d2 \5 s: T
Target# od -x /dev/input/event1
9 m9 R. E) U- u( N5 _ j0 Z( ^5 ~. U: E# s! l
* w9 ?9 V" F+ h& n5 n2 S* F+ s. [
图 24
% F4 \& ~, H9 C4 d% F5 B2 c: o
* ^- q# q5 X* f! X ON/OFF按键测试 评估板上电启动后,长按ON/OFF(KEY1)按键5s,系统将休眠,同时核心板用户指示灯与电源指示灯全部熄灭。接着长按ON/OFF(KEY1)按键1s,系统将重新启动,同时串口调试终端将会打印如下类似启动信息。$ l& M9 Y% Y% C$ z* m3 u
( A5 N( y% w8 i8 h' B7 P/ l
+ G% j3 F' e( c/ x+ e
图 25
* ]: `* f: B2 Y6 K& j* S+ u: I+ E* u. A" ?! I, Y1 W
时钟设置测试 Linux系统中分系统时钟(软件时钟)和RTC时钟(硬件时钟),系统时钟掉电即会消失,RTC时钟在安装电池的情况下会长期运行。
8 M: f/ c J- z5 | 如需使用外部RTC时钟,请将ML2032(3V可充)或CR2032(3V不可充)电池安装至RTC纽扣电池座。
0 C2 S+ N6 J' o# u4 [- B: l" O# X 如下为时钟相关的常用命令。
* d! O1 k+ K c) w$ ` Target# date9 [5 |7 a5 f* q" g" c- k3 P+ `
6 j5 q' W$ ~) O: l. e0 R% K3 q# b# U) ]8 U6 N8 P' ^5 U
图 26 . ^2 |" c2 i6 ]1 ]' Z
( Q1 u5 M5 Y* W$ G
Target# hwclock -u6 D c, F( m6 E- `" ~
( E1 P% h$ Z' o# o. U
S8 w4 h8 Q$ a. z- N
图 27
4 o+ R: b" b& y; _3 j V3 D' G3 J. y I+ @# V6 j
- 设置系统时间
* A4 }0 p, D) }9 H, `5 M4 D2 U } Target# date -s "2022-04-15 08:30:00" //设置时间:2022年4月15日8点30分00秒0 t7 W5 U" Z+ c
Target# date
- e3 Z/ G% E( i! d9 _# U
& N% p0 J) m% h/ m
1 S5 {5 {% [7 D% o7 j, p 图 28
Q- Y P, k6 B! r- ?9 a1 L
1 e' Z0 C7 P/ A. X8 |! @ - 同步系统时钟至RTC时钟* P3 a3 o1 W5 \- Z4 S1 t
Target# hwclock --systohc -u
2 V; d5 u; B' A+ g2 R* f5 \ Target# hwclock -u
. |% P, T! A+ r7 k
) l; p1 ~( p! U6 b5 v* s4 ^8 P" p; R H$ R% X1 r$ X0 i
图 29 6 H1 G) l" [2 l; g! f* z* M! Z
N. f) B4 ], C4 c$ K - 同步RTC时钟至系统时钟! [) \" k9 i2 q# a
Target# hwclock --hctosys -u7 g$ ^+ [+ Q/ _/ f2 H8 g
4 F0 A# h# K/ e0 g7 ?/ H# g
8 g, I9 E/ a: c2 t 图 30 % ?! l; b) n4 b1 w5 ^. ]
& W8 e2 ]2 [, Y- u6 ?
DDR读写测试 DDR读写速度受实际情况影响,测试速率以具体情况为准,如下测试数据仅供参考。
`1 u1 A& J4 `2 h# q2 R - DDR读速度测试/ f0 q5 t. j2 @8 N9 z E
进入评估板系统,执行如下命令对DDR进行读速度测试。
& m; @: A+ n! B5 F7 D& Z, C Target# bw_mem 50M rd+ P+ {- ~. j- y" `5 B; c( n+ q
! V- J( [( P, `# h6 c
# ~# Y' X) d- @/ G5 U' A& `, U 图 31 1 e; N1 R0 ~. U* [8 z: [
2 w* s+ m8 Q# ]1 e0 q 测试从DDR中读取50MByte数据,可看到本次测试的读速度为1014.05MB/s。
, j0 T( m8 T. ~# o' D( i - DDR写速度测试# Y6 h) S+ p# _% v
进入评估板系统,执行如下命令对DDR进行写速度测试。- D w- C/ O. ^1 e- x9 F1 ]5 s
Target# bw_mem 50M wr3 h/ m9 s" ?2 o B+ l1 A1 o
( w" N, I, q4 I" [5 W7 k( M: m
4 A( R" e6 }9 i
图 32 ; d+ Z. g- p3 E5 R. d9 k$ m# K
: R6 _- q# J5 N
测试写入50MByte数据至DDR中,可看到本次测试的写速度为492.39MB/s。
# i }- T, K. r$ y - DDR拷贝速度测试3 {6 p% |& W4 v8 O' Y
进入评估板系统,执行如下命令对DDR进行拷贝速度测试。
( c$ p( }! {3 U& n Target# bw_mem 30M cp4 K2 @0 s" \7 M1 z1 _
- O) L9 c. }3 _3 E$ I
3 V0 k$ ]+ W/ U, A& k6 R7 ?$ g% P3 U6 K 图 33
& e+ w* I1 v/ o+ q/ [( q
' I0 L0 z4 e$ U9 I r/ o1 V5 a 测试拷贝30MByte数据至DDR中,可看到本次测试的拷贝速度为255.96MB/s。
2 \0 V( w0 w7 A& t; D& B/ t
3 ?4 t( E' ]1 b' J- ? |