TA的每日心情 | 奋斗 2020-3-25 15:17 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
前言本指导文档适用开发环境:
! u, J `/ ~- x9 B9 @Windows开发环境:Windows 7 64bit、Windows 10 64bit G. T8 P: C. ?: b
Linux开发环境:Ubuntu 14.04.3 64bit
* I1 h, Y6 E) n- W5 l2 R- A0 Z虚拟机:VMware14.1.1
" T" w' R4 f7 F/ h C/ hU-Boot:U-Boot-2017.01! O: S) {: b3 D, n) x: o6 _* [
Kernel:Linux-4.9.65、Linux-RT-4.9.65
( v5 k. @* \8 H6 s* g) M6 u9 jLinux Processor SDK:ti-processor-sdk-linux-rt-am437x-evm-04.03.00.05" y6 A8 r. r% _+ ^+ D
进行本文档操作前,请先按照调试工具安装、Linux开发环境搭建相关文档,安装SecureCRT串口调试终端、VMware虚拟机、Linux Processor SDK等相关软件。
( `! G1 G( T' i5 H8 |8 K本文档主要提供评估板的硬件资源测试方法。无特殊说明情况下,默认使用UART0作为调试串口,使用Linux系统启动卡启动系统,通过路由器与PC机进行网络连接。% @7 y+ r9 D% U* s+ X! f
+ X9 P) L9 V2 I( g* F
1评估板快速测试1.1系统启动测试接入电源,并使用Micro USB线连接PC机和评估板的USB TO UART0调试串口。
' Z0 W8 Y( ?9 a/ _4 c( Q. v![]() 图 1 0 @: @& q/ [, G
打开设备管理器,确认评估板UART0调试串口对应的COM端口号。0 K( k4 G/ j2 d, N. Y7 A- g+ A; O
![]() 图 2 ![]() 图 3 ( K' k" [; K4 ~/ ?: m
打开串口调试终端SecureCRT,选择对应的COM端口号,设置波特率为115200,8N1,无检验位。建立串口连接,如下图所示。1 c# l, x8 N2 s+ H2 k8 [2 q( M
![]() 图 4
4 W0 `$ [0 y' ~! I1 ^, K将Linux系统启动卡插入评估板Micro SD卡槽,根据评估底板丝印将拨码开关拨为00110(1~5),此档位为SD卡启动模式。将评估板上电启动,串口终端会打印以下类似启动信息。
. L: T% d' V: s/ d6 ?( a8 x![]() 图 5 ![]() 图 6 ![]() 图 7
0 @* F; O% \( F! m2 e9 D在系统启动过程中的LED变化说明如下:
6 u1 o- F* x# Y: C8 g- N/ O评估板上电后,电源指示灯D3点亮;随后U-Boot第一阶段启动,D1点亮;紧接着U-Boot第二阶段启动,D2点亮;直到内核启动运行时,D2熄灭,D1进行心跳闪烁;NAND FLASH进行读写时,D2闪烁。' d/ b6 d1 O3 Y; o9 ?5 }9 S: Y
系统启动后会自动登陆root用户,说明使用Linux系统启动卡启动评估板成功。
+ t* B) t: ]; [7 Z& M. T3 D![]() 图 8
& V7 x* b; L5 t; u! j/ b! |6 |' Z. n- r' c9 D6 ?
1.2文件测试测试PC机和评估板之间传送文件的常见方式如下:) p/ R7 L2 t% M
- 通过Linux系统启动卡、U盘等存储介质方式拷贝。
- 通过NFS、TFTP、OpenSSH等网络方式拷贝。
# _# x) _$ F! U+ Q. c 1.2.1通过Linux系统启动卡将配套的系统启动卡插到PC机,然后把需要拷贝到评估板的文件复制到系统启动卡的BOOT分区,如下图所示。( h( B! q6 m: J( O
![]() 图 9 0 y6 v; H* f4 V8 {& H
将系统启动卡插到评估板,启动系统并执行如下命令查看分区信息。系统启动卡的BOOT分区挂载在评估板文件系统”/run/media/mmcblk0p1”目录下。
& a8 N h: L/ w! n2 B7 W% `Target# df
- w% f9 b' F3 x0 JTarget# ls /run/media/mmcblk0p1
4 @& ~" G" I4 {! T+ P) J![]() 图 10 4 t- t! N+ `3 }% T; F% G, ]
1.2.2通过OpenSSHOpenSSH是SSH(Secure SHell)协议的免费开源实现。SSH协议族可用来进行远程控制,或在计算机之间传送文件,评估板文件系统默认已支持SSH库。
3 t3 l$ s: @, l8 I在Ubuntu中执行如下命令,查询是否已安装OpenSSH。
& ~+ R3 T" ?% ^" _2 [3 Z9 D+ bHost#ssh -v
; B7 a, [+ ?( _+ n0 i7 z1 H/ y! h![]() 图 11
8 A: ~4 j2 N8 q可看到系统已自带OpenSSH。如未安装,请先自行正确安装OpenSSH。
- E/ S( _' t* J, W. h" t将评估板RGMII ETH1网口通过网线连接到路由器。在评估板上执行如下命令可自动获取到IP,如下图所示。"-i"用于指定网卡,eth0为网卡名字,请根据实际情况修改。/ M' K5 U: E( w3 n$ |4 H4 j
Target# udhcpc -i eth07 ]' M* M1 n+ D' L) L& M' ]
![]() 图 12
$ c3 I4 Y- q* _执行如下命令可查询IP地址。本次查询到的IP地址是192.168.0.106。
, m4 V# `, R T& I5 g3 z& n: yTarget# ifconfig' ~% i+ Y3 Y6 N4 G) ~
![]() 图 13
9 e9 y) q9 _, A+ ^! B' G- 使用OpenSSH从PC机传送文件到评估板
1 _, G+ k3 H* g/ z 执行如下命令在Ubuntu中新建文件test1,并使用OpenSSH命令将test1文件拷贝到评估板文件系统根目录。
( m( l0 B0 s3 E; C' Q: a7 M7 jHost#touch test1 //新建文件8 ~5 C' d1 O8 X( P+ U$ K
Host#scp test1 root@192.168.0.106:/
) O: F4 f7 J! J# ~" ?) e![]() 图 14 . m) I1 S+ V; Q* `
如出现提示”Are you sure you want to continue connecting (yes/no)?”,请输入:yes。
( O+ o, v; \) ~# F$ H4 W在评估板上执行如下命令可看到从PC机拷贝过来的文件,如下图所示。
4 S, b8 a) `( U/ |Target# ls /, C, Q' H5 N9 T0 z& g% d
![]() 图 15
: v) z# q. r* J4 u7 ]- 使用OpenSSH从评估板传送文件到PC机7 Q E y0 E1 r0 ?
执行如下命令在评估板文件系统根目录新建一个测试文件test2。. b" Q6 c* T; r1 E7 F4 Q
Target#cd / T* D+ G0 I9 v
Target#touch test2 //新建文件0 m* m Q: y# u& `. v3 F3 N2 R
![]() 图 16 5 A& e8 G' P+ z# q+ x
在Ubuntu上执行如下OpenSSH命令将评估板测试文件test2拷贝到PC机”/home/tronlong/test/”目录下。如果传输的是文件夹,请在scp后面添加参数”-r”。 Z4 e: R# v2 @( d9 _! e, ]; A
Host#sudo scp root@192.168.0.106:/test2 /home/tronlong/test/% g2 x! Q. W0 n
Host#ls /home/tronlong/test/
- h! h+ m7 q, O, U" a$ E( D![]() 图 17 6 @8 h( m( b+ E B. h( W/ D
- 使用OpenSSH登录到评估板文件系统
& Q( t* R6 q2 v! R 在Ubuntu执行如下命令可通过OpenSSH登录评估板文件系统。+ F3 I# ~- i- l( [+ _
Host#sudo ssh root@192.168.0.106
' o# z" T. u8 y/ W: F, C![]() 图 18 如需退出登陆,请执行exit或者logout命令。: r! x5 g; P2 {- s
) V6 @8 P. G# Q3 Z: q1.3LED测试评估底板LED与GPIO对应关系如下表所示。* N5 v* o/ e: ]8 `: Q
7 `- @4 b: \. F5 H& j# N1 i
表 1
( S7 P" N4 J8 p! q( ZD8
" e* V1 q6 b% x | D9
* E( U$ \5 O# _ | D10
; b, h. ~, d2 C, \ | D11
9 U# |( I; i6 ]" X3 b v$ Z | GPIO5[10]) Z( G; U8 y( m
| GPIO5[11]
0 y# e8 M- U3 m2 i W. w' } | GPIO5[12]) l0 @$ n% U: o( |& ?7 t& ^4 Z* @
| GPIO5[13]
9 H* M6 h Y7 y B( G% F% Z1 F" k | # p. h6 ~; w$ @) r& H0 V
- 逐盏点亮LED
0 Q" o* l+ `( I6 C( b6 L 进入评估板文件系统,执行如下命令逐盏点亮、熄灭LED。
+ u1 s$ @# j+ E2 ?Target#echo 0 > /sys/class/leds/user-led0/brightness //控制D8灭
0 g( @4 x& T% r* i. jTarget#echo 1 > /sys/class/leds/user-led0/brightness //控制D8亮: ^! v- X$ H# N( y2 i! j
Target#echo 0 > /sys/class/leds/user-led1/brightness //控制D9灭& c' A p1 R! u% `9 ?+ `
Target#echo 1 > /sys/class/leds/user-led1/brightness //控制D9亮; D1 U. }/ A( D2 ?1 B, A% W7 ~) m
Target#echo 0 > /sys/class/leds/user-led2/brightness //控制D10灭
( D7 Z0 }5 W9 U0 DTarget#echo 1 > /sys/class/leds/user-led2/brightness //控制D10亮/ M* g) r: t3 Q, C1 o4 H
Target#echo 0 > /sys/class/leds/user-led3/brightness //控制D11灭( _* r8 m' u' _1 p) I. h
Target#echo 1 > /sys/class/leds/user-led3/brightness //控制D11亮
" f- Q) G0 b0 q![]() 图 19
0 x0 R9 X" G- V4 y2 n- F4 H# f将产品资料“4-软件资料\Demo\platform-test-demos\led”目录下的led_loop.sh脚本程序拷贝到评估板文件系统。进入脚本程序所在路径,执行如下命令运行脚本程序,循环点亮LED。3 I& i. G4 l7 b
Target#./led_loop.sh3 \/ v# s* k* P* ?+ K
![]() 图 20 6 V/ [1 d" Y# ~* Z/ j6 H! G
可按”Ctrl+C”终止运行脚本程序。
3 I' ?/ C" H0 ]6 Y0 g, X: a6 h在执行程序时,若提示”-ash: ./led_loop.sh: Permission denied”没有权限,可执行命令”chmod 777 led_loop.sh”获得执行权限。
0 I( k2 L8 H( `2 Q) t* h
: i( X0 l' d$ G. A1.4按键测试评估板用户按键与GPIO对应关系如下表。
/ c: P) \; Z% c' p9 v9 Y6 X) u6 C8 d: D
6 v4 @5 k! _; a: G( ^ ]6 t表 2$ |( h$ W+ i: T9 Q
KEY0
! z* n2 c5 w* ^6 W* |, r" o) r | KEY1& O8 K& x- O, L
| GPIO3[7]
4 O7 h& k F9 k | GPIO3[8] o/ R0 ~2 t+ n
| ' {; F6 g, c, x0 [, D( q/ b
进入评估板系统,执行以下命令查看按键事件号。
5 g/ W. W* m1 S8 W) ^3 z j' C' W7 RTarget#cat /proc/bus/input/devices( h% b* U4 n* C
![]() 图 21 $ a6 A2 p w( a( ]' e& A) B
从上图中可以看到按键事件号为event0,执行如下命令进行按键测试。
9 @: {( W5 ^. I+ ~5 i: _Target#od -x /dev/input/event0
' S4 P: j6 n% L先后按下评估板的2个用户按键,可看到如下打印信息。按”Ctrl+C”可终止测试命令。
; B8 s3 [6 Y( G/ A![]() 图 22
0 V$ I8 E# w; P9 F0 v1.5时钟设置测试Linux系统中分别有系统时钟(软件时钟)和RTC时钟(硬件时钟),系统时钟掉电即会消失,RTC时钟在安装电池的情况下会长期运行。: N7 i4 ], J$ e6 [ v) U& L
如需使用RTC时钟,请先安装RTC电池。以下为时钟相关的常用命令。
: o" F |- ^9 ?; g; @+ h, ]- 查看系统时钟
! R/ U% a7 Y7 _) m8 \- [ Target#date
' U! P5 p3 E" O) V7 s: O6 g![]() 图 23
" ?4 P w3 ^; P' Y+ x- 查看RTC时钟% {8 K+ p* h0 I# M- ~7 `
Target# hwclock -u$ Z) B+ u/ b! G. s, `# ~/ O. M
![]() 图 24 " Z) k1 K6 _9 N" ?3 L8 w
- 设置系统时间
1 e! A/ H4 k/ o+ ?% D+ c Target# date -s “2020-08-07 15:27:00”//设置时间:2020年8月7日15点27分00秒0 J4 C% J) i+ d5 b+ }6 K5 k; s
Target# date
' B# o% Z7 `' M7 c; ]+ `" } _0 k![]() 图 25
9 c% e+ f, h+ C7 i, P- 同步系统时钟到RTC时钟
) y8 a" ~& p# S, g, c# g8 o Target#hwclock --systohc -u6 ^5 u1 L2 a S* d' e/ M
Target# hwclock -u
. Z% x+ D c, ~/ F![]() 图 26
2 {& j' C1 a% F8 ^- 同步RTC时钟到系统时钟
$ r& ]" }! Z N# j Target#hwclock --hctosys -u
5 i# g; i* Z/ I; j4 c1 \% v2 y) k![]() 图 27
, d! |; Z- j) H$ Z L/ T# o4 ~3 p3 {8 X. a( j" n
1.6CAN总线测试评估板有两个CAN接口,测试方法为:将两个CAN接口连接,测试两个CAN接口互相收发数据的正确性。
0 W# D: v: L& t+ f7 z( G4 j* N![]() 图 28
8 f9 c! K; q# Z/ P. E请按如下方法连接两个CAN接口。6 D4 ?- M1 b, O. `! ~
- CAN0接口H端子,连接CAN1接口H端子。
- CAN0接口L端子,连接CAN1接口L端子。
- CAN0接口GND端子,连接CAN1接口GND端子。9 H1 ~, E" D" I9 [4 q& L+ e
进入评估板文件系统,并执行如下命令查看CAN设备。
& f+ }3 u+ H: ~9 l$ nTarget#cat /proc/net/dev' P, i, Q% i6 n" h2 @
![]() 图 29
) ~& N( ?2 Y2 ^9 B0 @, n6 U$ Q执行如下命令可查看CAN配置命令的使用方法。
* X8 g! r4 j9 r' Z0 r: PTarget#canconfig --help7 ^8 f% Z% A2 g
![]() 图 30
$ t" d' a0 u* i+ L( ?+ `将产品资料“4-软件资料\Demo\platform-test-demos\can_test”文件夹下的两个脚本程序canconfig-can0-1.sh和can0-to-can1-test.sh拷贝到评估板文件系统任意路径下。在脚本程序所在路径执行如下命令运行脚本程序,测试CAN接口通信功能。9 }' X9 L9 M; n
Target#./canconfig-can0-1.sh: l) o2 U: `9 O' q; Q& r
![]() 图 31 : W" B4 P, r" g& N
Target#./can0-to-can1-test.sh9 ?: Q% A& r' I% _8 t; \5 |: A
![]() 图 32
3 _" Q" j$ s0 F# B9 ]脚本程序的任务是从CAN0发送20帧预设数据到CAN1,同时从CAN1发送20帧预设数据到CAN0,并保存此两组数据到can0to1data.txt和can1to0data.txt文件。
$ ^6 q6 N$ v% n4 b![]() 图 33 ' x3 o P+ L# c- ?0 b) k' C
打开当前目录下生成的can0to1data.txt和can1to0data.txt文件,查看文件内容数是否和下图一致。如一致则表示CAN通信功能正常。
: A5 V. X9 J1 P! B v1 A6 F; _Target#cat can0to1data.txt
2 i/ }0 Y9 h* \% l) `9 A8 XTarget#cat can1to0data.txt
# L# T6 A) w4 e( r. m2 m![]() 图 34
& s: D ]5 _1 C1 ?7 l1.7FRAM读写测试! }2 s$ o6 a+ Z+ G d" a0 Q$ m
本小节对评估板FRAM进行读写测试。8 S# v3 @) o9 E: [
执行如下命令,将字符串数据写到FRAM。
6 u& @2 ?- G0 u& \: I0 DTarget#echo "www.tronlong.com" > /sys/devices/platform/44000000.ocp/4819c000.i2c/i2c-2/2-0050/eeprom
( T) a: l M, \2 V6 `. Y执行如下命令,读取写入到FRAM的数据。
5 s2 D1 i% A! g* A ~9 i' lTarget#head -c 16 /sys/class/i2c-adapter/i2c-2/2-0050/eeprom' b" _8 q- H0 g# O! r
![]() 图 35
/ ~/ X# M3 s- P0 C1.8DDR读写测试Linux系统启动时,在U-Boot阶段完成DDR的初始化,并打印DDR实际容量,如下图所示。
6 e8 t( w K6 q( N![]() 图 36
# ?; X2 U$ Z0 T/ `. |DDR读写速度受实际情况影响,测试速率以具体情况为准,以下测试数据仅供参考。
8 v$ H8 s& b( ?9 e! n3 m- DDR读速度测试
' e0 g- P, ^$ W" P& O 进入评估板系统,执行如下命令对DDR读速度测试。
7 X# M1 p5 P; ]2 ?( ^ C0 wTarget#bw_mem 100M rd
; s; f) M8 n7 z; ~7 |1 z* J8 c![]() 图 37
& P/ j5 [3 Y) [2 k3 T( j7 V测试从DDR中读取100MByte数据,可看到本次测试的读速度约为:375.03MB/s。
2 x+ b+ E, W) q4 H$ G9 x- DDR写速度测试+ B* G9 q( M! b K0 w; Z/ T# Y; q
进入评估板系统,执行如下命令对DDR写速度测试。' G# E! S" ]' q5 R8 G% _9 H
Target#bw_mem 100M wr/ R4 v$ J5 D+ {
![]() 图 38 * o& M% j, H8 I1 V3 d- l/ S
测试写入100MByte数据到DDR中,可看到本次测试的写速度约为:275.43MB/s。
& z3 I8 z5 _% }# C- DDR拷贝速度测试. L! O/ n! T. O% J! h7 j- [
进入评估板系统,执行如下命令对DDR拷贝速度测试。; {+ }. u' a) U+ i" l6 z8 z4 E0 c. X
Target#bw_mem 100M cp! U2 J$ j. W) c2 V3 ~8 q
![]() 图 39 测试拷贝100MByte数据到DDR中,可看到本次测试的拷贝速度约为:195.63MB/s。
' X* M8 f% X" D. e# b. b% R( F4 h: {9 Z& U% d6 J) d
1.9SD卡读写测试本小节使用评估板配套的Linux系统启动卡来测试SD卡的读写速度。不同的SD卡以及不同大小的测试文件,对SD卡的测试结果会造成一定差异。评估板启动后,Linux系统启动卡的BOOT分区将会挂载在文件系统”/run/media/mmcblk0p1”目录下。: T3 |; m8 o: X; B1 V/ k
Target#ls /run/media/mmcblk0p1
0 s7 w( W6 R C; C/ Z7 R1 P![]() 图 40
. Y# O, \) L: f- SD卡写速度测试: ]% S$ p8 b" Z( ?
进入评估板系统,执行以下命令测试SD写速度。- k* W: { B4 G0 a- a; N6 s
Target#time dd if=/dev/zero of=/home/root/test bs=1024K count=200
5 g ]3 }4 B3 Stime命令有计时作用,dd用于复制,从if(input file)文件读出,写到of(output file)指定的文件,bs是每次写块的大小,count是读写块的数量。
9 h5 c& g- M. x9 R4 l* W7 A& X“if=/dev/zero”不产生IO,即不断输出数据,可用来测试纯写速度。
8 b- h- c% Z$ C1 z( ]1 \![]() 图 41 . \1 h* x! n( ^
此处一共写200MByte测试数据到SD卡的test文件,可看到本次测试的SD卡写速度约为:200MB/12.70s=15.75MB/s。5 m# D, R% A2 J# K7 Q" p
测完写速度之后,重启评估板,并执行以下命令测试SD卡读速度。
5 n% R. g' O% K' b4 L1 o4 a0 {7 qTarget#time dd if=/home/root/test of=/dev/null bs=1024K
5 l, N% E) s* T. o: C, J“of=/dev/null”不产生IO,即不断接收数据,可用来测试纯读速度。: t7 L* j( H P* y [
![]() 图 42
( T7 D- ^8 B; i* N+ `此处从test文件中一共读出200MByte的数据,可看到本次测试的SD卡读速度约为:200MB/9.93s=20.14MB/s。/ B% i' b9 H, K& B% D7 z
1.10NAND FLASH读写测试本小节对NAND FLASH的MTD6分区进行读写速度测试。MTD6是NAND FLASH的备份分区,一般存放小型文件系统,大小为32MByte。读写测试会将该分区内容擦除,请做好数据备份。0 T5 `* a/ f3 O k+ h% E
执行如下命令查询NAND FLASH分区,确认MTD6分区大小(读写请勿超出分区大小),将该分区内容擦除。
5 G% a" r/ W9 f* a* y$ ?Target#cat /proc/mtd6 M! k3 D! k* p4 A# i
Target# flash_erase /dev/mtd6 0 0
4 |+ g5 a6 ^+ R. z' I4 J/ ?3 V& v![]() 图 43
) ]+ t6 c( Z4 E) p: i0 L9 H( X- NAND FLASH写速度测试
3 w! B5 s$ S" {, O 进入评估板系统,执行如下命令对NAND FLASH进行写速度测试。% @% j" j8 Q& ?8 p6 | f" ^
Target#time dd if=/dev/zero of=/dev/mtd6 bs=1024k count=30
$ h# J V0 Z. D& }![]() 图 44
/ A1 `+ \; z6 T4 c a: h此处一共写30MByte测试数据到NAND FLASH的MTD6分区下,可看到本次测试的NAND FLASH写速度约为:30MB/6.62s=4.53MB/s。
, T6 K1 i" [& Y* _# g+ U- NAND FLASH读速度测试) j- ^) o1 R: v Q$ G
重启评估板,进入评估板系统,执行如下命令对NAND FLASH进行读速度测试。
+ {3 Y I# s v; v* _! zTarget#time dd if=/dev/mtd6 of=/dev/null bs=1024k! m- V' F+ U7 D- S Z+ u
![]() 图 45
* w& g; a* M: L此处从NAND FLASH的MTD6分区读取30MByte数据,可看到本次测试的NAND FLASH读速度约为:30MB/2.59s=11.58MB/s。1 T7 K: z5 c. X v! l' K
( F9 r1 r7 l. \$ u9 J k4 W4 z1.11调试串口切换测试1.11.1调试串口切换测试UART3使用RS232交叉串口母线、USB转RS232公头串口线,将评估板的RS232串口连接到PC机的USB接口,如下图所示。
. ?+ Y" g; _# F( I* A/ R![]() 图 46 - A: s0 ~* P8 ^% C. I5 M2 p
打开设备管理器,确认RS232串口的COM端口号,如下图所示。 \3 b" `* K7 A5 Z) b
![]() 图 47 ) |$ h/ o @0 B7 d5 e2 Z
打开串口调试终端,选择正确的COM口,波特率为115200,8N1,无检验位,并建立串口连接,如下图所示。
f! K& p% m" B' _$ D![]() 图 48 : a! P8 {+ C% R' {
进入评估板文件系统,执行如下命令将调试串口切换为RS232串口。: B' _ d- y7 I7 i* w. S7 q( }1 ]
Target#setsid getty 115200 ttyS3$ J' t* T9 Z. J' }% {. x" A
![]() 图 49
/ g1 C6 N) }* X1 j p$ ~执行命令后,将会在新建的RS232串口会话框中打印如下类似登录信息,请输入用户名root并按回车键登陆,如下图所示。
$ Y6 E& z' g9 A' i. Y3 g![]() 图 50 6 ^" A& L2 L' z$ f) _
1.11.2调试串口切换RS485串口UART4使用RS232转RS485模块、USB转RS232公头串口线,将评估板的RS485串口连接到PC机的USB接口,如下图所示。
7 C' T, b* d) S7 |* E- y0 h![]() 图 51
1 A* T8 {8 j2 g7 @( o- W& sRS232转RS485模块与评估板上RS485串口连接方法如下:
0 q8 s( t% ?8 ^! m" n- RS232转RS485模块485+端子,连接评估板RS485串口A端子。
- RS232转RS485模块485-端子,连接评估板RS485串口B端子。
- RS232转RS485模块GND端子,连接评估板RS485串口GND端子。
# a0 ^" \: r+ X! t! H 打开设备管理器,确认RS485串口的COM端口号,如下图所示。
7 d0 V& a4 J4 H4 L$ o7 i- m- Z![]() 图 52 7 ]7 @6 Q/ j3 i
打开串口调试终端,选择正确的COM口,波特率为115200,8N1,无检验位,并建立串口连接,如下图所示。; `" b4 _* U* E- H( o
![]() 图 53 & [ j2 L7 M9 L. T; `
如需同时使用两个调试串口,则进入评估板系统后执行如下命令创建一个新用户(比如Tronlong),用户密码自定义。如无需同时使用两个调试串口,则可不创建新用户。. N" N' {3 |/ q! ]- O) U
Target#adduser Tronlong
" ~" r% E* z4 J* h3 x( {![]() 图 54
# @- b; p! q2 J* o: A1 {/ A执行如下命令将调试串口切换到RS485串口。/ Q! W; p% m1 i' y" }2 f% v
Target#setsid getty 115200 ttyS4
. B; F/ e4 P7 {" m6 L![]() 图 55
: P6 y& a0 f- A$ j' X执行命令后,会在新建的RS485串口会话框中打印类似如下登录信息,请输入用户名root再按回车键登陆,或输入用户名Tronlong再输入自定义密码登陆,如下图所示。
' Z! D! x2 l6 J2 [; F- W' j![]() 图 56
& s( c% e5 W) ?# @0 { m) w5 ~* {1.12 7英寸LCD触摸屏测试评估板默认支持的7英寸LCD触摸屏型号为Tronlong的TL070A,请通过FFC软排线将LCD与评估板连接。
7 m- ^% l, } V- J+ I9 t: p& ~% [+ S4 V" C% o- LCD触摸屏显示( }2 s I& C' X* Y* D. J
评估板上电,进入文件系统后即可看到LCD显示Matrix Qt界面,如下图所示。
# M" u9 Q- O6 v6 p2 G![]() 图 57 / t8 w' ^ J, U
- LCD触摸屏校准测试
$ ]7 `1 P0 j) {0 n9 x 在执行触摸屏校准程序之前,执行如下命令关闭Matrix用户界面程序,如有其它界面程序,请一并关闭。4 b* Y8 W: K p
Target#/etc/init.d/matrix-gui-2.0 stop& Y: ~! u/ m2 x7 y: j8 V& U- k! {
执行如下命令进行触摸屏校准。
" G5 `1 Q2 m, q, l5 a0 JTarget#ts_calibrate' t, N8 l. H. Y. B) ?" Z
执行命令后LCD会弹出校准界面,如下图所示,请依次点击校准准星。连续点击五次之后,会在文件系统”/etc/”目录下生成触摸屏校准文件pointercal,校准后的信息记录在pointercal文件中。. N% p, [, D) y: f; q
图 58 1 \% Z& t+ _ c$ Z$ B. e9 D
图 59 2 W" z9 z9 \# C5 _- h) {" a
执行如下命令重新启动系统界面。" ]8 P) j. ~# p( e9 @
Target#/etc/init.d/matrix-gui-2.0 start
3 O; w: z% D0 J- ?$ a2 {" M) T5 V![]() 图 60
" a( o* X$ Z" m. [( y5 K' `. C- LCD触摸屏亮度调节测试
" c8 M0 o1 {& R, a$ | LCD屏幕的背光支持8级变化,亮度级数为1~8,关闭为0,最亮为8。6 Q% c! |4 g G8 J/ ]
进入评估板文件系统,执行如下命令查看最高亮度级数。
# i! R, R- }' e _Target# cat /sys/class/backlight/backlight/max_brightness$ Z% D+ S5 Z1 d3 M$ z
查看当前亮度,执行如下命令。$ G! v4 [0 ^& v4 D( m0 G+ f
Target# cat /sys/class/backlight/backlight/brightness. G, {; D! `0 \0 }
执行如下命令,通过修改亮度级数参数改变屏幕亮度。
Q# t1 x; E7 pTarget# echo 6 > /sys/class/backlight/backlight/brightness
7 V6 U% i+ U! @0 k) K0 u5 G* O+ f![]() 图 61 + t; N/ g/ Q n: E/ {
- 基础设备树文件7英寸LCD显示屏配置说明
% F, t0 T( u6 y1 @2 i 评估板基础设备树文件为内核源码”arch/ARM/boot/dts/tl437x-evm.dts”,默认配置为7英寸LCD显示。查看LCD显示屏数据手册,关键参数如下。
$ E' Y5 ~+ D4 D- P$ D# P# ^![]() 图 62 ![]() 图 63 8 \- s0 b9 r) t! i% n* c
基础设备树文件tl437x-evm.dts的7英寸LCD显示参数配置如下。
" {1 C; V* J A6 c" q/ M7 X( T% A) r& w: h/ \1 \- U0 p
&lcd0 {
% e5 f y5 Z; l0 qpanel-timing {
0 V [0 P' N" X- ~1 `( Uclock-frequency = <33000000>;
' F/ n7 o2 M: E% m3 hhactive = <800>;
7 a3 | u# _' y! d' q1 X5 bvactive = <480>;6 z9 H! x+ H) W: @' E E0 K( M1 C
hfront-porch = <40>;
$ a9 @! H8 D3 _6 @hback-porch = <40>;6 G: K1 _3 j, c
hsync-len = <48>;
@4 J9 A0 ?' \/ K5 avback-porch = <29>;- h8 M" s1 O. Q
vfront-porch = <13>;
1 P3 w9 ~7 D1 T# S& t6 ]vsync-len = <3>;
) C3 W" ?8 C+ m) C8 U2 ]hsync-active = <0>;" C3 c o7 m9 ?0 B
vsync-active = <0>;
3 @7 n& h1 T: ]2 r6 ?de-active = <1>;
( [& z8 \6 J0 f5 a% }% \2 ypixelclk-active = <1>;
0 ` F$ e) k" h2 x5 j# G};
- N" k( S5 \; A5 T5 N};9 g0 S K* y/ Y3 o0 x% i
6 z- W, V# w0 C2 {1.13 12.1英寸LVDS显示屏测试评估板基础设备树文件为内核源码“arch/arm/boot/dts/tl437x-evm.dts”,默认配置为7英寸LCD显示,可通过对设备树文件进行修改以支持不同尺寸的显示屏。
. j& O Z: j1 T; G4 \评估板支持的12.1英寸LVDS显示屏型号为友达的G121SN014 V4。查看12.1英寸LVDS显示屏数据手册 ,关键参数如下。手册中未说明Front-porch、Back-porch、Sync-len等典型值,仅给出总的行/帧同步时间Blanking,可将总同步时间合理划分为对应的Front-porch、Back-porch、Sync-len时间。手册并未说明Hsync、Vsync的极性,默认低电平有效。) {; }) q Q6 @( ]8 D
![]() 图 64 ![]() 图 65 ) N7 S" n! Z; A; [. Z5 T ~6 Z
根据以上关键参数,如需使用12.1英寸LVDS显示屏,则基础设备树文件tl437x-evm.dts的LCD显示参数需进行如下配置。% k7 U5 n. R4 P# Q$ [" `4 g
9 {+ @9 c; |, P7 J1 v% Q5 i
&lcd0 {! p; e5 C' s$ }0 M& T" H9 o
panel-timing {) e- o" z$ }5 Q$ Z4 t% p
clock-frequency = <40000000>;, g% p( {# z# Y: g, m$ a
hactive = <800>;! p( ~ m+ C" g) ^& G+ \0 \- J5 ~
vactive = <600>;
- ~, g- a/ E3 Q! Thfront-porch = <100>; L0 T! q1 v1 z3 e% x
hback-porch = <60>;2 C2 c$ d4 p+ v6 F( G
hsync-len = <96>;% E6 C5 x, X% ]+ B! j! l; i U
vback-porch = <5>;& [" y# d6 ~5 j# A# n* L: [
vfront-porch = <13>;
- t" t4 R4 F9 f, r- D8 S* dvsync-len = <10>;. \" v8 N( }6 `+ x. {8 `
hsync-active = <0>; @) R1 ~$ a c& p1 A& [" M
vsync-active = <0>;- a9 H7 s0 N$ }* M! w# o& C
de-active = <1>;5 a- M1 b6 ~% p$ {( Z
pixelclk-active = <0>; /* 配置LCD像素时钟下降沿传输数据,而不是直接根据
, Y' b9 L' k" I7 e9 ~* M4 G极性分析得出的上升沿*/
+ Y0 v( B9 {2 ^- M};6 G# u$ V$ V5 u, F; F6 y
};" z" j1 y$ s0 h+ l( W" o0 A l2 O
4 b9 h' O0 x$ r9 Q0 [) J3 P修改后请将tl437x-evm.dts文件重新编译生成dtb文件,dtb文件编译方法请查看Linux内核编译手册的设备树文件编译小节。9 [+ L5 H) F9 {" P ^
使用TL-LVDSLCD-A3转接板将12.1英寸LVDS显示屏与评估板连接,如下图所示。
/ j! n) K/ t% V% }5 m. e6 W$ y- D![]() 图 66
6 y: f* C& X- p; b( b使用新生成的dtb文件启动评估板,进入文件系统后即可看到LVDS屏幕显示Matrix Qt界面,如下图所示。
* q2 M& B: b p. B$ `+ g9 g; v0 v( _![]() 图 67 . v' L% H$ [$ q: ?, V' n
|
|