|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
0 }6 R+ t8 Q6 j, m) o) z
前 言0 n2 u# X/ J& s, K+ b5 I( x
. L3 M# O; M) g' j7 \
本文档适用开发环境:
X" f9 ?5 @/ k4 b N Windows开发环境:Windows 7 64bit、Windows 10 64bit
- e8 P. l/ k" j6 _- L% Y& v 虚拟机:VMware15.1.0 {1 [- a# o' ]
Linux开发环境:Ubuntu18.04.4 64bit
5 f. U& T: a0 w9 i5 Z U-Boot:U-Boot-2020.04
+ ` p' Y* k2 x Kernel:Linux-5.4.70. ^) a1 ?3 @7 P0 g
Linux SDK:5.4.70_2.3.0( h1 x% k [ P1 j4 d' e2 R
进行本文档操作前,请先按照调试工具安装、Linux开发环境搭建相关文档,安装SecureCRT串口调试终端、VMware虚拟机等相关软件。
7 m0 l5 K1 b m2 ] 本文档主要提供评估板的硬件资源测试方法。无特殊说明情况下,默认使用USB TO UART1作为调试串口,使用Linux系统启动卡(SD启动模式)启动系统,通过路由器与PC机进行网络连接。
, m8 p/ h. V; Y) s 基于测试板卡:创龙科技TLIMX6U-EVM是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗处理器设计的评估板,由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
4 r/ M# _3 F* J: \* } 评估板接口资源丰富,引出双路网口、双路RS485、双路CAN、三路USB、多路DI/DO、LCD等接口,板载WIFI、Bluetooth模块,支持LoRa、NB-IoT、Zigbee、4G模块,可选配外壳直接应用于工业现场,方便用户快速进行产品方案评估与技术预研。$ w: {% D, G& H! [) O. K
! a, i9 F8 ~. b4 i$ _* W
3 [1 V' [8 |8 ~6 V X5 Y. v $ n- ?, t/ v* J( y7 t8 ]7 o" J
! j6 O# y9 f! J; J1 K. f! S
评估板快速测试
2 O: D5 E3 L7 O/ Z( \" U' J0 Y N# ?% A 系统启动测试 接入电源,并使用Micro USB线连接PC机和评估板的USB TO UART1调试串口。打开设备管理器,确认评估板USB TO UART1调试串口对应的COM端口号。; J: w4 b- v7 ?
图 1 C* }; D3 I3 {( d% k4 g
图 2
/ ~" U5 i8 J) O# j E3 z 打开串口调试终端SecureCRT,选择对应的COM端口号,设置波特率为115200,8N1,无校验位。建立串口连接,如下图所示。: W' ?. v& q3 R# M/ S
8 m" m' T* |6 H
' F! z! D: R' \ T% g9 z5 r; D 图 3 6 o: P1 Q P1 ^5 G
将Linux系统启动卡插入评估板Micro SD卡槽,将启动方式选择拨码开关拨为010100(1~6),此档位为SD启动模式。将评估板上电启动,串口调试终端会打印如下类似启动信息。6 t0 Y1 ?" o+ ~9 D
3 a/ @& p6 \. K3 y0 m4 a: c
) f5 p4 y: x. j" K 图 4
3 y" c9 _6 E% l" P* ], ^3 T$ c* K% Q
图 5
) n8 L) [. \: T {& { 备注:由于我司提供的Linux系统保留了部分官方驱动配置,且实际未使用到相关驱动的部分功能,因此在内核启动过程中驱动会打印部分警告信息。此类警告信息不会影响系统的正常运行,请忽略即可。
( H$ W0 `+ ~8 R; [8 X/ a0 A
" R7 v) b' g3 i9 [' R& {: ^8 A9 p3 j, u9 B* T7 }
图 6 7 `9 B3 O, {$ h6 I
图 7 3 `- b0 ~$ r: y3 O
! [: C- X! t9 I9 W+ K4 }
核心板LED在系统启动过程中的变化说明如下:
+ e$ G+ e. n) h. z% E6 y 评估板上电后,电源指示灯LED0点亮;随后U-Boot第一阶段启动,LED1点亮;紧接着U-Boot第二阶段启动,LED2点亮;直至内核启动运行时,LED2熄灭,LED1进行心跳闪烁。: H9 X& I% b& Q2 N$ m
图 8 ( `+ F/ N, x) x
0 o1 E; [$ {9 A1 e 系统启动后会自动登录root用户,说明使用Linux系统启动卡启动评估板成功。
) m( o$ T, |) ]/ {
% V' P7 i J2 X) o! l" K( r
( l8 O! l2 f, @4 T$ n: Z4 x- c% R 图 9 如需从NAND FLASH启动评估板,请执行如下命令,一键固化Linux系统至NAND FLASH。- |4 u- [' i& ]. Q6 s |& V
Target# /opt/tools/mknandboot.sh! j/ \# w# W$ U3 b1 q, w2 `
- q& d. f" e) _: D: L* o4 d) N0 k* g8 ~& k
图 10
2 R8 l# Z3 M I 图 11
, q V1 j9 W8 v! A8 [" p1 ?/ F. m8 m& Q& H! n0 `4 E4 Y3 x
耗时约5~10min,NAND FLASH成功固化Linux系统,同时串口调试终端打印提示信息。评估板断电,将Linux系统启动卡从评估板Micro SD卡槽中取出,将拨码开关拨为011000(1~6),此档位为NAND FLASH启动模式。. J$ n; A+ P- R. J5 V0 _5 R! r1 Z
评估板重新上电后,将从NAND FLASH启动系统。
! l+ U4 s+ C$ j) {; p$ \+ [$ h' @" M( Z- Y/ x4 b
# _6 N6 C* t* E( O
文件传输测试 PC机和评估板之间传送文件的常见方式如下:
& D5 o9 }$ ]# @ x$ P - 通过Linux系统启动卡、U盘等存储介质方式拷贝。
- 通过NFS、TFTP、OpenSSH等网络方式拷贝。& Z. H& o! C7 i. u' o
- s3 o0 u) S" P1 u8 A
通过Linux系统启动卡 将配套的系统启动卡通过读卡器插至PC机,然后将文件拷贝至系统启动卡的BOOT分区,如下图所示。
. i3 T3 B( h' s1 G5 S& I6 c. m# o7 E
3 z( |) i( J+ T. e) ~+ f" N- ]: V. J: {! Q- l# ?4 L
图 12 ! a f" g3 ~$ l8 b# M, g
7 D+ K2 v- R( [/ k8 m, H! F 将系统启动卡插至评估板Micro SD卡槽,评估板上电启动系统,进入文件系统执行如下命令查看分区信息。系统启动卡的BOOT分区挂载在评估板文件系统"/run/media/mmcblk0p1/"目录下。% d6 `+ C# z( S: q; U- M
Target# df
) B+ k3 z) q1 r Target# ls /run/media/mmcblk0p1
3 S5 P$ {9 X3 U1 A. `
8 ]5 ^' b `6 A7 Z$ _' o; i* k
7 j4 T, `* M P; t/ j& [ 图 13 w2 G& P/ q2 Z8 }8 L
- J3 N3 [) R$ P, A0 C. W; E) T
通过OpenSSH OpenSSH是SSH(Secure Shell)协议的免费开源实现。SSH协议族可用来进行远程控制,或在计算机之间传送文件,评估板文件系统默认已支持SSH库。' p' r# f$ W F6 m: A5 d& ?. w
在Ubuntu系统执行如下命令,查询是否已安装OpenSSH。) x$ B* }1 [/ ^( U
Host# ssh
! j( h0 x; x- R. T$ w v
. e* c6 y. g, m1 e- o1 a+ B" _
2 k* O/ \1 U8 d( @1 O: x- S0 y8 y 图 14 - {) U; V0 h# e6 l$ Y
# `; h2 f2 w: ~/ |& T* } 可看到系统已自带OpenSSH。如未安装,请先自行正确安装OpenSSH。
6 l: q) Y) O+ j+ h 将评估板ETH1 RMII网口通过网线连接至路由器。在评估板上执行如下命令可自动获取到IP,如下图所示。"-i"用于指定网卡,eth0为网卡名字,请根据实际情况修改。
" p- ]& n- n: n! N. P- | Target# udhcpc -i eth0
3 I X# _1 [! v) Y- X3 Z+ E: m' g: M( n; [
% a# |1 Q" C1 Y! \$ l 图 15
/ c, b( N4 U0 r/ Q
& f3 p$ Q1 T; c9 n 执行如下命令可查询IP地址。本次查询到的IP地址是192.168.0.237。
* J, X/ Q+ h9 ~3 `! p Target# ifconfig
& t/ ~# @8 K& `: l. g$ }- }" M) ]8 d) Z" S0 V, z
/ T' |+ R& T! `+ f
图 16 ; \- }" s9 G" u) W+ c
( u) `4 Y, X; j$ V+ ~
- 使用OpenSSH从PC机传输文件至评估板
- |0 R) Z4 Q. c, k4 l9 Z 执行如下命令在Ubuntu系统中新建文件test1,并使用OpenSSH命令将test1文件拷贝至评估板文件系统根目录。; ], g1 j4 L& N
Host# touch test1 //新建文件% ^ _& A/ {- U" V) C. r+ {* t# M
Host# scp test1 root@192.168.0.237:/
1 c. ~0 i0 a; @6 J6 X
4 ?% p) F" { h, g: W4 }
* I8 e6 ?. {$ H3 ]7 p2 V 图 17 9 {% l" }! Z C, O4 p ~# g/ W- ^
3 k/ O0 Y2 @' @; M7 B a0 D 如出现提示"Are you sure you want to continue connecting (yes/no)?",请输入:yes。
3 s) m$ ]6 \3 `9 s; C- O" x, e% X; ~ 在评估板文件系统执行如下命令可看到从PC机拷贝的文件,如下图所示。
% q: ~! k' i. ~0 r Target# ls /( d& ^! s. T% a9 L
: m7 e9 U# ^* s* \" j6 B8 Z( \# x3 d) h2 ~/ R+ i& G- V
图 18
0 y3 a# s( b, x. _9 \0 L4 I" g5 S% R- ~, ?9 s q8 k% m
- 使用OpenSSH从评估板传输文件至PC机' _- v: o6 x# }. O W
执行如下命令在评估板文件系统根目录新建一个测试文件test2。* x, G) m6 ~' j( g: U, r! y# }% u
Target# cd /
o" @: z& x$ s/ B; p Target# touch test2
0 b/ J# H n- B$ t' | h k% I4 u$ v7 v% ]4 z: k4 y- X" p2 x3 a
+ O. G7 _. b9 M2 k. Q
图 19
( h# B. b0 a$ Z) k8 w( d
8 A* a" e7 U% M' o7 D0 S 在Ubuntu系统中执行如下OpenSSH命令将评估板测试文件test2拷贝至PC机"/home/tronlong/IMX6/"目录下。如传输内容为文件夹,请在scp后面添加参数"-r"。
8 I, N- ] ^/ `, V% ]$ I Host# sudo scp root@192.168.0.237:/test2 /home/tronlong/IMX6/
# d5 t9 X) ?) @- f) z Host# ls /home/tronlong/IMX6/
6 d3 ^7 K- |$ \( M# }4 F; l- o+ a$ Y2 w
& K9 T6 D. U9 @2 w3 ~ 图 20 ; _' Z Q0 ?4 f
, ]7 o# u: w) P - 使用OpenSSH登录至评估板文件系统
3 m* A5 g$ u( l 在Ubuntu系统中执行如下命令可通过OpenSSH登录评估板文件系统。
0 T$ z: a1 X, D4 r Host# sudo ssh root@192.168.0.2370 I& I' M6 `4 ]
. k8 ~4 O9 \4 a$ \
/ e8 W+ N: E' ^ 图 21
( U7 Y0 S, e! V" I* K. P: m( a& u
0 g1 L0 j& e% p- l 如需退出登录,请执行exit或者logout命令。+ a: Y' `6 G$ ?; t% x
LED测试 进入评估板文件系统,执行如下命令逐盏熄灭、点亮评估底板LED。
; V2 z- F, X5 \$ {9 f7 B Target# echo 0 > /sys/class/leds/user-led0/brightness //控制LED1灭3 ^0 P3 e. s8 ~' r% e
Target# echo 1 > /sys/class/leds/user-led0/brightness //控制LED1亮7 W1 y2 }8 f7 k5 }1 Y
Target# echo 0 > /sys/class/leds/user-led1/brightness //控制LED2灭; A1 R# v4 g* a4 a, R
Target# echo 1 > /sys/class/leds/user-led1/brightness //控制LED2亮
$ Z7 r. h3 I% ?6 B f% r* x. }* H& S0 h6 @4 A) T# x% U3 U+ }
. L7 d: u% J/ a* M8 ^7 k 图 22 & K4 Z, v$ R: d+ N8 c5 ?
- m2 ~1 G) Y5 A# I
按键测试 用户输入按键测试 评估板包含两个用户输入按键KEY2和KEY3。进入评估板系统,执行如下命令查看按键事件号。# Y# b0 Q% o9 C/ r/ w% t8 E4 |1 k
Target# cat /proc/bus/input/devices
$ L% V* T$ i) w/ G! V3 F% t, P9 k7 |, p
: Y8 z: d9 t A
图 23
0 s' i4 I( M; F$ A8 p. u( d7 j* _5 q2 B; i$ _
从上图中可看到按键事件号为event1,执行如下命令,分别按下KEY2、KEY3进行按键测试,串口调试终端将会打印如下类似信息,其中"0094"表示KEY2,"0095"表示KEY3。按"Ctrl + C"可终止测试命令。
; ?1 f' W) c! V1 S" H( B, ]0 r Target# od -x /dev/input/event1+ \, N( {& e4 E) S' e
, b1 p8 n3 }; m* ~
3 u7 z) V" A& o- |$ h 图 24
' w" J' c/ k& Z0 {1 t( Q
! f, p4 ^. Q r7 }9 a1 _- l. g ON/OFF按键测试 评估板上电启动后,长按ON/OFF(KEY1)按键5s,系统将休眠,同时核心板用户指示灯与电源指示灯全部熄灭。接着长按ON/OFF(KEY1)按键1s,系统将重新启动,同时串口调试终端将会打印如下类似启动信息。
6 o+ u) ~' M4 Y* L- J4 ] P" `0 {) [, E( t
+ [5 T) h' q1 E$ n4 B, Y* y 图 25 + c, Q5 u, j- O0 z7 }# D& o3 ^
4 \( y# g$ o2 l
时钟设置测试 Linux系统中分系统时钟(软件时钟)和RTC时钟(硬件时钟),系统时钟掉电即会消失,RTC时钟在安装电池的情况下会长期运行。
& r, g+ t: q4 U" u, [. \ 如需使用外部RTC时钟,请将ML2032(3V可充)或CR2032(3V不可充)电池安装至RTC纽扣电池座。' {6 u2 ]: z4 E) Y; A0 `
如下为时钟相关的常用命令。
$ {7 V x. o# K! X8 L5 o* A3 Q - 查看系统时钟
* h+ b9 g5 A8 a9 G8 J( w Target# date9 A3 X! a* `2 \- G( f1 Z7 D+ H# T
$ t& m# k+ h7 m7 R- L& ]0 @, y8 \' i* K1 M& D0 w; V% j! `
图 26 . L0 h3 Y" }$ h
; W( C2 t5 }5 [+ C$ R* l/ L
- 查看RTC时钟
4 i; r( C: O# V2 S9 B P, l$ D Target# hwclock -u
a8 z" n! k0 E
8 X* Q3 v. F9 k9 N8 I" X* C0 s1 A' L' q5 `
图 27 * ^& N1 H: B) s" @/ C& |8 t n
3 w" N1 J6 b4 B1 s1 K- H. u5 {7 ~# O# ~
- 设置系统时间 t% n4 j, n* i3 i4 {
Target# date -s "2022-04-15 08:30:00" //设置时间:2022年4月15日8点30分00秒+ n9 o# S! n' w3 |4 _3 L; [
Target# date
3 c1 X( E3 n5 S
! k5 F! d! O" m) i, e
" P& U7 J' Y3 o 图 28
: e7 _6 I; b+ X G( p
9 r& X* B; Z- J* `* ] - 同步系统时钟至RTC时钟
0 \, j* B: U4 y7 u' l* i Target# hwclock --systohc -u6 ?0 V+ ^4 g: J
Target# hwclock -u
# w6 A5 M" Y' X) D
3 t+ \7 B; w$ r2 G
1 z1 T+ j/ E3 I; {5 J7 k3 W% Q 图 29 3 i6 K$ [. R# O& f- D
" l" O4 P$ v" i6 Y
- 同步RTC时钟至系统时钟) `# ?. f! B/ s
Target# hwclock --hctosys -u
! L! l/ `2 l* S7 e, i" F- C4 N) K5 t% s" {0 N
( J$ q H8 A# R9 ` 图 30
$ p& D/ n* y0 k/ j5 T
( }$ `! J( O, ]( A6 `8 z DDR读写测试 DDR读写速度受实际情况影响,测试速率以具体情况为准,如下测试数据仅供参考。8 H( \( B2 _3 y
- DDR读速度测试: o/ w: T o o& l9 u
进入评估板系统,执行如下命令对DDR进行读速度测试。! E J5 l) e% N$ `: I* O8 l7 W* g
Target# bw_mem 50M rd
8 h5 A" |* t1 w. \" n2 E$ i; H R; [) X4 {$ u! a: l; ^9 C' d
1 @" }% `7 }) i* F- N% g
图 31
' f4 c F5 N: {, O ]- ]- U
5 }* j' V' a+ y9 U8 ~ 测试从DDR中读取50MByte数据,可看到本次测试的读速度为1014.05MB/s。
4 \: F+ H2 j3 a0 p - DDR写速度测试
* R! I2 a. i0 I9 d, q, X, G 进入评估板系统,执行如下命令对DDR进行写速度测试。. |8 m0 z0 i! q; ~. c! l' r
Target# bw_mem 50M wr) S% Z, Q5 s5 F* Q3 t' \) n# y! W
, T) e( O. m2 u: S' {# d0 d" S* E j6 n" h5 A8 z) ]6 B
图 32
. g: Y6 i% m3 I3 v. S$ c0 ~( g" i
: t! {' H& J. l$ s- X 测试写入50MByte数据至DDR中,可看到本次测试的写速度为492.39MB/s。% E C, U0 W1 K6 X' w
- DDR拷贝速度测试
) C; ]+ c3 a x& l: h1 Q" T) J7 s 进入评估板系统,执行如下命令对DDR进行拷贝速度测试。
s: R) Y6 _, \4 ^: b% c% L Target# bw_mem 30M cp4 u4 A0 g" z9 H1 u: X1 Z& \6 V. i
4 O/ u( U4 a8 @; w$ n2 X( x' Y" `* i8 F
图 33 5 t+ ]; g- I: w8 i/ `
2 u9 D& q1 @( a5 n- x" @* M 测试拷贝30MByte数据至DDR中,可看到本次测试的拷贝速度为255.96MB/s。
: n6 a6 n# D+ b" r% ~. y2 x% [9 c1 n: {
C; K4 g' y J. H( I$ F |
|