TA的每日心情 | 奋斗 2020-3-25 15:17 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
前言本指导文档适用开发环境:
( i* Q$ k. x4 Y" \Windows开发环境:Windows 7 64bit、Windows 10 64bit) t& V4 M$ ^/ [! E. `6 P& Z
Linux开发环境:Ubuntu 14.04.3 64bit0 S: A, r# S3 u& p5 ]) X
虚拟机:VMware14.1.1. ?& V( }. J+ {/ R) U
U-Boot:U-Boot-2017.01; b2 V0 K6 v5 Q) c% A* k
Kernel:Linux-4.9.65、Linux-RT-4.9.65
* O; R' z, N0 I. gLinux Processor SDK:ti-processor-sdk-linux-rt-am437x-evm-04.03.00.057 l' Y, t' f; M& b# G: I
进行本文档操作前,请先按照调试工具安装、Linux开发环境搭建相关文档,安装SecureCRT串口调试终端、VMware虚拟机、Linux Processor SDK等相关软件。
0 N' |0 h- u; l5 _本文档主要提供评估板的硬件资源测试方法。无特殊说明情况下,默认使用UART0作为调试串口,使用Linux系统启动卡启动系统,通过路由器与PC机进行网络连接。. L: H% n8 q: d3 `
2 U4 Z+ _0 q% f! R% r6 L3 D1评估板快速测试1.1系统启动测试接入电源,并使用Micro USB线连接PC机和评估板的USB TO UART0调试串口。
" T: Y3 j9 ^5 S2 g7 c: O4 _, F![]() 图 1 2 R# W/ v F, w* D0 F- c ^+ n1 ?
打开设备管理器,确认评估板UART0调试串口对应的COM端口号。! j! R7 e8 a6 Z( a, D' K5 r3 n
![]() 图 2 ![]() 图 3 ) _+ s4 a d) p5 _( Y
打开串口调试终端SecureCRT,选择对应的COM端口号,设置波特率为115200,8N1,无检验位。建立串口连接,如下图所示。
8 [* M2 f9 ^, O' B![]() 图 4 / L5 K D% d, O- \ u7 P, n
将Linux系统启动卡插入评估板Micro SD卡槽,根据评估底板丝印将拨码开关拨为00110(1~5),此档位为SD卡启动模式。将评估板上电启动,串口终端会打印以下类似启动信息。
6 A; u8 U7 s+ ?: @# k& H3 R![]() 图 5 ![]() 图 6 ![]() 图 7
0 }5 D7 D# X* F% Z* h6 b! |6 Z在系统启动过程中的LED变化说明如下:, t4 o5 ^8 M: Q& y$ l+ Y* `, y
评估板上电后,电源指示灯D3点亮;随后U-Boot第一阶段启动,D1点亮;紧接着U-Boot第二阶段启动,D2点亮;直到内核启动运行时,D2熄灭,D1进行心跳闪烁;NAND FLASH进行读写时,D2闪烁。5 [9 J/ ^4 d# u \. v
系统启动后会自动登陆root用户,说明使用Linux系统启动卡启动评估板成功。
2 K! N8 u! d, @7 e8 B![]() 图 8 2 `: k/ y9 A; M# j! x1 Q/ C
2 F+ a0 C* G3 w" R. A, t* k3 A* w1.2文件测试测试PC机和评估板之间传送文件的常见方式如下:& l3 ~6 a, r! @- T" t
- 通过Linux系统启动卡、U盘等存储介质方式拷贝。
- 通过NFS、TFTP、OpenSSH等网络方式拷贝。
4 J0 D+ v" O5 q) W; Y 1.2.1通过Linux系统启动卡将配套的系统启动卡插到PC机,然后把需要拷贝到评估板的文件复制到系统启动卡的BOOT分区,如下图所示。
( p# Y( q; f; m5 @! `. O![]() 图 9
5 q4 L) a+ A) T( l: \1 v将系统启动卡插到评估板,启动系统并执行如下命令查看分区信息。系统启动卡的BOOT分区挂载在评估板文件系统”/run/media/mmcblk0p1”目录下。
# H6 _" D2 r" l% e8 i- S0 I2 J3 [Target# df
C$ W8 D: P" M$ |- l$ b. K4 G( ETarget# ls /run/media/mmcblk0p1% i- u( d1 l; C! q- G" i
![]() 图 10
3 G& X, l( w5 u* h# l" {1.2.2通过OpenSSHOpenSSH是SSH(Secure SHell)协议的免费开源实现。SSH协议族可用来进行远程控制,或在计算机之间传送文件,评估板文件系统默认已支持SSH库。
1 C: {1 m2 G9 w" ?% T; ~" a& ^在Ubuntu中执行如下命令,查询是否已安装OpenSSH。
* Y, a" m7 O9 @) Q( BHost#ssh -v
- w2 q% T$ d- i0 G$ ?![]() 图 11 " V) F% H: s; k4 n# r$ F
可看到系统已自带OpenSSH。如未安装,请先自行正确安装OpenSSH。
6 g4 g2 T. a8 f将评估板RGMII ETH1网口通过网线连接到路由器。在评估板上执行如下命令可自动获取到IP,如下图所示。"-i"用于指定网卡,eth0为网卡名字,请根据实际情况修改。
7 N# Q/ |- N" t2 P# u* mTarget# udhcpc -i eth01 g7 Y2 O* [$ j# ^
![]() 图 12 & [; U7 y- [' Q( w9 f. C2 `
执行如下命令可查询IP地址。本次查询到的IP地址是192.168.0.106。
' y" ?+ U4 f$ O' T* \+ h5 c WTarget# ifconfig
, X9 R @! Y+ {) t; g/ w! U![]() 图 13 : H$ Z/ W& U: j3 l6 ]% _
- 使用OpenSSH从PC机传送文件到评估板
0 l: W# r$ n$ G& I+ F 执行如下命令在Ubuntu中新建文件test1,并使用OpenSSH命令将test1文件拷贝到评估板文件系统根目录。4 a* B+ x! k5 k, x
Host#touch test1 //新建文件
. O, G: n! Z3 T5 q yHost#scp test1 root@192.168.0.106:/" ?5 P Z) S& W0 X9 R
![]() 图 14 ) T! w! p+ a% v8 l6 ]$ C9 K
如出现提示”Are you sure you want to continue connecting (yes/no)?”,请输入:yes。
8 N! D+ r Y8 r- I0 _( a; v+ b在评估板上执行如下命令可看到从PC机拷贝过来的文件,如下图所示。
" G: |$ {: d. v S1 q: D4 t' CTarget# ls /* ^% [, |+ c9 o8 d7 V
![]() 图 15 % l3 o; a$ M H% F" a
- 使用OpenSSH从评估板传送文件到PC机
! ^. b, Q# B8 S8 N2 Z6 v! I" h 执行如下命令在评估板文件系统根目录新建一个测试文件test2。
/ D/ u4 d) w7 Q, B& v6 A& m KTarget#cd /
- H$ |" j( A0 k" g$ N! \Target#touch test2 //新建文件
r# ?# @% `/ q5 Z% C, m, r![]() 图 16 # k" Q% i0 H0 t( L
在Ubuntu上执行如下OpenSSH命令将评估板测试文件test2拷贝到PC机”/home/tronlong/test/”目录下。如果传输的是文件夹,请在scp后面添加参数”-r”。2 D, S/ Z5 l3 ~( h6 Z8 q
Host#sudo scp root@192.168.0.106:/test2 /home/tronlong/test/* e% i; Q8 ~1 c- G
Host#ls /home/tronlong/test/! y; t n$ W6 }1 N3 G8 O2 x6 l. T) E
![]() 图 17
( d x/ F0 y4 ]( a1 K' ?* |- 使用OpenSSH登录到评估板文件系统9 ~9 ^# w! H& I4 P8 b
在Ubuntu执行如下命令可通过OpenSSH登录评估板文件系统。2 N( g5 ]( V0 F! i% d, ~
Host#sudo ssh root@192.168.0.106
/ C' t# B7 H6 R![]() 图 18 如需退出登陆,请执行exit或者logout命令。
`9 f! l$ Z1 ^" M) h7 ~! y! B+ d# E( K
1.3LED测试评估底板LED与GPIO对应关系如下表所示。
6 y6 Y6 D; G; z' r
/ |3 Z/ P7 d" M" [6 Y [( B表 1
, | D* @2 `! ?5 Z# N) S; R0 VD8
3 u g; Z& o- i, v+ X | D9
& `! {! \: y4 ^9 B) h, Y | D10
, ? P1 E% F' Z9 A | D11
5 t, Y9 g, o" L4 R, Z( s7 r9 v: T( m) u | GPIO5[10]
$ G: @0 Z( z' o: N x# o/ p6 O | GPIO5[11]
b5 i: D, M7 h6 k. y( ~' `! ? | GPIO5[12]* ^9 s/ Z, H8 k) p8 y
| GPIO5[13]
9 `' }( X+ d1 |3 H6 E2 C | $ K6 k/ E# e6 q* |0 l6 N
进入评估板文件系统,执行如下命令逐盏点亮、熄灭LED。
u5 P+ Q, x2 T/ W/ j3 I' M$ bTarget#echo 0 > /sys/class/leds/user-led0/brightness //控制D8灭
~+ q! ?. L3 N$ m* {Target#echo 1 > /sys/class/leds/user-led0/brightness //控制D8亮
2 u- v0 W- Q) @! n$ VTarget#echo 0 > /sys/class/leds/user-led1/brightness //控制D9灭) F5 U2 K6 R2 H" Z( A) T
Target#echo 1 > /sys/class/leds/user-led1/brightness //控制D9亮
# P2 q) u. I! @9 s6 g2 kTarget#echo 0 > /sys/class/leds/user-led2/brightness //控制D10灭
& G0 K$ x% d2 k8 D( _, C# oTarget#echo 1 > /sys/class/leds/user-led2/brightness //控制D10亮8 `& O$ P, d8 z' f2 w0 n% p6 T
Target#echo 0 > /sys/class/leds/user-led3/brightness //控制D11灭
( }& I* z$ j' @# E! n t3 N" e$ l5 jTarget#echo 1 > /sys/class/leds/user-led3/brightness //控制D11亮
* m h+ g( j* G6 ~8 V* T![]() 图 19
7 {+ }, J. @6 v2 k- LED流水灯
. C4 q0 Z# s, s, ]7 C 将产品资料“4-软件资料\Demo\platform-test-demos\led”目录下的led_loop.sh脚本程序拷贝到评估板文件系统。进入脚本程序所在路径,执行如下命令运行脚本程序,循环点亮LED。7 W# N# i- q( s9 T' k/ x. d
Target#./led_loop.sh
' N1 a9 _' Y- f6 W1 G7 K6 W![]() 图 20 8 z( A" h7 d( B( @5 X, \& F# B
可按”Ctrl+C”终止运行脚本程序。/ Y% v' R( \& A( U, ?9 r! _, W
在执行程序时,若提示”-ash: ./led_loop.sh: Permission denied”没有权限,可执行命令”chmod 777 led_loop.sh”获得执行权限。
1 b F* I$ e; a; b9 Z. R1 S- _ C" o, \2 t# ^7 s5 L
1.4按键测试评估板用户按键与GPIO对应关系如下表。
* X8 F8 c0 l$ `! [; Q) T
X. d: M8 f4 [. w1 P& f+ `8 u9 u表 2* {# H2 O/ g2 L8 J( _
KEY0
0 {7 ]! J+ J) H' H7 r8 ]' Z7 H: c | KEY1
, @9 g. l+ p. _0 c/ e$ n- a) `9 b | GPIO3[7]2 ]1 S! r& \: w0 A- Z' Z, C
| GPIO3[8]+ \ g. A( {: ^, O! }/ E( b8 T
|
7 t4 W$ o4 z$ t& P6 y进入评估板系统,执行以下命令查看按键事件号。 v7 [5 I; N8 C& `% E2 U/ L, n4 f: @
Target#cat /proc/bus/input/devices
+ p6 X0 d- ]4 `1 x4 {/ f# G' B![]() 图 21 4 p# l2 i( G1 Q: v; V1 t6 j
从上图中可以看到按键事件号为event0,执行如下命令进行按键测试。8 b" e4 j& M) V. ^7 Y, p- \/ `
Target#od -x /dev/input/event0
/ A: i. F! u4 U先后按下评估板的2个用户按键,可看到如下打印信息。按”Ctrl+C”可终止测试命令。' Q7 ~' C7 y* N! D, p
![]() 图 22
, r4 g- N9 N: V7 n1.5时钟设置测试Linux系统中分别有系统时钟(软件时钟)和RTC时钟(硬件时钟),系统时钟掉电即会消失,RTC时钟在安装电池的情况下会长期运行。; Z3 c( J2 P7 D7 C j( ?. o
如需使用RTC时钟,请先安装RTC电池。以下为时钟相关的常用命令。" v. { J7 a' ^% b( O+ F
- 查看系统时钟& ~* w' t, [, b$ G+ E. z1 C3 m
Target#date
2 X0 j ^- {' y+ F![]() 图 23
9 _. f& n2 b o$ o$ y- 查看RTC时钟
( G1 ]2 |5 `6 f/ K" f% A Target# hwclock -u
; }6 m3 d1 J+ g- p9 t![]() 图 24 ; S0 Q6 a* V+ S7 D$ [
- 设置系统时间
7 Y( e% i+ }6 C3 R$ ?! v Target# date -s “2020-08-07 15:27:00”//设置时间:2020年8月7日15点27分00秒6 B0 o6 E- D/ _( h% W5 ?8 X! M" E
Target# date$ O' t8 b+ }( s4 y
![]() 图 25 E7 F' C2 G8 ]# E+ o
- 同步系统时钟到RTC时钟
( a" |: g. M! \, X; N: z Target#hwclock --systohc -u
- A( ~5 U$ u1 S# j0 R+ ^6 DTarget# hwclock -u; E+ Z. H7 _0 |/ C2 e( }
![]() 图 26
% p4 A: p7 i6 r$ p$ M# V3 H6 T- 同步RTC时钟到系统时钟
3 R1 \! }% }: ~0 |! j% n Target#hwclock --hctosys -u6 S8 v0 t1 i; V. q) ]" t, m
![]() 图 27
% \% _$ O9 M: k3 a- m% G+ }4 G% f5 [5 X3 n: F6 \
1.6CAN总线测试评估板有两个CAN接口,测试方法为:将两个CAN接口连接,测试两个CAN接口互相收发数据的正确性。. \5 i$ H U7 I# \" D
![]() 图 28
6 L) V, e* B( r2 B6 T4 \请按如下方法连接两个CAN接口。. m5 q+ L# \* V, S9 ?- G# @$ Q
- CAN0接口H端子,连接CAN1接口H端子。
- CAN0接口L端子,连接CAN1接口L端子。
- CAN0接口GND端子,连接CAN1接口GND端子。
; V" V$ }( o* J k9 v- J8 f- j) \& W 进入评估板文件系统,并执行如下命令查看CAN设备。
3 P. ~" E0 z; e5 S I& T- x) ^/ ?Target#cat /proc/net/dev
% r1 z! B6 `1 W3 H![]() 图 29 , X! n6 R0 v0 c: L" k
执行如下命令可查看CAN配置命令的使用方法。
0 \: J9 F# L% ^ `Target#canconfig --help
7 F5 \) q& C( z! f- y( a" ?5 g8 t) r![]() 图 30
- i5 C8 v( }! M# ? Y将产品资料“4-软件资料\Demo\platform-test-demos\can_test”文件夹下的两个脚本程序canconfig-can0-1.sh和can0-to-can1-test.sh拷贝到评估板文件系统任意路径下。在脚本程序所在路径执行如下命令运行脚本程序,测试CAN接口通信功能。- s7 u3 x/ V2 f- a+ w5 `
Target#./canconfig-can0-1.sh. n3 D6 J3 f1 C1 u" g
![]() 图 31 2 a3 s3 S- V* o6 x0 q
Target#./can0-to-can1-test.sh
5 B2 `) r5 {3 `6 z5 c![]() 图 32 % U1 P. I' c9 R
脚本程序的任务是从CAN0发送20帧预设数据到CAN1,同时从CAN1发送20帧预设数据到CAN0,并保存此两组数据到can0to1data.txt和can1to0data.txt文件。
7 _* r! f1 \! J9 A- _; H![]() 图 33 9 M, E* `6 }. q
打开当前目录下生成的can0to1data.txt和can1to0data.txt文件,查看文件内容数是否和下图一致。如一致则表示CAN通信功能正常。
2 W% N2 q5 y( y0 S/ ~Target#cat can0to1data.txt
8 W; [$ |: _' F9 K+ p; CTarget#cat can1to0data.txt
8 Z6 ]% X1 X5 i2 |- A) T![]() 图 34
0 A+ d& e- q2 T! t1 O1.7FRAM读写测试% m+ Q: u7 u7 P
本小节对评估板FRAM进行读写测试。/ Y7 w' L* d; [* \
执行如下命令,将字符串数据写到FRAM。: X2 H) j7 b' k# j4 G
Target#echo "www.tronlong.com" > /sys/devices/platform/44000000.ocp/4819c000.i2c/i2c-2/2-0050/eeprom# u8 U& D$ F/ \8 ~0 O$ P' R8 k
执行如下命令,读取写入到FRAM的数据。
" [$ s' T q) I8 `+ G) {4 zTarget#head -c 16 /sys/class/i2c-adapter/i2c-2/2-0050/eeprom) B$ B" ~4 U; a$ I# n' T1 T
![]() 图 35 ' W9 t4 \& Z) f! G
1.8DDR读写测试Linux系统启动时,在U-Boot阶段完成DDR的初始化,并打印DDR实际容量,如下图所示。. y; g7 j$ {# M& U1 J
![]() 图 36 x$ \, {! O; m1 r
DDR读写速度受实际情况影响,测试速率以具体情况为准,以下测试数据仅供参考。, {6 C* t! Z( t' L" O' B5 m
进入评估板系统,执行如下命令对DDR读速度测试。$ \! t/ }" c8 @" ~
Target#bw_mem 100M rd
6 G/ K/ N6 F. r; @4 J. w) c8 F8 d2 e![]() 图 37
: C" E1 P0 e4 Y测试从DDR中读取100MByte数据,可看到本次测试的读速度约为:375.03MB/s。
) t/ j" b, ?' \) {. t- DDR写速度测试8 d, y8 r- t; {" B
进入评估板系统,执行如下命令对DDR写速度测试。; E2 |% U5 R3 Y# j
Target#bw_mem 100M wr
& D" r0 m, j9 W& s, \![]() 图 38
$ v) { Q6 s9 O测试写入100MByte数据到DDR中,可看到本次测试的写速度约为:275.43MB/s。
+ |( q3 J/ N J- a& U( i" p进入评估板系统,执行如下命令对DDR拷贝速度测试。" q' S& O: D1 _! X4 [) ]
Target#bw_mem 100M cp
& j. P2 b9 {( T2 t![]() 图 39 测试拷贝100MByte数据到DDR中,可看到本次测试的拷贝速度约为:195.63MB/s。
) |" \7 K6 [% m6 e, V
! m. d; |' F' N! `; E; O7 d+ }1.9SD卡读写测试本小节使用评估板配套的Linux系统启动卡来测试SD卡的读写速度。不同的SD卡以及不同大小的测试文件,对SD卡的测试结果会造成一定差异。评估板启动后,Linux系统启动卡的BOOT分区将会挂载在文件系统”/run/media/mmcblk0p1”目录下。6 F) D/ c& i* ]5 a9 U0 r1 T7 {
Target#ls /run/media/mmcblk0p1
+ ?# [ d4 \4 k/ C- W0 g; \![]() 图 40 1 n! [2 z0 \' V+ [
- SD卡写速度测试+ ?7 |7 c- o: \4 l5 ^
进入评估板系统,执行以下命令测试SD写速度。" S. K9 T# X( X- d8 I3 x9 h
Target#time dd if=/dev/zero of=/home/root/test bs=1024K count=200) E/ V! h2 t# C6 S5 [: C6 [! w4 b
time命令有计时作用,dd用于复制,从if(input file)文件读出,写到of(output file)指定的文件,bs是每次写块的大小,count是读写块的数量。
6 [& \+ e# F6 R" h; Y# d“if=/dev/zero”不产生IO,即不断输出数据,可用来测试纯写速度。( ]1 u, X: ]* ]) t3 R3 r1 d
![]() 图 41
/ t* O/ ?, L; V b* n5 e此处一共写200MByte测试数据到SD卡的test文件,可看到本次测试的SD卡写速度约为:200MB/12.70s=15.75MB/s。
7 h: s5 q: v/ y% I- SD卡读速度测试1 l' h0 y0 @6 B8 O$ S
测完写速度之后,重启评估板,并执行以下命令测试SD卡读速度。( \8 b3 B2 I/ S2 V! H
Target#time dd if=/home/root/test of=/dev/null bs=1024K6 F: Y8 m& [& d& r I
“of=/dev/null”不产生IO,即不断接收数据,可用来测试纯读速度。) z, L/ @" H7 z# U! H- x; d
![]() 图 42
% T- P- B1 }0 f3 h; C. [此处从test文件中一共读出200MByte的数据,可看到本次测试的SD卡读速度约为:200MB/9.93s=20.14MB/s。
6 C, Q x' X8 ]9 P1 J# ?1.10NAND FLASH读写测试本小节对NAND FLASH的MTD6分区进行读写速度测试。MTD6是NAND FLASH的备份分区,一般存放小型文件系统,大小为32MByte。读写测试会将该分区内容擦除,请做好数据备份。
S2 w: T( }, _9 h0 M- T执行如下命令查询NAND FLASH分区,确认MTD6分区大小(读写请勿超出分区大小),将该分区内容擦除。0 S6 n3 @' _1 P- ?
Target#cat /proc/mtd- Z/ y/ @- y0 B7 j; a
Target# flash_erase /dev/mtd6 0 0
9 u g- v3 {1 m% ]![]() 图 43 9 W* ]/ p0 S7 [, L0 f! o
- NAND FLASH写速度测试 Y6 a7 K$ k6 w. w! u5 h6 c7 u
进入评估板系统,执行如下命令对NAND FLASH进行写速度测试。
% z- ]; K0 R f& E/ a$ w$ f& [Target#time dd if=/dev/zero of=/dev/mtd6 bs=1024k count=301 f# R6 V2 `: e9 `. I
![]() 图 44
- }, t+ T. m$ h5 X* }8 I此处一共写30MByte测试数据到NAND FLASH的MTD6分区下,可看到本次测试的NAND FLASH写速度约为:30MB/6.62s=4.53MB/s。 d! e/ `2 o3 V
- NAND FLASH读速度测试3 M7 t, c! H" V
重启评估板,进入评估板系统,执行如下命令对NAND FLASH进行读速度测试。5 V3 {; M" \9 E; l# t
Target#time dd if=/dev/mtd6 of=/dev/null bs=1024k. _8 Z+ S& E2 n+ r+ X
![]() 图 45
* Y' t* o2 X! @4 x+ g此处从NAND FLASH的MTD6分区读取30MByte数据,可看到本次测试的NAND FLASH读速度约为:30MB/2.59s=11.58MB/s。0 T! O3 C$ i+ \3 H
; v: Y7 c1 u- G6 |1.11调试串口切换测试1.11.1调试串口切换测试UART3使用RS232交叉串口母线、USB转RS232公头串口线,将评估板的RS232串口连接到PC机的USB接口,如下图所示。' x" g( [; ]* u4 N- N0 O3 I
![]() 图 46
8 a4 Y T7 k' G& ?8 R打开设备管理器,确认RS232串口的COM端口号,如下图所示。# `; s2 r9 F' {
![]() 图 47
, V& K U/ c/ _1 K7 {9 S% a打开串口调试终端,选择正确的COM口,波特率为115200,8N1,无检验位,并建立串口连接,如下图所示。
% A" r, U& X$ P; W9 B$ {4 b, {! n![]() 图 48 2 b) D2 L+ w: Z" G* x2 u& ^! Y
进入评估板文件系统,执行如下命令将调试串口切换为RS232串口。
7 q8 h4 ~- P B( U* gTarget#setsid getty 115200 ttyS3
" M+ j/ f. \# w- x. e/ L![]() 图 49
& t% r9 c1 z, f, g8 R- Y. S2 Q执行命令后,将会在新建的RS232串口会话框中打印如下类似登录信息,请输入用户名root并按回车键登陆,如下图所示。
0 k- q( X2 p0 v; C! [! `4 x1 ?3 t![]() 图 50 5 X3 s' S' R1 ^. n$ N: g1 z6 a4 k
1.11.2调试串口切换RS485串口UART4使用RS232转RS485模块、USB转RS232公头串口线,将评估板的RS485串口连接到PC机的USB接口,如下图所示。1 {5 O. ?4 `8 W. R
![]() 图 51
$ d( u2 V0 p# lRS232转RS485模块与评估板上RS485串口连接方法如下:% J) d5 K% d: S. e P
- RS232转RS485模块485+端子,连接评估板RS485串口A端子。
- RS232转RS485模块485-端子,连接评估板RS485串口B端子。
- RS232转RS485模块GND端子,连接评估板RS485串口GND端子。
3 d) N+ P# V* y, g9 |5 L6 g! m! i 打开设备管理器,确认RS485串口的COM端口号,如下图所示。
+ { v% x& r6 u5 S/ G6 C! P![]() 图 52 V" S9 w* E3 H n
打开串口调试终端,选择正确的COM口,波特率为115200,8N1,无检验位,并建立串口连接,如下图所示。
* X/ o" w8 m. W) F3 Q2 R9 y& Z![]() 图 53
* @% X" X( n& B9 L) E如需同时使用两个调试串口,则进入评估板系统后执行如下命令创建一个新用户(比如Tronlong),用户密码自定义。如无需同时使用两个调试串口,则可不创建新用户。
T+ n7 r+ U0 ?7 ITarget#adduser Tronlong
. ~5 j' Q, V. ^7 Y![]() 图 54 # k0 h/ q1 g) |1 n+ a; z' W
执行如下命令将调试串口切换到RS485串口。
* x" v% B( p3 Z$ STarget#setsid getty 115200 ttyS4
6 n, i( r9 s2 Q# w. w7 q$ D; j![]() 图 55
: i9 V$ q# w1 s$ m4 N v5 }1 i执行命令后,会在新建的RS485串口会话框中打印类似如下登录信息,请输入用户名root再按回车键登陆,或输入用户名Tronlong再输入自定义密码登陆,如下图所示。( Y% r/ S' \8 @% [& l
![]() 图 56 ! M; Z9 j. C" S6 x, z: H5 v
1.12 7英寸LCD触摸屏测试评估板默认支持的7英寸LCD触摸屏型号为Tronlong的TL070A,请通过FFC软排线将LCD与评估板连接。9 l4 A3 V- J2 |& R. K
评估板上电,进入文件系统后即可看到LCD显示Matrix Qt界面,如下图所示。& V% k. l$ u& A9 i3 |. ?0 B, Y
![]() 图 57 + b7 I6 u& N, ~( h" d6 e' |
- LCD触摸屏校准测试, J+ q0 W8 h) U/ ^& O1 a% c% G1 \
在执行触摸屏校准程序之前,执行如下命令关闭Matrix用户界面程序,如有其它界面程序,请一并关闭。2 n d1 l9 {" r' F" y/ v& l
Target#/etc/init.d/matrix-gui-2.0 stop% j: H6 M5 S9 K0 L
执行如下命令进行触摸屏校准。 x/ p) s3 S, P% E
Target#ts_calibrate( w/ p% q7 x" Y
执行命令后LCD会弹出校准界面,如下图所示,请依次点击校准准星。连续点击五次之后,会在文件系统”/etc/”目录下生成触摸屏校准文件pointercal,校准后的信息记录在pointercal文件中。
; M4 J. R$ X2 ]图 58
& u, G6 x) G# x8 ?图 59
8 X5 g, n6 O3 T' ?& }0 b3 ^执行如下命令重新启动系统界面。1 e8 E9 \ a7 q% K1 s
Target#/etc/init.d/matrix-gui-2.0 start% G2 H/ p' p g+ o6 l
![]() 图 60
1 _( ^% }* ^" @ r- LCD触摸屏亮度调节测试, s" S6 M4 E" Z8 k9 e
LCD屏幕的背光支持8级变化,亮度级数为1~8,关闭为0,最亮为8。
4 s: S3 r- j# i8 G5 Q/ A: F- t进入评估板文件系统,执行如下命令查看最高亮度级数。
) O5 @0 J4 [# \. ^ \1 bTarget# cat /sys/class/backlight/backlight/max_brightness2 c" `. Z6 G9 d
查看当前亮度,执行如下命令。1 j2 C, I$ d. Q8 N! n- \
Target# cat /sys/class/backlight/backlight/brightness
7 y: t5 k. u# N1 I V执行如下命令,通过修改亮度级数参数改变屏幕亮度。
+ [+ I9 d6 e: ]/ u- }6 I, cTarget# echo 6 > /sys/class/backlight/backlight/brightness0 n! A4 r8 j7 O+ K, [
![]() 图 61 $ I3 S, {# c: \: d7 b0 u# b; o
- 基础设备树文件7英寸LCD显示屏配置说明
& ~" K% s& b8 E: Q; S& N0 I 评估板基础设备树文件为内核源码”arch/ARM/boot/dts/tl437x-evm.dts”,默认配置为7英寸LCD显示。查看LCD显示屏数据手册,关键参数如下。
+ W, M2 [; C& c: C, `) p. D0 s+ F![]() 图 62 ![]() 图 63 1 r; O2 `4 F' S2 d
基础设备树文件tl437x-evm.dts的7英寸LCD显示参数配置如下。' g5 k- g' L! q: H
# U: D: r! f3 ]0 d. S&lcd0 {
: w9 P' y1 K2 r" m* P* @' apanel-timing {
1 }. k$ b" q5 T$ F8 [' q0 qclock-frequency = <33000000>;& \5 {6 e* B7 k) c9 I
hactive = <800>;
8 ?& Z2 m. T* P9 N+ ?vactive = <480>;0 K/ F* @* |, Y y! o7 u! T
hfront-porch = <40>;/ }; r# O/ w/ U* G& n5 A
hback-porch = <40>;
' B8 s- }4 O( S$ v% M' _4 y- i# Q% zhsync-len = <48>;# D% i7 I- ?2 z
vback-porch = <29>;
/ b& }2 `4 M: }- x# V$ |% U, Bvfront-porch = <13>;
6 y5 `8 D! V$ k3 O( xvsync-len = <3>;
& l1 u2 O M# {/ @7 P) \" {hsync-active = <0>;
* ?. @- ?1 ^: g' S7 b8 S" Evsync-active = <0>;1 S1 B+ C7 U- t6 p' ^! Y P
de-active = <1>;
2 O' {) V1 y8 b3 f# Wpixelclk-active = <1>;1 v- G; q0 Z" C4 L
};
e2 I w" y( F1 p& q+ n! L};' T2 X/ K8 K: Q$ h0 k% R2 k7 M
2 y" D) O8 A: N: V. ~ v8 _6 u8 Q
1.13 12.1英寸LVDS显示屏测试评估板基础设备树文件为内核源码“arch/arm/boot/dts/tl437x-evm.dts”,默认配置为7英寸LCD显示,可通过对设备树文件进行修改以支持不同尺寸的显示屏。0 l! c6 J2 L% j# l% _$ h
评估板支持的12.1英寸LVDS显示屏型号为友达的G121SN014 V4。查看12.1英寸LVDS显示屏数据手册 ,关键参数如下。手册中未说明Front-porch、Back-porch、Sync-len等典型值,仅给出总的行/帧同步时间Blanking,可将总同步时间合理划分为对应的Front-porch、Back-porch、Sync-len时间。手册并未说明Hsync、Vsync的极性,默认低电平有效。' L0 Q) K5 J5 A4 d/ [+ l
![]() 图 64 ![]() 图 65 ( G4 s' u$ U$ U$ H1 G2 h
根据以上关键参数,如需使用12.1英寸LVDS显示屏,则基础设备树文件tl437x-evm.dts的LCD显示参数需进行如下配置。
. u. y. F z) m, _" Q4 n x% T& \
&lcd0 {6 Z* W5 h, D' Q |; ?4 [/ Y
panel-timing {" ?8 N* O: L) q/ z/ p
clock-frequency = <40000000>;8 h( h1 U) ^, ]8 S
hactive = <800>;' a. [3 C: s' F9 G: X9 b
vactive = <600>;' R5 g& o n4 E G
hfront-porch = <100>;
7 B, F: u/ G7 n( F( U7 rhback-porch = <60>;
* |" H, U+ ?0 E1 B+ Mhsync-len = <96>;1 L: T+ d. M+ ~
vback-porch = <5>;, _( V+ l4 m! \6 d& }$ r
vfront-porch = <13>;* D- m, p3 d3 _
vsync-len = <10>;, b; |7 Y) |# c0 w- ?& H9 G
hsync-active = <0>;
3 S# H4 S! U' k9 S4 c+ f- T/ w) Nvsync-active = <0>;
! x9 M/ [& V8 y3 Z7 m# Nde-active = <1>;. Y" H$ f% e, ]$ s0 A' ^
pixelclk-active = <0>; /* 配置LCD像素时钟下降沿传输数据,而不是直接根据
3 i* {' c% M5 I3 h' _4 |' g$ w极性分析得出的上升沿*/
4 r. E$ X; \% n: @( \. h};, s0 l* t' {: V# j
};
- z. m' {' ]: ~- h* L# j
% n" g- o& O5 [1 ]+ ]修改后请将tl437x-evm.dts文件重新编译生成dtb文件,dtb文件编译方法请查看Linux内核编译手册的设备树文件编译小节。
, [, @8 ^% k% \. w0 F( d {使用TL-LVDSLCD-A3转接板将12.1英寸LVDS显示屏与评估板连接,如下图所示。
) W/ i3 V9 H2 y7 B7 ^3 N6 M, [/ `![]() 图 66
5 K# r4 ?; U8 a- Q7 E4 @: `3 X8 w使用新生成的dtb文件启动评估板,进入文件系统后即可看到LVDS屏幕显示Matrix Qt界面,如下图所示。: b1 e$ C% j$ o7 ?: U
![]() 图 67 % ]4 I# D' z3 J
|
|