EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
' i9 k% l' y- C: r
前 言2 ~# z: J- p. ]! p2 P
# b$ B g( Z$ o& ]2 O
本文档适用开发环境:/ v+ e g# y# D- x' _* k6 V
Windows开发环境:Windows 7 64bit、Windows 10 64bit$ `: q" J9 ? \: }
虚拟机:VMware15.1.0
+ {) Y+ c- F5 g Linux开发环境:Ubuntu18.04.4 64bit
) w# b9 I) D7 n' G2 X- { U-Boot:U-Boot-2020.04
2 \4 R5 X( U0 P Kernel:Linux-5.4.70
; ]& H7 L& L6 z, C$ b0 |/ M6 T3 l* h& U Linux SDK:5.4.70_2.3.0
; F% ^' L: {! ?) g: _ A7 | 进行本文档操作前,请先按照调试工具安装、Linux开发环境搭建相关文档,安装SecureCRT串口调试终端、VMware虚拟机等相关软件。! j. z- l; E. d, ~
本文档主要提供评估板的硬件资源测试方法。无特殊说明情况下,默认使用USB TO UART1作为调试串口,使用Linux系统启动卡(SD启动模式)启动系统,通过路由器与PC机进行网络连接。
* H# Y8 l& R9 K) n8 Y+ \' @* m# R 基于测试板卡:创龙科技TLIMX6U-EVM是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗处理器设计的评估板,由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。1 m1 L e1 o0 a0 h; [. j7 w
评估板接口资源丰富,引出双路网口、双路RS485、双路CAN、三路USB、多路DI/DO、LCD等接口,板载WIFI、Bluetooth模块,支持LoRa、NB-IoT、Zigbee、4G模块,可选配外壳直接应用于工业现场,方便用户快速进行产品方案评估与技术预研。/ U1 A, h V* W, _! m. b
0 I( J/ L( I, Z7 B7 Z1 L; c9 {* s0 m4 [# V
![]()
- p! ~$ h* S- g) @
6 K2 |/ K `& X4 @. H9 g 评估板快速测试2 O! E; ]4 V0 E+ P# l* A
系统启动测试 接入电源,并使用Micro USB线连接PC机和评估板的USB TO UART1调试串口。打开设备管理器,确认评估板USB TO UART1调试串口对应的COM端口号。
/ z( g; p2 j: z 图 1
/ v/ u. ^; ^5 D; t0 b& f$ r0 q 图 2
% p, J7 p5 q7 E' A# r4 e9 E 打开串口调试终端SecureCRT,选择对应的COM端口号,设置波特率为115200,8N1,无校验位。建立串口连接,如下图所示。 W: w+ e1 I. y! z# l# G, x
3 c- ]% F1 g# ~
) r4 t8 b8 q% W) B( V 图 3 ; P. t5 d9 I+ ^
将Linux系统启动卡插入评估板Micro SD卡槽,将启动方式选择拨码开关拨为010100(1~6),此档位为SD启动模式。将评估板上电启动,串口调试终端会打印如下类似启动信息。& J# J z3 ]' y. f7 q" r
( ~. m% [+ P1 c: N3 q
% J" ]; D: z d& w2 q9 y1 H 图 4 * N i% {3 t$ u# y: {
# p4 y) a$ M$ m
图 5
9 r% a/ H5 n I4 o' B 备注:由于我司提供的Linux系统保留了部分官方驱动配置,且实际未使用到相关驱动的部分功能,因此在内核启动过程中驱动会打印部分警告信息。此类警告信息不会影响系统的正常运行,请忽略即可。* `, N# e @6 h+ N5 B
- ?2 b$ w: `6 F0 s" ^6 s. Z
3 D. Q2 e ~" e7 M0 O7 Z 图 6
2 h6 Q; t) f4 N. F1 T$ R# S 图 7 8 v v8 E& _. `* P
. A N- z: C+ {& m" G0 m @' r 核心板LED在系统启动过程中的变化说明如下:; e! s1 T1 p" T, V |
评估板上电后,电源指示灯LED0点亮;随后U-Boot第一阶段启动,LED1点亮;紧接着U-Boot第二阶段启动,LED2点亮;直至内核启动运行时,LED2熄灭,LED1进行心跳闪烁。
# w) Q' b3 y4 }5 } m8 t5 }1 E 图 8
3 `* X7 d( j5 F2 Y
# [$ ]; g4 Y6 Q; i* Q& x, Q 系统启动后会自动登录root用户,说明使用Linux系统启动卡启动评估板成功。
4 l& _) y" A& Z2 ~+ @0 ~+ h0 O# x0 Q3 c3 d. m
: a5 ]( g: E U0 x# G& q: Z, [
图 9 如需从NAND FLASH启动评估板,请执行如下命令,一键固化Linux系统至NAND FLASH。# m9 l: h; M _( ~$ R
Target# /opt/tools/mknandboot.sh
* X' o. [6 s6 P5 K v/ A
) n+ `% C2 {4 u* h/ @, t9 O8 _7 A/ z3 y9 ?8 |
图 10 ! h1 \+ n/ l# V) s8 a- z/ Y
图 11 ; i# W7 H. B! C
" F n7 [! ^( M2 N
耗时约5~10min,NAND FLASH成功固化Linux系统,同时串口调试终端打印提示信息。评估板断电,将Linux系统启动卡从评估板Micro SD卡槽中取出,将拨码开关拨为011000(1~6),此档位为NAND FLASH启动模式。
$ V! I; \, |2 w* |) _& S" H2 K 评估板重新上电后,将从NAND FLASH启动系统。
) Y. t& m- u$ _1 U* o L! r* E1 Z1 V6 ]; `& }
5 [, O7 P- o1 {" X+ l* Y7 c
文件传输测试 PC机和评估板之间传送文件的常见方式如下:
3 ^7 c, Y* J! O2 t, ?1 k - 通过Linux系统启动卡、U盘等存储介质方式拷贝。
- 通过NFS、TFTP、OpenSSH等网络方式拷贝。, ?+ [7 E# G- S) V
4 M# _3 g' A; x% |# J" e
通过Linux系统启动卡 将配套的系统启动卡通过读卡器插至PC机,然后将文件拷贝至系统启动卡的BOOT分区,如下图所示。, L* p: X5 s) G; D, O: I. p/ n
: S: U! _ h% W7 z! ]2 ~' s. J2 Z$ H2 s; b; r" Q7 N
图 12
: ^8 m+ R" Y0 D6 J& [! B' X
/ Q! ]- ?( R4 ~* q, z 将系统启动卡插至评估板Micro SD卡槽,评估板上电启动系统,进入文件系统执行如下命令查看分区信息。系统启动卡的BOOT分区挂载在评估板文件系统"/run/media/mmcblk0p1/"目录下。& z) q- g2 g8 C0 b. H$ g ^3 i$ _
Target# df0 z4 A7 |8 Q1 M
Target# ls /run/media/mmcblk0p12 G9 \2 ~* H$ @# R; G9 j" o" y( P
# A' G# Q8 E' S* I+ v R* R, f, n( G2 ] V$ p, @
图 13
/ {" s: ~! J+ S2 w# P6 ~: J2 U' F2 q8 a* S: k2 J
通过OpenSSH OpenSSH是SSH(Secure Shell)协议的免费开源实现。SSH协议族可用来进行远程控制,或在计算机之间传送文件,评估板文件系统默认已支持SSH库。
* D4 [; _: j' r/ p& m 在Ubuntu系统执行如下命令,查询是否已安装OpenSSH。. F5 \0 \7 f, J# t- g' S4 C8 z
Host# ssh! j& o' _3 @( V: Z9 n0 _
9 e+ S# `. J$ m. u Z3 P3 F1 C
/ `; x1 \8 ~3 [+ O7 C 图 14
/ ? v+ k3 j4 z' s; m
5 a, a2 p. V( ~* A, e 可看到系统已自带OpenSSH。如未安装,请先自行正确安装OpenSSH。
7 p# ~% \' e" F: ]8 B r2 R 将评估板ETH1 RMII网口通过网线连接至路由器。在评估板上执行如下命令可自动获取到IP,如下图所示。"-i"用于指定网卡,eth0为网卡名字,请根据实际情况修改。 w* D3 w" U8 g* \ R D5 @& a3 E
Target# udhcpc -i eth0: {# U1 l( ~; C8 X) z# h. t0 \
% M. K2 E6 w. S, ^0 a8 H0 _' U! C0 B+ Q8 x) y3 l
图 15
& n, C9 @7 ?6 x' l; w
3 W; O. N8 M, j; Z 执行如下命令可查询IP地址。本次查询到的IP地址是192.168.0.237。2 v9 A" v; A8 M" L$ g. e5 W
Target# ifconfig
# C5 I: Y) _% w/ t
1 e/ Z$ L6 K, y) _2 K0 I5 z+ \0 T" T! y
图 16 0 {2 T; z7 b; ^0 y
+ `* r8 \" C+ H# M' G
- 使用OpenSSH从PC机传输文件至评估板
7 N+ `8 x) r) `" B+ V' O7 [ L& H 执行如下命令在Ubuntu系统中新建文件test1,并使用OpenSSH命令将test1文件拷贝至评估板文件系统根目录。; M( [: M% B" [2 a3 M9 W7 W' r, y
Host# touch test1 //新建文件
" h; N6 s1 }# J* e" | Host# scp test1 root@192.168.0.237:/
" d9 f/ k' J( |- z" h
& f) o4 [5 W9 O& s
) G! r$ F9 P& R. c 图 17
5 P! R0 ~. I- e. C0 a8 e
# E2 n" o: \, d$ [ 如出现提示"Are you sure you want to continue connecting (yes/no)?",请输入:yes。
5 p5 A! d7 y9 i7 L1 U 在评估板文件系统执行如下命令可看到从PC机拷贝的文件,如下图所示。
( t5 V7 k" {/ ` @" ]7 p; U Target# ls /! `5 x6 F$ C0 C$ v, \
9 }/ i" `8 `7 U+ w
0 P8 m/ c- C' H, C9 L9 |
图 18
9 U: s$ L5 P# c- R' k4 f5 Z2 x& ^* |6 e, J3 P9 y, n3 X# E1 o9 @
- 使用OpenSSH从评估板传输文件至PC机
3 x L) G0 e& G) n 执行如下命令在评估板文件系统根目录新建一个测试文件test2。. U1 t" {; f9 R) H6 G2 H8 R
Target# cd /
$ N3 d- i: K- v5 G" p# q7 W Target# touch test2, w; N8 ]3 J- E: @' u
# E/ H# [* q; e6 y) w: ~- y+ l
8 }% P9 w. W# J5 B% y
图 19
9 [3 D! E/ H3 i. ^$ B5 x( l- }( l5 N7 i0 [, E5 g6 r5 H4 _' I8 T" e, C
在Ubuntu系统中执行如下OpenSSH命令将评估板测试文件test2拷贝至PC机"/home/tronlong/IMX6/"目录下。如传输内容为文件夹,请在scp后面添加参数"-r"。
) _4 n2 p/ S: k. C, j Host# sudo scp root@192.168.0.237:/test2 /home/tronlong/IMX6/
. O: S5 t" _) [0 E6 Y% w9 p' a Host# ls /home/tronlong/IMX6/
* W* u' i0 e% o0 A! U/ _. J8 [7 B# |1 s8 r2 @: h9 T0 ]
3 w# r) L: [( B# P+ A* _
图 20 " z! V& E" z" v1 Z* s# ~6 W% F
3 D# N" x, P e# E/ @& L% R* a - 使用OpenSSH登录至评估板文件系统) t* I) H, \* e( q- Q
在Ubuntu系统中执行如下命令可通过OpenSSH登录评估板文件系统。8 d! Y3 L9 N, T2 V" f$ r8 b
Host# sudo ssh root@192.168.0.2371 m Y. u& f+ A& b5 p& Z, ^1 p
1 ~0 S' c( S& M) _: x" F% h
! u- S. q" B: L
图 21
% s0 c- [! i) h9 I
2 Y) s! g% i9 s+ y% D4 b# Y# E 如需退出登录,请执行exit或者logout命令。. ~* ]1 u6 }+ u$ y3 ?
LED测试 进入评估板文件系统,执行如下命令逐盏熄灭、点亮评估底板LED。
9 P5 w1 q# J# `0 h- B Target# echo 0 > /sys/class/leds/user-led0/brightness //控制LED1灭& c- i* B* i% u$ R
Target# echo 1 > /sys/class/leds/user-led0/brightness //控制LED1亮
& G/ I" K* p M8 r+ L% H Target# echo 0 > /sys/class/leds/user-led1/brightness //控制LED2灭
+ _8 X( q7 ?, r6 _0 Z' a Target# echo 1 > /sys/class/leds/user-led1/brightness //控制LED2亮
& u) O- b) P1 I' D* x
6 f7 ]9 F6 G$ T1 A3 }
$ q- w `' I8 v0 U! o 图 22
0 j" ]/ ?! m! Z( X3 r$ D* f2 J1 k. t
按键测试 用户输入按键测试 评估板包含两个用户输入按键KEY2和KEY3。进入评估板系统,执行如下命令查看按键事件号。
1 I0 I, k. o+ s7 |9 g7 a8 [ Target# cat /proc/bus/input/devices) ^2 m) t, ?0 F5 @
$ _1 e5 p$ @8 e2 g1 X
. {9 }7 C7 k" A2 v" u 图 23
/ l1 |: q8 Y7 J& a) T7 N( i$ W% N2 W* n7 @$ j1 e" O
从上图中可看到按键事件号为event1,执行如下命令,分别按下KEY2、KEY3进行按键测试,串口调试终端将会打印如下类似信息,其中"0094"表示KEY2,"0095"表示KEY3。按"Ctrl + C"可终止测试命令。$ c: }7 @; [0 e9 H! g+ l
Target# od -x /dev/input/event1! j' `3 l" M. r6 x
2 I+ D, M2 g& G8 G
0 Z. P; @7 A1 N9 _) `8 M 图 24 ' `9 z; R' N5 D8 ^6 D
3 f# M |# F) `1 j ON/OFF按键测试 评估板上电启动后,长按ON/OFF(KEY1)按键5s,系统将休眠,同时核心板用户指示灯与电源指示灯全部熄灭。接着长按ON/OFF(KEY1)按键1s,系统将重新启动,同时串口调试终端将会打印如下类似启动信息。& X& a3 u1 y' {; R
& n: g+ }+ f3 ]* K( d) D( Y2 P; }8 ?. R1 x% {7 f
图 25
/ c C2 f. O" [' j5 a& }8 H$ c s8 g. S8 ` @% O1 X. ?
时钟设置测试 Linux系统中分系统时钟(软件时钟)和RTC时钟(硬件时钟),系统时钟掉电即会消失,RTC时钟在安装电池的情况下会长期运行。$ J1 Q9 t! N( w2 @
如需使用外部RTC时钟,请将ML2032(3V可充)或CR2032(3V不可充)电池安装至RTC纽扣电池座。
: v8 O, O, ~9 X' O 如下为时钟相关的常用命令。
5 h- g$ A" @8 o0 s* S: @- F - 查看系统时钟) g. W3 a) l: b) k: ?
Target# date) p3 |* {# b+ d, M
1 M' o0 }( p0 @
5 M; t/ Q) p- A2 c 图 26 . H# z" D. K* [/ d' D% [
+ S2 X1 |# C' T2 m2 x) y - 查看RTC时钟. q) c- f, s- m6 d( ?
Target# hwclock -u
+ r4 q: w' H+ ^: z6 ~+ M J0 D2 B& ]$ R
$ p% I7 j. C7 X3 D$ e 图 27
6 H/ s. E* f4 f5 J- ?6 u- \7 A3 B* {& I% n/ G& c" \
- 设置系统时间
5 B; |$ e. w$ o7 ^( k- Z Target# date -s "2022-04-15 08:30:00" //设置时间:2022年4月15日8点30分00秒! z: c+ a" i e/ r
Target# date( v+ C7 u8 E) h7 Y
6 Y+ i! g. n- S8 q$ E
" \% h# d6 D$ o# _* t, y. f V 图 28 : C, ]! f; _! ~8 D2 G x! O
/ h) L# Q5 Y% \& l# T# f - 同步系统时钟至RTC时钟
" r( U; O Y9 A e) I Target# hwclock --systohc -u7 d. t; s2 }+ W
Target# hwclock -u7 r+ y1 \* i* m5 o0 [; t# \
9 M& H0 I+ E# J. w7 c
; v u* F4 I+ v 图 29
" S5 \2 O. O3 h/ ]0 T9 r7 F
, S) ~7 F. L3 R - 同步RTC时钟至系统时钟
& x" w9 t% H% `: w( }" ? Target# hwclock --hctosys -u1 W2 L( }5 o" J# r3 x$ d+ i: Q
# N/ X7 c$ _: q3 x9 j9 \: z; C9 C" w( L3 c" F# D
图 30 / g/ [9 p' T: r
. o3 g: j4 Q% ? E
DDR读写测试 DDR读写速度受实际情况影响,测试速率以具体情况为准,如下测试数据仅供参考。
- c9 w! |1 N: I/ I2 g. `) V6 V 进入评估板系统,执行如下命令对DDR进行读速度测试。 r' |% X6 z0 G3 H' z
Target# bw_mem 50M rd
* R/ U3 a1 X" t2 m% x$ X! c }2 \; {& z- z) K0 ? ?1 g
Q# ]1 w. A( z: T+ J
图 31
$ O8 Y3 C0 _' R" n4 A7 [- P* x# y0 \8 j2 n3 T
测试从DDR中读取50MByte数据,可看到本次测试的读速度为1014.05MB/s。) N% _& H$ a/ F2 |4 N, F
- DDR写速度测试0 k$ e' y& |; G" o- L0 T7 K
进入评估板系统,执行如下命令对DDR进行写速度测试。2 P- x4 H8 E# p' `" a# y9 ?' ]: E
Target# bw_mem 50M wr
0 J" T* @ L# |# A: {, w
! l- X" F0 S; L/ n4 ~/ E$ n5 _$ t v4 [1 T6 B: t4 z5 \9 X$ v
图 32 * a: r E, `$ E' K0 a
5 A' O) q3 \; ^) Y* N& u: p- ? 测试写入50MByte数据至DDR中,可看到本次测试的写速度为492.39MB/s。
/ v+ [8 T$ |* ^; Q+ f9 u - DDR拷贝速度测试( d u. V; Q5 U1 t+ M' K7 a; z
进入评估板系统,执行如下命令对DDR进行拷贝速度测试。
0 C1 o! X0 X$ I Z( r Target# bw_mem 30M cp
# a* k* l6 O3 [) V+ U, r+ ^; o9 \) k7 w* l) d
p x/ f) e I3 C4 Q; R 图 33 / c& D1 A( e! q
$ ]! @7 `2 e7 N* }7 Y8 z. j
测试拷贝30MByte数据至DDR中,可看到本次测试的拷贝速度为255.96MB/s。
8 }- `, u1 ^& p0 I: C7 E) w* k/ g2 C u
|