EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
; z% {. h' O6 ]. s6 x
前 言7 D" J7 V9 f2 A
9 B+ `4 `6 e& f0 `7 L$ G
本文档适用开发环境:/ [0 x1 F9 ]8 } T7 n2 n1 ?/ j. w
Windows开发环境:Windows 7 64bit、Windows 10 64bit
/ w- T% u+ x# n5 j 虚拟机:VMware15.1.09 R N% L) [+ P+ M* s. m3 ~
Linux开发环境:Ubuntu18.04.4 64bit
- p& @( n1 v, |, P8 ^, [ U-Boot:U-Boot-2020.043 I, _8 K4 Q0 U( L5 S( {
Kernel:Linux-5.4.706 } C4 L' n A+ y: @" M- v( \( W
Linux SDK:5.4.70_2.3.0: R6 d: @" `4 J3 A7 Q! q
进行本文档操作前,请先按照调试工具安装、Linux开发环境搭建相关文档,安装SecureCRT串口调试终端、VMware虚拟机等相关软件。
6 g- L5 W9 B4 z4 ? N7 l7 I 本文档主要提供评估板的硬件资源测试方法。无特殊说明情况下,默认使用USB TO UART1作为调试串口,使用Linux系统启动卡(SD启动模式)启动系统,通过路由器与PC机进行网络连接。
, }$ Z# l- L9 H: P. h 基于测试板卡:创龙科技TLIMX6U-EVM是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗处理器设计的评估板,由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
% G+ V$ T% w. Z: F" m$ R 评估板接口资源丰富,引出双路网口、双路RS485、双路CAN、三路USB、多路DI/DO、LCD等接口,板载WIFI、Bluetooth模块,支持LoRa、NB-IoT、Zigbee、4G模块,可选配外壳直接应用于工业现场,方便用户快速进行产品方案评估与技术预研。
Z, f9 Z! [1 B$ ^' R# i# `* L3 [- [ f! d) \# \! G. t7 R3 O
; G: c2 y2 J: x" U& V1 c% ~ ![]()
0 n0 a. N" g b# X
5 R7 N3 ~" s9 {! `- n$ B 评估板快速测试
# z0 a0 Q# X$ d0 ~2 h! s 系统启动测试 接入电源,并使用Micro USB线连接PC机和评估板的USB TO UART1调试串口。打开设备管理器,确认评估板USB TO UART1调试串口对应的COM端口号。* j6 `# [- H- Y
图 1 ! Q5 h2 v5 S' h. q" Y
图 2 8 c& }% r3 H0 G* t' d, Z& T, f8 ]
打开串口调试终端SecureCRT,选择对应的COM端口号,设置波特率为115200,8N1,无校验位。建立串口连接,如下图所示。
b8 B; ?7 Q1 M+ |, v
2 e+ C+ U9 {0 D1 e' [; n7 b$ I* O; G2 U
图 3
6 M; G3 _3 X; Z( R; s0 ~ 将Linux系统启动卡插入评估板Micro SD卡槽,将启动方式选择拨码开关拨为010100(1~6),此档位为SD启动模式。将评估板上电启动,串口调试终端会打印如下类似启动信息。& K' R# [# r- R% T# T5 M, t
* k1 b) ~& I/ `5 d
: l7 ^! X) r# q. l$ N) U6 X 图 4 $ q& a& t$ H( r6 O4 @* n; E- p
1 H) @; B+ r+ t2 W4 B
图 5 ( O* L: o+ @, y) j8 i
备注:由于我司提供的Linux系统保留了部分官方驱动配置,且实际未使用到相关驱动的部分功能,因此在内核启动过程中驱动会打印部分警告信息。此类警告信息不会影响系统的正常运行,请忽略即可。
- x0 Y- ] z j( ?1 r0 |
8 Z9 f8 V9 D" w* m) n, U$ Q" m( A9 z, m) \5 x u
图 6
6 \4 y8 g9 b1 w3 x3 @5 Z 图 7 1 S' o l* g* e* k- ^* R0 |
5 B7 Q7 b, H3 l
核心板LED在系统启动过程中的变化说明如下:
$ }* y" n+ y9 N1 B" b( n 评估板上电后,电源指示灯LED0点亮;随后U-Boot第一阶段启动,LED1点亮;紧接着U-Boot第二阶段启动,LED2点亮;直至内核启动运行时,LED2熄灭,LED1进行心跳闪烁。
& I$ b3 _* L/ e( Q" I: d 图 8 1 [6 x8 `4 j4 u! s2 k
1 Q5 D: u! `2 J4 V 系统启动后会自动登录root用户,说明使用Linux系统启动卡启动评估板成功。
% L3 ^- Y7 t8 ]$ K) x7 r9 @$ t$ m
F9 r( {. a2 i- B* W# R% u; |2 E( H0 R# G# Q1 b
图 9 如需从NAND FLASH启动评估板,请执行如下命令,一键固化Linux系统至NAND FLASH。
# N- i& s) y. v( |; L+ L Target# /opt/tools/mknandboot.sh
" A0 W% C" ]" F' Q
3 W6 N- S- a% _5 N; y' p: `! X* K- ~4 X) O* u5 Y
图 10
0 u4 t; g7 a( i 图 11
& |/ B( V' P, @% P" |
$ c/ L% ^8 A6 v" g6 y) E) |4 S 耗时约5~10min,NAND FLASH成功固化Linux系统,同时串口调试终端打印提示信息。评估板断电,将Linux系统启动卡从评估板Micro SD卡槽中取出,将拨码开关拨为011000(1~6),此档位为NAND FLASH启动模式。# J% }# b) T- ~3 \6 ~
评估板重新上电后,将从NAND FLASH启动系统。4 f6 H' Y' K( u3 {/ V V% d
! Z3 }/ x3 }- G+ m2 n
/ x o7 K! J+ x* ^ 文件传输测试 PC机和评估板之间传送文件的常见方式如下:: \, \# ?/ Q: e; n+ c, g' P
- 通过Linux系统启动卡、U盘等存储介质方式拷贝。
- 通过NFS、TFTP、OpenSSH等网络方式拷贝。, h2 A3 }: G5 o7 o
% |$ b G9 e s+ S2 g, F' r0 k
通过Linux系统启动卡 将配套的系统启动卡通过读卡器插至PC机,然后将文件拷贝至系统启动卡的BOOT分区,如下图所示。
9 ]* g6 o6 O5 J! @& l. G
% f* A4 \/ b6 _5 h" G) d+ ~# j z% W5 U; }+ i- N
图 12
. ?2 e# c$ g. n9 I& D0 \: b9 O
% P& T( q" \+ R+ S. J& g! L 将系统启动卡插至评估板Micro SD卡槽,评估板上电启动系统,进入文件系统执行如下命令查看分区信息。系统启动卡的BOOT分区挂载在评估板文件系统"/run/media/mmcblk0p1/"目录下。( t8 y. s9 n# e. d1 {+ T Y d
Target# df
( f! d. U1 F6 p! q Target# ls /run/media/mmcblk0p1
/ N; F/ L$ \' `0 f2 `+ H
9 ~5 E# y$ e* @5 E' @
7 k* j3 h% R. P# m0 q. _5 {# o 图 13
( y8 ?0 E# U4 o2 [1 Q( r+ \
! Z. |7 q' j3 N$ D* A; C 通过OpenSSH OpenSSH是SSH(Secure Shell)协议的免费开源实现。SSH协议族可用来进行远程控制,或在计算机之间传送文件,评估板文件系统默认已支持SSH库。
* _$ ~* \) T& a" w0 [ 在Ubuntu系统执行如下命令,查询是否已安装OpenSSH。, _" B4 \7 [4 n: j' j7 M4 V
Host# ssh7 B: f+ b: G1 V2 K
% B7 T2 l8 ~6 c& F/ q/ V5 P6 _
% u, |- g: G) Z& _4 ~% e 图 14
4 H0 a! w; C' M+ ? f' P# ~' o9 @6 `" g) a* R3 b
可看到系统已自带OpenSSH。如未安装,请先自行正确安装OpenSSH。, z, ?% W# L; Y7 f, ~) |
将评估板ETH1 RMII网口通过网线连接至路由器。在评估板上执行如下命令可自动获取到IP,如下图所示。"-i"用于指定网卡,eth0为网卡名字,请根据实际情况修改。
& y$ \- `5 I6 E* T! T" I2 ~. q Target# udhcpc -i eth03 q4 F o9 O7 {9 |" G* I0 A5 [* m
. x5 C, y8 X) a$ `
2 B5 e* B4 ]5 E7 S' O 图 15 , L$ y% q* u" Q; k/ y
) P- d, g; E3 z0 N
执行如下命令可查询IP地址。本次查询到的IP地址是192.168.0.237。
% W6 f6 X& x; \. X' W0 P2 s3 F! ? Target# ifconfig
( C: b, k& O4 }' g+ f1 j* g) U+ w: b+ Y1 `& b6 q3 `/ U
9 l# M% r. F+ F7 } ^
图 16 6 N" D% n, C- o
* l, L4 D5 \: G0 I+ H$ D
- 使用OpenSSH从PC机传输文件至评估板8 l m8 l4 [/ ?. I% `7 C
执行如下命令在Ubuntu系统中新建文件test1,并使用OpenSSH命令将test1文件拷贝至评估板文件系统根目录。
T$ J: F* h& `- | Host# touch test1 //新建文件( g1 H b2 X: E, s
Host# scp test1 root@192.168.0.237:/
# p1 m; |: z+ E: e ]1 A- |' j9 ^5 ?) \: K
) } p, b0 M: k, S4 ?: s% s$ _ 图 17 0 C) {! I5 d; [
2 M0 g8 U$ u9 w- ?/ S
如出现提示"Are you sure you want to continue connecting (yes/no)?",请输入:yes。1 j0 Z) {( t; f- k% h ?: I! Y5 z
在评估板文件系统执行如下命令可看到从PC机拷贝的文件,如下图所示。; Z0 w3 _$ }9 h. N& {" R; }
Target# ls /
8 k0 o: N5 P/ m( R! n
$ R8 p) X: I' d. R1 w6 F$ c8 J# @1 @) V% e
图 18 + L" x- s. d/ N4 u% a3 d
& a# _* Y! ^) y" L; H+ } - 使用OpenSSH从评估板传输文件至PC机' Y3 o7 C r* w
执行如下命令在评估板文件系统根目录新建一个测试文件test2。9 R) d3 a" A- f7 r- B( e$ v5 B# N
Target# cd /
1 G4 m$ ~- X) s$ }- X2 g0 Y Target# touch test21 C$ Q7 O7 F, ]) K
( o F8 }/ J7 L3 e' h
/ ~6 ~% c3 J9 [) k5 _) w5 X 图 19 ! i8 n0 t E) B& B, D: K
2 N, F1 W3 _/ l3 c 在Ubuntu系统中执行如下OpenSSH命令将评估板测试文件test2拷贝至PC机"/home/tronlong/IMX6/"目录下。如传输内容为文件夹,请在scp后面添加参数"-r"。+ o9 K! _1 p5 q/ |& E! S
Host# sudo scp root@192.168.0.237:/test2 /home/tronlong/IMX6/
. O7 j* O/ [- s, B l* E Host# ls /home/tronlong/IMX6/
; j8 x1 A" X+ C) l+ u" g8 X8 Z* R8 N1 u7 I9 Q( Q+ x
# |/ S+ N8 y* j% T4 r& f 图 20
9 p) W: h/ v; _* Z; y [. y. L; @( ], j/ b
- 使用OpenSSH登录至评估板文件系统
, [7 Z0 W5 ?0 B' l4 c" D1 U 在Ubuntu系统中执行如下命令可通过OpenSSH登录评估板文件系统。: M1 r- w x9 Z ^3 `2 m+ v1 `4 i
Host# sudo ssh root@192.168.0.237
7 o5 B; v8 t) O" q. S3 o, J/ q3 X
. Q1 a; R9 g, g+ [
: A7 _& l( m5 n" B; j$ C# A4 C 图 21 k. ?/ z l0 k( n. u
) P1 S7 w: q) U
如需退出登录,请执行exit或者logout命令。
/ N6 ?) l& D- R/ m% n LED测试 进入评估板文件系统,执行如下命令逐盏熄灭、点亮评估底板LED。& D X7 W% A3 {. P1 j" l
Target# echo 0 > /sys/class/leds/user-led0/brightness //控制LED1灭
& j* x6 v e2 j( B3 z9 P$ m8 `+ [ Target# echo 1 > /sys/class/leds/user-led0/brightness //控制LED1亮
& e1 j( m3 l# R3 U& g" P Target# echo 0 > /sys/class/leds/user-led1/brightness //控制LED2灭
* I# g/ {6 _% N9 \% J) F Target# echo 1 > /sys/class/leds/user-led1/brightness //控制LED2亮
0 j. d g: v* g( f e7 j4 h% W3 l0 c! ]" K8 g) [
/ G/ |( p. x; y
图 22 ' m. |7 k. }; U0 D) ~
- S7 |% n, h% o' g& @2 K; M
按键测试 用户输入按键测试 评估板包含两个用户输入按键KEY2和KEY3。进入评估板系统,执行如下命令查看按键事件号。
: _2 W& M0 K8 e; R! f Target# cat /proc/bus/input/devices4 J1 G0 M4 y/ t" h
' k( @0 A$ r! Y5 `. [+ h" m0 `3 O5 Y
图 23
. q: P+ r4 w) I H8 E5 r2 [3 T7 O* H6 o% Q) Y8 b3 J
从上图中可看到按键事件号为event1,执行如下命令,分别按下KEY2、KEY3进行按键测试,串口调试终端将会打印如下类似信息,其中"0094"表示KEY2,"0095"表示KEY3。按"Ctrl + C"可终止测试命令。9 D3 f9 A. i$ U1 c9 R
Target# od -x /dev/input/event1
/ _; ]1 o0 X2 i7 v- L% Q. ]% J; o. h3 ^7 G0 a
. ~) C, w# I' m 图 24 U9 I, }- B2 a% f5 u! i
4 c# `5 r! l2 o, | ON/OFF按键测试 评估板上电启动后,长按ON/OFF(KEY1)按键5s,系统将休眠,同时核心板用户指示灯与电源指示灯全部熄灭。接着长按ON/OFF(KEY1)按键1s,系统将重新启动,同时串口调试终端将会打印如下类似启动信息。
2 p! @, n- b/ \4 ~, k+ V: a+ F1 c5 ^$ J7 w1 w) a, A* }# W
6 J; F4 n5 g3 i- ]0 s( ?6 y 图 25
. r% [- F* G- [4 m0 W3 B t# z( d* W6 I- {; H
时钟设置测试 Linux系统中分系统时钟(软件时钟)和RTC时钟(硬件时钟),系统时钟掉电即会消失,RTC时钟在安装电池的情况下会长期运行。
Y' e7 _7 G- u. \8 q( B" @ 如需使用外部RTC时钟,请将ML2032(3V可充)或CR2032(3V不可充)电池安装至RTC纽扣电池座。' `7 X B$ e1 g% @2 D) l
如下为时钟相关的常用命令。
2 V4 y5 ], ?: f1 E! X8 i - 查看系统时钟
! q( R& z: @* g: |/ Q Target# date% l( W1 y6 W, d. D+ |% G& f
* V2 Q$ o$ X% R4 w0 y
i6 C: L. M7 z7 s7 v- j 图 26 0 w% \8 {0 Y9 M! B
: g/ q* [( f) z
- 查看RTC时钟1 a' p. m3 U; W) x% y
Target# hwclock -u
1 F; c( X! p$ O4 L* W# d# {
$ C. I* g9 D8 j* R: v/ u6 s8 R3 R& E j) T* i
图 27
1 ~0 B# |1 ^ t- }9 M& }8 x
3 n: p4 ^7 ~0 l: a7 q - 设置系统时间
3 H9 a+ k' _- H; h8 r Target# date -s "2022-04-15 08:30:00" //设置时间:2022年4月15日8点30分00秒
* Y6 n8 M% y! _- X1 [7 k1 t Target# date
0 @& h; x6 w& O
5 I; u0 f/ b8 ?3 D9 R( h; {8 b% X
" i; B1 H/ l' ]& n6 N( n$ r5 | 图 28 B. t6 p+ [% `5 z1 o) \; K
- e, V* G" D2 X& K# Z" X& c
- 同步系统时钟至RTC时钟- K; i* p T4 Q' r# y
Target# hwclock --systohc -u
, G% o8 \( N1 b Target# hwclock -u, p" [5 S) ~1 T2 j* f1 b
$ \9 w/ [# M! c0 X3 i7 [
: X+ [+ D. H% Q2 z" \ 图 29
& A5 c5 b8 j% X
2 U$ E, a4 l. h/ f8 i9 |1 U K1 i - 同步RTC时钟至系统时钟$ W* P; H- i2 g9 Y
Target# hwclock --hctosys -u
5 Y& y& y6 Y3 @8 i2 E
/ U2 T! a+ ?* `. U% O9 A! q) \4 l9 {5 y) r8 O
图 30 ! ~: @" G4 @' {" Q" l y* P
8 V K: I) M! ?1 P
DDR读写测试 DDR读写速度受实际情况影响,测试速率以具体情况为准,如下测试数据仅供参考。0 A3 Q9 _( }% @9 Y/ X0 B
- DDR读速度测试: B9 j: d0 {. f( k1 y
进入评估板系统,执行如下命令对DDR进行读速度测试。
; B* ~' l8 K5 u+ r) ] Target# bw_mem 50M rd
H' W! P7 T6 J9 D3 n J
3 \- U ~! ^% S/ f5 Y9 V- Y3 g- c
图 31
" E' G$ v# L3 L% @, V, Y
" ?, ]6 i- v6 ?! f% F6 i 测试从DDR中读取50MByte数据,可看到本次测试的读速度为1014.05MB/s。6 Q9 J+ i- U& q0 y, g% b/ A/ M, q
- DDR写速度测试( N2 K& w+ o: P$ B: @
进入评估板系统,执行如下命令对DDR进行写速度测试。
% [% G1 G/ s& J/ r. r Target# bw_mem 50M wr
; l2 j4 H. w/ g5 ~7 b) f- V* g
: W" M* @1 A# Q& N( v& e2 l3 F* i+ ~' n; R, d
图 32
$ s) |" @, h! K8 x* J h
' ]. g: M! K/ r' ? 测试写入50MByte数据至DDR中,可看到本次测试的写速度为492.39MB/s。6 b5 r( k: n! q4 y U
- DDR拷贝速度测试
% c: n8 L1 a- I' B# l" O 进入评估板系统,执行如下命令对DDR进行拷贝速度测试。
4 F; H0 c, F' A# U; `6 x# M$ E Target# bw_mem 30M cp
$ B# ]$ p6 D* M; r$ C4 ?/ d' r5 w$ O2 L( Z3 c- b1 F
+ p% e/ Z" r9 C- D% v
图 33
9 ~, d `2 e+ g; X- I/ m6 k0 f: ~
测试拷贝30MByte数据至DDR中,可看到本次测试的拷贝速度为255.96MB/s。
4 C3 }( d& X! k& m
- h G1 K% I7 c |