TA的每日心情 | 奋斗 2020-3-25 15:17 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
前言本指导文档适用开发环境:
2 H1 z$ s$ q: M- I: ^& pWindows开发环境:Windows 7 64bit、Windows 10 64bit
2 W* H M: N3 U, y+ }9 BLinux开发环境:Ubuntu 14.04.3 64bit
/ e! f$ ~; {/ S+ T, m! z虚拟机:VMware14.1.1
) P2 m$ B/ \" w( r, |5 n) t7 TU-Boot:U-Boot-2017.012 C9 O9 s ?( ~# M* u' f
Kernel:Linux-4.9.65、Linux-RT-4.9.65
* v; s9 L% \" d8 lLinux Processor SDK:ti-processor-sdk-linux-rt-am437x-evm-04.03.00.05
+ R2 y, m2 Q6 P4 S进行本文档操作前,请先按照调试工具安装、Linux开发环境搭建相关文档,安装SecureCRT串口调试终端、VMware虚拟机、Linux Processor SDK等相关软件。
8 ?& s6 w5 c4 e1 h本文档主要提供评估板的硬件资源测试方法。无特殊说明情况下,默认使用UART0作为调试串口,使用Linux系统启动卡启动系统,通过路由器与PC机进行网络连接。
* t2 H O# E: m5 A9 v/ g; K
' g3 g& v; M: b F3 E' Y* u# ~+ h1评估板快速测试1.1系统启动测试接入电源,并使用Micro USB线连接PC机和评估板的USB TO UART0调试串口。
8 E5 x; P& ~/ w- V" M5 G& d9 k8 F![]() 图 1 / k, U2 B( g% _. [& x/ }
打开设备管理器,确认评估板UART0调试串口对应的COM端口号。+ l6 h! n7 |9 `5 |8 U: r
![]() 图 2 ![]() 图 3 7 B& ]4 m8 {9 g$ R% f5 Z
打开串口调试终端SecureCRT,选择对应的COM端口号,设置波特率为115200,8N1,无检验位。建立串口连接,如下图所示。
+ A+ d1 _* j' Y1 D4 d![]() 图 4 ; p" R0 [( \! G" z$ c; t0 M/ u
将Linux系统启动卡插入评估板Micro SD卡槽,根据评估底板丝印将拨码开关拨为00110(1~5),此档位为SD卡启动模式。将评估板上电启动,串口终端会打印以下类似启动信息。6 H# M6 m+ H2 \8 Z* k
![]() 图 5 ![]() 图 6 ![]() 图 7 , g( ~0 ?+ q* N! _ \: e
在系统启动过程中的LED变化说明如下:
- E& f, D& g2 O# q+ M& W7 {. ^评估板上电后,电源指示灯D3点亮;随后U-Boot第一阶段启动,D1点亮;紧接着U-Boot第二阶段启动,D2点亮;直到内核启动运行时,D2熄灭,D1进行心跳闪烁;NAND FLASH进行读写时,D2闪烁。4 f8 V3 f8 N. w; l' j& X4 h
系统启动后会自动登陆root用户,说明使用Linux系统启动卡启动评估板成功。' b3 z" e, b* P- B
![]() 图 8
% n% t& F" C5 X L+ c" \- E% S1 S. z* h- z. `
1.2文件测试测试PC机和评估板之间传送文件的常见方式如下:2 e* @( q7 T$ c, \% N, n& b
- 通过Linux系统启动卡、U盘等存储介质方式拷贝。
- 通过NFS、TFTP、OpenSSH等网络方式拷贝。& ~# R) p" j* r% c! I
1.2.1通过Linux系统启动卡将配套的系统启动卡插到PC机,然后把需要拷贝到评估板的文件复制到系统启动卡的BOOT分区,如下图所示。
/ I$ W! y+ s) L* ]![]() 图 9 # ^, I; U+ M" U4 E. }! [ G. \/ p
将系统启动卡插到评估板,启动系统并执行如下命令查看分区信息。系统启动卡的BOOT分区挂载在评估板文件系统”/run/media/mmcblk0p1”目录下。
' C0 P1 R! a; H9 QTarget# df
) P/ Z. Q E8 e) _. `Target# ls /run/media/mmcblk0p1
: f9 \7 \9 a4 d# T6 _![]() 图 10
( g5 u1 P6 C y4 ~1 J/ C* h1.2.2通过OpenSSHOpenSSH是SSH(Secure SHell)协议的免费开源实现。SSH协议族可用来进行远程控制,或在计算机之间传送文件,评估板文件系统默认已支持SSH库。" j6 @8 i! m K3 M
在Ubuntu中执行如下命令,查询是否已安装OpenSSH。& }# X0 M/ D4 S( w: J
Host#ssh -v
) f2 |0 z _% f* h5 u![]() 图 11
' k0 N5 E1 @9 D* {* [5 G可看到系统已自带OpenSSH。如未安装,请先自行正确安装OpenSSH。
" a! l V* V$ c, }) q0 K1 h+ ?9 @将评估板RGMII ETH1网口通过网线连接到路由器。在评估板上执行如下命令可自动获取到IP,如下图所示。"-i"用于指定网卡,eth0为网卡名字,请根据实际情况修改。
5 J: g; \3 I+ w/ s6 E% ZTarget# udhcpc -i eth0
3 e) v" ^7 P5 I) a![]() 图 12
2 A; h8 Q \. R2 ~执行如下命令可查询IP地址。本次查询到的IP地址是192.168.0.106。
- x `( D H6 Q8 |" F8 HTarget# ifconfig
3 I8 n% f1 ]/ H7 [+ x* V![]() 图 13
* Y$ Q8 ?# T2 k% H+ M- 使用OpenSSH从PC机传送文件到评估板! _. L- ?+ c. J
执行如下命令在Ubuntu中新建文件test1,并使用OpenSSH命令将test1文件拷贝到评估板文件系统根目录。
. P. L7 K0 i, S4 V7 f; zHost#touch test1 //新建文件
3 V Z$ [1 _$ JHost#scp test1 root@192.168.0.106:/
/ ~- o ^0 M; T/ f7 h![]() 图 14 1 D# s" L; D# R$ p; p4 Y8 x
如出现提示”Are you sure you want to continue connecting (yes/no)?”,请输入:yes。1 O6 }/ V+ G2 S+ e6 a0 i
在评估板上执行如下命令可看到从PC机拷贝过来的文件,如下图所示。" w( g; o% q7 Z- y5 u! v
Target# ls /0 L) Y) C2 q: ^2 h2 i- \1 x$ Q
![]() 图 15
0 ^5 M0 k B; e2 J" A! ]- 使用OpenSSH从评估板传送文件到PC机
9 }5 U! [6 V, a3 M8 X, u4 [5 ?8 f/ ]7 t 执行如下命令在评估板文件系统根目录新建一个测试文件test2。
7 [; ~, [$ b& p5 D2 v) gTarget#cd /
( d8 r# D+ _+ C3 Z9 L2 b6 }6 bTarget#touch test2 //新建文件) i0 G% K5 k+ @1 x# O4 h8 V
![]() 图 16 ; U: y0 _' E/ @6 f3 ~$ }; y: @/ N: H/ _! j
在Ubuntu上执行如下OpenSSH命令将评估板测试文件test2拷贝到PC机”/home/tronlong/test/”目录下。如果传输的是文件夹,请在scp后面添加参数”-r”。; L2 U3 j9 o2 f. I/ X
Host#sudo scp root@192.168.0.106:/test2 /home/tronlong/test/
7 z( z: \! B9 _! G8 v2 I" xHost#ls /home/tronlong/test/ j/ {/ k/ y2 b- X+ O
![]() 图 17
' O9 q% U7 H% \! D) u- 使用OpenSSH登录到评估板文件系统
5 i% h/ m' {( Q 在Ubuntu执行如下命令可通过OpenSSH登录评估板文件系统。
) {7 R) T2 `& |0 a/ I8 J) m/ uHost#sudo ssh root@192.168.0.106
6 X3 p) R' {1 w' R, ?0 F6 L![]() 图 18 如需退出登陆,请执行exit或者logout命令。/ n( w0 i5 l" C$ Y( O2 G% T
# j' X! _8 y+ @8 c1.3LED测试评估底板LED与GPIO对应关系如下表所示。
# D! |+ W, g1 a2 n/ m2 k. ?) x" l: J
表 1
) P6 ]- `, e2 p7 W3 KD8
- J: a0 w0 F% i5 w5 v2 K8 j3 X" A | D98 _" } \" b2 o
| D10! [$ J6 a6 J U* n8 @
| D111 s9 M% L8 j" v3 B5 d1 x
| GPIO5[10]' K4 b+ A" k; P/ T% Y: f
| GPIO5[11]
! Z1 [/ \5 Y. e. [: t | GPIO5[12]# L+ o. b! x' J) N
| GPIO5[13]
9 n' R, H% k6 K: x | . }( E' t" `# ]$ J
- 逐盏点亮LED0 P/ u8 f0 j5 N9 y) Z
进入评估板文件系统,执行如下命令逐盏点亮、熄灭LED。. `3 G6 B8 y& ?3 F. `
Target#echo 0 > /sys/class/leds/user-led0/brightness //控制D8灭6 o+ e0 H! p0 m( s1 O; T
Target#echo 1 > /sys/class/leds/user-led0/brightness //控制D8亮
" u$ R1 |. X: N1 [Target#echo 0 > /sys/class/leds/user-led1/brightness //控制D9灭; N. v2 g. {+ O. [& }% E
Target#echo 1 > /sys/class/leds/user-led1/brightness //控制D9亮! t, \% p/ `1 |' t9 K+ R: @: q
Target#echo 0 > /sys/class/leds/user-led2/brightness //控制D10灭
) K" y5 p$ H) z- {6 d& B9 aTarget#echo 1 > /sys/class/leds/user-led2/brightness //控制D10亮' ~; ~2 d" b& b r
Target#echo 0 > /sys/class/leds/user-led3/brightness //控制D11灭
8 f4 ]7 A2 a& ~/ j' k# tTarget#echo 1 > /sys/class/leds/user-led3/brightness //控制D11亮' T( H2 i& M- r5 n. A+ z$ d
![]() 图 19 0 @. D& ~$ O# L6 M- O
- LED流水灯
& }: C9 `. F* V. N" x 将产品资料“4-软件资料\Demo\platform-test-demos\led”目录下的led_loop.sh脚本程序拷贝到评估板文件系统。进入脚本程序所在路径,执行如下命令运行脚本程序,循环点亮LED。; s. ~: t, C1 A1 y8 v
Target#./led_loop.sh
% W3 {/ u7 E& X) r5 @![]() 图 20
M2 k7 ?& ^4 b* r# W: Z可按”Ctrl+C”终止运行脚本程序。
; E7 E" p: U3 x在执行程序时,若提示”-ash: ./led_loop.sh: Permission denied”没有权限,可执行命令”chmod 777 led_loop.sh”获得执行权限。: i* l6 W5 k' Z+ k6 P z
! U2 @" `' N- r% F/ a/ G' d9 O& V7 q1.4按键测试评估板用户按键与GPIO对应关系如下表。, _; n; ?- |0 k/ @
7 v- d4 f) ^- {' W5 B
表 2
( h" `- K. \5 LKEY0
; W" s$ Z% B3 S* [! E! X | KEY1
. T4 x8 j6 A5 c0 X | GPIO3[7]
F n' {, T' l% `& R2 j$ ^ | GPIO3[8]
9 d- C- d" z! i3 a* s$ P% f7 ? |
# }7 T- ^$ k2 V/ ^4 C+ Y# ^进入评估板系统,执行以下命令查看按键事件号。
9 X% R3 T* f5 g0 f1 ^6 w* ^6 Q+ oTarget#cat /proc/bus/input/devices$ N+ q! t0 f( P& s# Y' h
![]() 图 21
6 n( d2 O' @& t! ?- H3 k5 S从上图中可以看到按键事件号为event0,执行如下命令进行按键测试。" o, a" ~7 g# u1 _' J. U, M* K
Target#od -x /dev/input/event0
, v& M' d* F! ]* m先后按下评估板的2个用户按键,可看到如下打印信息。按”Ctrl+C”可终止测试命令。
& \% A. l5 N- Y![]() 图 22 $ W1 C! G, Q9 e
1.5时钟设置测试Linux系统中分别有系统时钟(软件时钟)和RTC时钟(硬件时钟),系统时钟掉电即会消失,RTC时钟在安装电池的情况下会长期运行。6 |; }' E: L( R$ l
如需使用RTC时钟,请先安装RTC电池。以下为时钟相关的常用命令。: P" M4 W' L# J* j
Target#date7 ~# u4 @* W' E! f/ l8 z" n
![]() 图 23 7 D. W% j8 \. \( Q' U$ j
- 查看RTC时钟
4 B2 l( l q1 y7 h) D, Z% Y8 V' J Target# hwclock -u
/ S7 f! N" U% j![]() 图 24
7 L$ A5 d, S# `( P) D0 g0 `, S- 设置系统时间) B0 @- N' Q' r, d4 O7 g
Target# date -s “2020-08-07 15:27:00”//设置时间:2020年8月7日15点27分00秒
. p1 B! g: k+ N" `4 Q& g/ J+ m) |6 pTarget# date
5 a1 A! u8 p0 b* Z# `- @# A7 |; @! ^![]() 图 25
4 S2 P; K$ N* ~9 P7 b# @' P- 同步系统时钟到RTC时钟. P) T3 `2 N5 j$ V" t
Target#hwclock --systohc -u
0 g9 W" J1 }& TTarget# hwclock -u- h7 a9 \9 w- A
![]() 图 26 * k) a7 |5 t6 f6 z7 w# x* e2 t
- 同步RTC时钟到系统时钟
4 h! f4 F8 D0 B. X1 X1 A Target#hwclock --hctosys -u
2 k% u. S2 Q& B; ^0 A h3 V![]() 图 27 7 @, C0 E# U( ]! u8 c
$ \% r2 z t& D7 R. g7 h
1.6CAN总线测试评估板有两个CAN接口,测试方法为:将两个CAN接口连接,测试两个CAN接口互相收发数据的正确性。
5 ?0 }- C$ e3 k# T. ]) h$ X![]() 图 28
! q# B- r, [4 g4 n9 E4 d E请按如下方法连接两个CAN接口。 g% [+ \$ t1 ?5 v- W" [8 d
- CAN0接口H端子,连接CAN1接口H端子。
- CAN0接口L端子,连接CAN1接口L端子。
- CAN0接口GND端子,连接CAN1接口GND端子。. Q$ N0 _2 h5 T: x7 O/ j5 \
进入评估板文件系统,并执行如下命令查看CAN设备。' |. z4 z/ b) m7 f) k# F) K) z/ R
Target#cat /proc/net/dev- t2 X% G/ L5 M" `( Z
![]() 图 29 8 F% ^ A5 f& r) S# }+ ?
执行如下命令可查看CAN配置命令的使用方法。
9 S6 c7 H: F BTarget#canconfig --help, i2 Z8 h/ T, Z& N4 x/ u$ ] |
![]() 图 30 2 u L: @! t; ?
将产品资料“4-软件资料\Demo\platform-test-demos\can_test”文件夹下的两个脚本程序canconfig-can0-1.sh和can0-to-can1-test.sh拷贝到评估板文件系统任意路径下。在脚本程序所在路径执行如下命令运行脚本程序,测试CAN接口通信功能。+ S& s* z5 O( p
Target#./canconfig-can0-1.sh
0 Q( `/ n; g4 J- {![]() 图 31
2 \- w2 P* J2 zTarget#./can0-to-can1-test.sh( [" |( U5 U" e9 x; b
![]() 图 32
( d& I8 m- ~, |1 z$ }) J脚本程序的任务是从CAN0发送20帧预设数据到CAN1,同时从CAN1发送20帧预设数据到CAN0,并保存此两组数据到can0to1data.txt和can1to0data.txt文件。: N! n" U; C; f# L5 s! e$ a, ?
![]() 图 33 5 h: m+ W1 U8 T- S1 _. \0 V
打开当前目录下生成的can0to1data.txt和can1to0data.txt文件,查看文件内容数是否和下图一致。如一致则表示CAN通信功能正常。
! |' K: R) q, j9 U. W8 Z" G# Z8 QTarget#cat can0to1data.txt6 L% C; ?' X- ~" R1 y8 ~
Target#cat can1to0data.txt
4 _( _2 j2 e1 T. Z/ q+ F7 q+ i![]() 图 34
) q, E9 J( z/ B9 L" `: \: h. }1.7FRAM读写测试7 ]0 ?: a6 ~+ v- I% e
本小节对评估板FRAM进行读写测试。
6 a- o- Q! N9 M( z8 Z执行如下命令,将字符串数据写到FRAM。1 g$ H" l, n6 J0 ^
Target#echo "www.tronlong.com" > /sys/devices/platform/44000000.ocp/4819c000.i2c/i2c-2/2-0050/eeprom1 C- N |% i- h& ^4 x% g! w0 g
执行如下命令,读取写入到FRAM的数据。. ]1 s7 L, N+ ~9 ]2 D( j
Target#head -c 16 /sys/class/i2c-adapter/i2c-2/2-0050/eeprom+ o! g0 w/ q* P) }% y3 w- i7 F' u
![]() 图 35 $ A' [; p; z; V' E
1.8DDR读写测试Linux系统启动时,在U-Boot阶段完成DDR的初始化,并打印DDR实际容量,如下图所示。3 f2 J- F" j6 a7 ]3 X
![]() 图 36
- f: I8 k' P/ _DDR读写速度受实际情况影响,测试速率以具体情况为准,以下测试数据仅供参考。: L9 N8 a. Q# i( [0 r" N/ V9 g* K9 ^
- DDR读速度测试
/ }8 l" l! }( r) |5 n1 V% v* Z8 F 进入评估板系统,执行如下命令对DDR读速度测试。6 | L) B" Q+ I4 z
Target#bw_mem 100M rd8 O- R+ q: D) W3 Q$ @; U/ D* }
![]() 图 37 " e' H& D" O N6 m! G, N6 A' W
测试从DDR中读取100MByte数据,可看到本次测试的读速度约为:375.03MB/s。( X) A, c& m9 C
进入评估板系统,执行如下命令对DDR写速度测试。) G9 I' X+ n' l
Target#bw_mem 100M wr4 ?3 w: H, v7 {/ [6 {7 e1 T
![]() 图 38
/ Y; B7 p$ d) W# K+ f测试写入100MByte数据到DDR中,可看到本次测试的写速度约为:275.43MB/s。! i( w; A1 o6 [% e; X, ?+ w
- DDR拷贝速度测试% b' v: r% o9 H1 |! q5 e
进入评估板系统,执行如下命令对DDR拷贝速度测试。
) r! P" m( ~( _5 T0 P1 sTarget#bw_mem 100M cp
/ n b9 \$ f6 q3 M. a* J8 ^! |![]() 图 39 测试拷贝100MByte数据到DDR中,可看到本次测试的拷贝速度约为:195.63MB/s。
$ {$ ]: I' d4 h& s9 S) {* C; O! @- K! h8 U3 t; I
1.9SD卡读写测试本小节使用评估板配套的Linux系统启动卡来测试SD卡的读写速度。不同的SD卡以及不同大小的测试文件,对SD卡的测试结果会造成一定差异。评估板启动后,Linux系统启动卡的BOOT分区将会挂载在文件系统”/run/media/mmcblk0p1”目录下。
5 F5 W6 M& X0 y! A& [9 M& _Target#ls /run/media/mmcblk0p1
9 N0 q' H. W& |1 Y+ L![]() 图 40 7 |! m7 S8 y p& h& ]4 X+ n' o7 `& u$ K" i
- SD卡写速度测试: Z7 u8 t2 J+ I9 |% f
进入评估板系统,执行以下命令测试SD写速度。
0 S/ z/ X7 z, MTarget#time dd if=/dev/zero of=/home/root/test bs=1024K count=2004 e7 ^% s0 X! N& O# K/ S% q
time命令有计时作用,dd用于复制,从if(input file)文件读出,写到of(output file)指定的文件,bs是每次写块的大小,count是读写块的数量。
, U/ L$ x/ ]# Y; h( E) @7 v7 r& Z“if=/dev/zero”不产生IO,即不断输出数据,可用来测试纯写速度。: W W8 x0 M* E. [
![]() 图 41 / n: ]3 t/ y7 o" h# a) s9 N$ k+ v! z
此处一共写200MByte测试数据到SD卡的test文件,可看到本次测试的SD卡写速度约为:200MB/12.70s=15.75MB/s。1 D0 C' i; A2 n! _& O1 W, ^$ J" x
- SD卡读速度测试
* U/ c) Z( Z9 D8 m9 d( l W 测完写速度之后,重启评估板,并执行以下命令测试SD卡读速度。
; ~! B, u$ C3 r8 q* G# ?Target#time dd if=/home/root/test of=/dev/null bs=1024K2 A# M6 u7 E6 s4 a4 s: n8 [
“of=/dev/null”不产生IO,即不断接收数据,可用来测试纯读速度。
$ X! m& h) f5 n) a0 M# |4 P![]() 图 42 ' r. `+ d& [. Q! V2 l0 A, ^. x( B9 M0 v
此处从test文件中一共读出200MByte的数据,可看到本次测试的SD卡读速度约为:200MB/9.93s=20.14MB/s。 m5 f% {! g- f+ `# B# f
1.10NAND FLASH读写测试本小节对NAND FLASH的MTD6分区进行读写速度测试。MTD6是NAND FLASH的备份分区,一般存放小型文件系统,大小为32MByte。读写测试会将该分区内容擦除,请做好数据备份。: {2 g- F6 v, C$ w4 I' j. \
执行如下命令查询NAND FLASH分区,确认MTD6分区大小(读写请勿超出分区大小),将该分区内容擦除。0 c) t& F; e- m) n& I7 J! F/ t
Target#cat /proc/mtd
# o9 y {8 [/ ^5 e5 H; p% J3 MTarget# flash_erase /dev/mtd6 0 0
6 }; o/ @1 Q' V, n! z: m% T/ c; b( c![]() 图 43
) G) a9 z/ u# }9 Q5 U+ `- NAND FLASH写速度测试1 r6 P/ l# g( i7 D! o5 U
进入评估板系统,执行如下命令对NAND FLASH进行写速度测试。8 c" F" @* P8 r
Target#time dd if=/dev/zero of=/dev/mtd6 bs=1024k count=30
' k. u6 Z& Y0 l9 J$ L![]() 图 44
3 D. t% [% V, I此处一共写30MByte测试数据到NAND FLASH的MTD6分区下,可看到本次测试的NAND FLASH写速度约为:30MB/6.62s=4.53MB/s。
: x. }; e/ n1 i& G- NAND FLASH读速度测试9 ?" x8 _, D2 b8 K" |5 @8 F
重启评估板,进入评估板系统,执行如下命令对NAND FLASH进行读速度测试。+ w U, I% Q0 {0 f4 R
Target#time dd if=/dev/mtd6 of=/dev/null bs=1024k z! p+ ^+ K8 Y& i/ M4 Y
![]() 图 45 * c, X4 f# y0 |8 w
此处从NAND FLASH的MTD6分区读取30MByte数据,可看到本次测试的NAND FLASH读速度约为:30MB/2.59s=11.58MB/s。
! N8 a; |- n+ M/ Y
2 y$ H- Y2 _$ O2 k9 p1.11调试串口切换测试1.11.1调试串口切换测试UART3使用RS232交叉串口母线、USB转RS232公头串口线,将评估板的RS232串口连接到PC机的USB接口,如下图所示。
; w' p) `0 C/ z, N![]() 图 46 ; @* w/ f3 E# R6 `. h' v- N
打开设备管理器,确认RS232串口的COM端口号,如下图所示。, p8 {' O; I/ V! { M' ~8 T) x% W
![]() 图 47
5 T( P# S& w8 v% o+ f% F打开串口调试终端,选择正确的COM口,波特率为115200,8N1,无检验位,并建立串口连接,如下图所示。0 e! J# {# \) F" B
![]() 图 48
. m3 p) ^* |/ E, }进入评估板文件系统,执行如下命令将调试串口切换为RS232串口。
% s8 R* ~1 _6 ETarget#setsid getty 115200 ttyS31 Q$ v# i+ K& y6 Z6 @. W: g* ]
![]() 图 49
8 R% d4 V _; a! r/ U8 g0 h! P执行命令后,将会在新建的RS232串口会话框中打印如下类似登录信息,请输入用户名root并按回车键登陆,如下图所示。
7 m+ }, [, Y$ \+ n+ l![]() 图 50
( `) ] `( A1 q" o$ l1.11.2调试串口切换RS485串口UART4使用RS232转RS485模块、USB转RS232公头串口线,将评估板的RS485串口连接到PC机的USB接口,如下图所示。# f1 H( g8 i" L: j
![]() 图 51 ! w: C7 s7 F" I& X
RS232转RS485模块与评估板上RS485串口连接方法如下:
- |2 A' {3 X" S1 d- _$ F0 |1 U- RS232转RS485模块485+端子,连接评估板RS485串口A端子。
- RS232转RS485模块485-端子,连接评估板RS485串口B端子。
- RS232转RS485模块GND端子,连接评估板RS485串口GND端子。
( k# q# i! Q/ g; { 打开设备管理器,确认RS485串口的COM端口号,如下图所示。
9 h- l9 L) s4 V![]() 图 52
$ M9 A( I+ d& }. b2 X" v打开串口调试终端,选择正确的COM口,波特率为115200,8N1,无检验位,并建立串口连接,如下图所示。
7 [! a% O n, t0 p2 ]& P![]() 图 53 : }/ @1 _: g' |. Z/ q t' K
如需同时使用两个调试串口,则进入评估板系统后执行如下命令创建一个新用户(比如Tronlong),用户密码自定义。如无需同时使用两个调试串口,则可不创建新用户。
* f# l3 u V J( X% PTarget#adduser Tronlong9 r. G w( }" A, @& _+ `
![]() 图 54
- Z# S) D q5 M; a' j执行如下命令将调试串口切换到RS485串口。: ?1 i; |$ }- r% Y7 Y
Target#setsid getty 115200 ttyS4
* ]7 [# E2 ?2 W1 y![]() 图 55 7 a, k+ w/ s( u
执行命令后,会在新建的RS485串口会话框中打印类似如下登录信息,请输入用户名root再按回车键登陆,或输入用户名Tronlong再输入自定义密码登陆,如下图所示。4 g: V/ D0 O# \: O
![]() 图 56
( L) w* S- D0 c, Q+ R& j! f5 Y1.12 7英寸LCD触摸屏测试评估板默认支持的7英寸LCD触摸屏型号为Tronlong的TL070A,请通过FFC软排线将LCD与评估板连接。
# ?6 o+ h$ W5 L6 \* }& q' R- I评估板上电,进入文件系统后即可看到LCD显示Matrix Qt界面,如下图所示。) h: k. U; { b
![]() 图 57 4 {* h8 T! O1 V3 G
- LCD触摸屏校准测试
8 s' {; S1 K' s3 A 在执行触摸屏校准程序之前,执行如下命令关闭Matrix用户界面程序,如有其它界面程序,请一并关闭。
. S; Y) Q+ R2 R% J! {. c4 p9 S) V, jTarget#/etc/init.d/matrix-gui-2.0 stop
1 V( C1 Y5 |3 y9 q4 ~( }执行如下命令进行触摸屏校准。
% x& u3 [8 C9 W: {2 s7 QTarget#ts_calibrate! {& Y j i8 w- C. }
执行命令后LCD会弹出校准界面,如下图所示,请依次点击校准准星。连续点击五次之后,会在文件系统”/etc/”目录下生成触摸屏校准文件pointercal,校准后的信息记录在pointercal文件中。: F+ O# z1 O& ~$ y$ H& {
图 58 , u1 s0 L: q+ A
图 59 , f9 h0 r! d5 W; B) \
执行如下命令重新启动系统界面。
+ r0 f7 g; o' t1 A" }7 N1 x5 r1 TTarget#/etc/init.d/matrix-gui-2.0 start
' s( j! d( \% p) U" J![]() 图 60
; w* q6 v5 F/ ~. K9 k# G3 P- LCD触摸屏亮度调节测试1 a' t+ C3 e& E, Q$ O
LCD屏幕的背光支持8级变化,亮度级数为1~8,关闭为0,最亮为8。
1 L4 q- g3 a& _1 @7 p进入评估板文件系统,执行如下命令查看最高亮度级数。( n! `; p! W& \6 G [( ~
Target# cat /sys/class/backlight/backlight/max_brightness
) }5 n6 p- N& s4 v3 w查看当前亮度,执行如下命令。" ^' `- h& n* D- b/ Z- P
Target# cat /sys/class/backlight/backlight/brightness9 y3 \4 a* J; g7 l" ^
执行如下命令,通过修改亮度级数参数改变屏幕亮度。1 k8 G. V: h) a2 M$ L$ {! ^
Target# echo 6 > /sys/class/backlight/backlight/brightness
4 L' h. C, ` `8 V, G' R& Y: U![]() 图 61
& v6 q& ^1 ?# g2 K+ V: q- 基础设备树文件7英寸LCD显示屏配置说明
# Q" y8 K2 |+ O: m 评估板基础设备树文件为内核源码”arch/ARM/boot/dts/tl437x-evm.dts”,默认配置为7英寸LCD显示。查看LCD显示屏数据手册,关键参数如下。
8 S; g- p# A4 L![]() 图 62 ![]() 图 63
3 j; @, s6 J4 M基础设备树文件tl437x-evm.dts的7英寸LCD显示参数配置如下。
6 }! [& p: g) n/ v9 e7 J/ k1 F; ?5 w. t' {5 D5 b
&lcd0 {! U* m- l9 A) F2 g& c% b
panel-timing {
" u/ [: q7 m9 ^, {2 Oclock-frequency = <33000000>;9 n1 ?6 l0 R7 a
hactive = <800>;& ]! \" ^# U' g" q4 J, x( w. z
vactive = <480>;. t9 r% w! J1 U1 r; o# ]
hfront-porch = <40>;! L7 V2 _" D7 Q
hback-porch = <40>;$ r W* b1 c0 r: y( P
hsync-len = <48>;. v0 V% I, }7 ]* |! ~$ B d' r
vback-porch = <29>;& r0 Z4 L8 p9 [; u
vfront-porch = <13>;- X9 D3 `( }$ q' I" m7 D; R
vsync-len = <3>; i) H* d# B) z9 ^
hsync-active = <0>;
4 W( q1 Q0 r3 m, k$ I) m. Yvsync-active = <0>;
& u# L5 [2 o) Y) X! ]de-active = <1>;: ]3 q3 ~! K' X3 Z" g
pixelclk-active = <1>;
' ?; d) K% H5 i};) v5 w9 I7 M* o; |" ~' G' ]
};" S6 U* {. S% {/ [
7 s8 f+ _8 ]2 `# d7 a1.13 12.1英寸LVDS显示屏测试评估板基础设备树文件为内核源码“arch/arm/boot/dts/tl437x-evm.dts”,默认配置为7英寸LCD显示,可通过对设备树文件进行修改以支持不同尺寸的显示屏。
" m! K( O1 s' x* Q! H评估板支持的12.1英寸LVDS显示屏型号为友达的G121SN014 V4。查看12.1英寸LVDS显示屏数据手册 ,关键参数如下。手册中未说明Front-porch、Back-porch、Sync-len等典型值,仅给出总的行/帧同步时间Blanking,可将总同步时间合理划分为对应的Front-porch、Back-porch、Sync-len时间。手册并未说明Hsync、Vsync的极性,默认低电平有效。) B; h) n5 D3 ]
![]() 图 64 ![]() 图 65 7 \ a+ [6 F% \2 h
根据以上关键参数,如需使用12.1英寸LVDS显示屏,则基础设备树文件tl437x-evm.dts的LCD显示参数需进行如下配置。
: y) v6 ]; V7 k1 r2 _6 r6 h$ h( @6 i+ A9 _* i: Q% @
&lcd0 { j/ d& ]2 t6 f& ^1 v( s; H0 l; b/ x# r
panel-timing {
8 s9 [' g! R% B3 Z' b( c1 Oclock-frequency = <40000000>;
, q1 @# ~0 |- uhactive = <800>;
/ ]; v6 P; k5 P7 S/ g. pvactive = <600>;
; b5 c8 ?8 o9 p- C2 _/ ^( R7 `hfront-porch = <100>;' b( }% c1 i# z7 N2 u$ O- D8 j5 g
hback-porch = <60>;+ R9 y# @7 L0 V
hsync-len = <96>;
, [. u( G8 _- R' R$ cvback-porch = <5>;, n; l0 t1 ?' q5 u4 q
vfront-porch = <13>;
8 K$ T$ V" S0 F5 w" Avsync-len = <10>;
; n; C) l, m6 a$ K0 h& Qhsync-active = <0>;% M; D5 M0 i% L; w& E! k, w, `9 n
vsync-active = <0>;( ~; U4 s9 K z0 z- f6 r( }
de-active = <1>;
( a8 s+ n, T% H1 Spixelclk-active = <0>; /* 配置LCD像素时钟下降沿传输数据,而不是直接根据
$ \) g: F8 ~. D- L1 u8 [极性分析得出的上升沿*/
; K, V6 g& W r( p* `1 i};3 l( N" S' k4 Z# d& Q' `, G, K+ C
};
9 v1 @1 I/ ~/ \9 s5 k8 o3 B2 ~3 c# I% s
1 P/ d, z* w6 l) e8 P3 Y: _修改后请将tl437x-evm.dts文件重新编译生成dtb文件,dtb文件编译方法请查看Linux内核编译手册的设备树文件编译小节。1 n: X3 \7 m5 T0 Y' @5 B8 _
使用TL-LVDSLCD-A3转接板将12.1英寸LVDS显示屏与评估板连接,如下图所示。
4 y8 c% y' _# V4 G5 j( @$ i& P4 l![]() 图 66
% L' ~! y/ {7 q! ^+ k; Z4 y使用新生成的dtb文件启动评估板,进入文件系统后即可看到LVDS屏幕显示Matrix Qt界面,如下图所示。+ b3 h+ v7 V/ O, S
![]() 图 67
% }- T# |# h/ `( R( P |
|