Linux 系统的使用
触摸屏的校准测试
如果需要校准触摸屏可通过以下步骤进行:
打开超级终端(波特率:115200,数据位:8,奇偶校验:无,停止位:1,数据流控制:无)
光盘的文件系统里已经自带有4.3寸屏和7.0寸屏的默认校准配置,如果需要重新校准,可以手动执行ts_calibrate校准程序,此时依次点击LCD屏上的5个“+”校准点即可进行校准,同时串口终端上输出以下的打印信息:
xres = 480, yres = 272
Took 6 samples...
Top left : X = 563 Y = 880
Took 6 samples...
Top right : X = 3555 Y = 920
Took 6 samples...
Bot right : X = 3566 Y = 3133
Took 9 samples...
Bot left : X = 568 Y = 3058
Took 2 samples...
Center : X = 2020 Y = 1903
-19.553650 0.126868 -0.000548
-15.654297 -0.001530 0.078228
Calibration constants: -1281468 8314 -35 -1025920 -100 5126 65536
触摸屏的背光测试
背光的亮度设置范围为(1—100),1表示亮度最高;100表示关闭背光亮度。进入系统后在终端下输入如下命令进行背光测试。
- 查看背光的亮度默认值
# cat /sys/class/backlight/pwm-backlight/brightness
50
- 设置背光亮度为0
# echo 100 > /sys/class/backlight/pwm-backlight/brightness
# cat /sys/class/backlight/pwm-backlight/brightness
0
此时背光被关闭,屏幕是黑的。
- 把屏幕亮度设置为100
# echo 1 > /sys/class/backlight/pwm-backlight/brightness
# cat /sys/class/backlight/pwm-backlight/brightness
100
此时屏幕达到最大亮度。
按键测试
用户可执行以下命令对开发板上的K2和K3按键进行测试,按下键时会出现相应的打印信息(注:如果使用event0按下按键时没有串口终端输出信息,可换成event1或event2再做尝试):
# evtest /dev/input/event0
Input driver verevdev: (EVIOCGBIT): Suspicious buffer size 511, limiting output to 64 bytes. See http://userweb.kernel.org/~dtor/eviocgbit-bug.html
sion is 1.0.1
Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100
Input device name: "gpio-keys"
Supported events:
Event type 0 (Sync)
Event type 1 (Key)
Event code 1 (Esc)
Event code 102 (Home)
Testing ... (interrupt to exit)
Event: time 1233046739.924451, type 1 (Key), code 1 (Esc), value 1
Event: time 1233046739.924457, -------------- Report Sync ------------
Event: time 1233046740.171292, type 1 (Key), code 1 (Esc), value 0
Event: time 1233046740.171297, -------------- Report Sync ------------
Event: time 1233046744.075984, type 1 (Key), code 1 (Esc), value 1
Event: time 1233046744.075989, -------------- Report Sync ------------
Event: time 1233046744.296675, type 1 (Key), code 1 (Esc), value 0
Event: time 1233046744.296677, -------------- Report Sync ------------
Event: time 1233046747.364793, type 1 (Key), code 102 (Home), value 1
Event: time 1233046747.364798, -------------- Report Sync ------------
Event: time 1233046747.581543, type 1 (Key), code 102 (Home), value 0
Event: time 1233046747.581546, -------------- Report Sync ------------
USB HOST测试
- 在通过终端进入Linux后,将U盘插入到开发板J3或J4的USB host口,这时可以在超级终端上查看到系统自动挂载的U盘文件系统在/media/sda1目录下:
# usb 2-1.4: new high speed USB device number 4 using musb-hdrc
usb 2-1.4: New USB device found, idVendor=0781, idProduct=5406
usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-1.4: Product: U3 Cruzer Micro
usb 2-1.4: Manufacturer: SanDisk
usb 2-1.4: SerialNumber: 4320221AE8131B7D
scsi0 : usb-storage 2-1.4:1.0
scsi 0:0:0:0: Direct-Access SanDisk U3 Cruzer Micro 8.02 PQ: 0 ANSI: 0 CCS
sd 0:0:0:0: [sda] 7913471 512-byte logical blocks: (4.05 GB/3.77 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] No Caching mode page present
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] No Caching mode page present
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda: sda1
sd 0:0:0:0: [sda] No Caching mode page present
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Attached SCSI removable disk
# cd /media
# ls
card hdd mmcblk0p1 ram sda1
cf mmc1 net realroot union
- 输入命令查看U盘内容:
# ls sda1/
u-boot.img mlo uImage
ramdisk.gz ubi.img
USB DEVICE测试
USB DEVICE测试主要是使用连接线连接开发板的miniUSB接口与电脑端的USB接口,对于电脑端,开发板被识别成一个网络设备,实现两端ping通讯。
- 开发板上的系统起来后,使用USB mini B to USB A转接线连接开发板(J2接口)与电脑端,其中USB mini B接口连接开发板,USB A接口连接电脑端,此时在电脑的“设备管理器”中可以看到如图1-2所示的设备,鼠标右键单击该设备并选择“更新驱动程序软件”:
图 1-2
- 选中“浏览计算机以查找驱动程序软件”,如图 1-3所示:
图 1-3
- 指定USB驱动的路径,在光盘03-Tools\USBDriver目录下,然后点击“下一步”,等待驱动安装完毕,如图 1-4所示:
图 1-4
- 驱动安装完成后,在“设备管理器”中会新增如图1-5所示USB网络设备:
图 1-5
在“网络连接”里可以看到,PC端会增加一个虚拟网卡
在电脑端的右键单击虚拟网卡图标,左键单击“属性”,左键双击进入“Internet协议(TCP/IP)”,配置虚拟网卡的IP地址如图1-6所示:
图 1-6
- PC端配置好后,在开发板上配置开发板的IP和usb虚拟网卡的IP地址在同一网段,在超级终端输入以下命令,例如:
# ifconfig usb0 192.168.1.115
# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
usb0 Link encap:Ethernet HWaddr 32:DC:39:3B:E6:84
inet addr:192.168.1.115 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:656 (656.0 B) TX bytes:0 (0.0 B)
- 在超级终端中使用ping命令测试开发板是否设置成功:
# ping 192.168.1.15
PING 192.168.1.15 (192.168.1.15): 56 data bytes
64 bytes from 192.168.1.15: seq=0 ttl=128 time=1.007 ms
64 bytes from 192.168.1.15: seq=1 ttl=128 time=0.434 ms
64 bytes from 192.168.1.15: seq=2 ttl=128 time=0.500 ms
- 出现上述串口信息,代表测试成功
注意:OTG配置的网卡IP地址不能与以太网接口的IP地址一样。
TF卡的使用
- 上电前插入MicroSD卡后,启动后通过超级终端可以看到TF卡的文件系统挂载到了/media/mmcblk0p1目录:
# cd /media/
# ls
card hdd mmcblk0p1 ram union
cf mmc1 net realroot
- 输入指令查看TF卡中的内容:
# ls mmcblk0p1/
u-boot.img mlo uImage
ramdisk.gz ubi.img
录放音测试
AM335X开发板上有音频输入输出接口,可进行录音与放音。文件系统中带有alsa-utils音频播放录制的测试工具,通过输入以下步骤来对音频的输入输出接口进行测试.
- 录音测试:
在音频输入接口插上麦克风进行录音测试:
# arecord -t wav -c 1 -r 44100 -f S16_LE -v record
Recording WAVE 'record' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono
Plug PCM: Route conversion PCM (sformat=S16_LE)
Transformation table:
0 <- 0*0.5 + 1*0.5
Its setup is:
stream : CAPTURE
access : RW_INTERLEAVED
format : S16_LE
subformat : STD
channels : 1
rate : 44100
exact rate : 44100 (44100/1)
msbits : 16
buffer_size : 32768
period_size : 2048
period_time : 46439
tstamp_mode : NONE
period_step : 1
avail_min : 2048
period_event : 0
start_threshold : 1
stop_threshold : 32768
silence_threshold: 0
silence_size : 0
boundary : 1073741824
Slave: Hardware PCM card 0 'AM335X EVM' device 0 subdevice 0
Its setup is:
stream : CAPTURE
access : MMAP_INTERLEAVED
format : S16_LE
subformat : STD
channels : 2
rate : 44100
exact rate : 44100 (44100/1)
msbits : 16
buffer_size : 32768
period_size : 2048
period_time : 46439
tstamp_mode : NONE
period_step : 1
avail_min : 2048
period_event : 0
start_threshold : 1
stop_threshold : 32768
silence_threshold: 0
silence_size : 0
boundary : 1073741824
按下“ctrl+c”结束录音,在当前目录下生成一个名为“record”的音频文件
- 放音测试:
在音频输出接口插上耳机,执行以下操作(record是前面录音输出的音频文件),即可听到之前录入的声音:
# aplay -t wav -c 2 -r 44100 -f S16_LE -v record
Playing WAVE 'k' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono
Plug PCM: Route conversion PCM (sformat=S16_LE)
Transformation table:
0 <- 0
1 <- 0
Its setup is:
stream : PLAYBACK
access : RW_INTERLEAVED
format : S16_LE
subformat : STD
channels : 1
rate : 44100
exact rate : 44100 (44100/1)
msbits : 16
buffer_size : 32768
period_size : 2048
period_time : 46439
tstamp_mode : NONE
period_step : 1
avail_min : 2048
period_event : 0
start_threshold : 32768
stop_threshold : 32768
silence_threshold: 0
silence_size : 0
boundary : 1073741824
Slave: Hardware PCM card 0 'AM335X EVM' device 0 subdevice 0
Its setup is:
stream : PLAYBACK
access : MMAP_INTERLEAVED
format : S16_LE
subformat : STD
channels : 2
rate : 44100
exact rate : 44100 (44100/1)
msbits : 16
buffer_size : 32768
period_size : 2048
period_time : 46439
tstamp_mode : NONE
period_step : 1
avail_min : 2048
period_event : 0
start_threshold : 32768
stop_threshold : 32768
silence_threshold: 0
silence_size : 0
boundary : 1073741824
网口的测试
注:开发板上丝印为ETH0的网口跟系统内的eth1对应,丝印为ETH1的网口跟系统内的eth0对应。
MYD-AM335X有两个网口,分别为eth0和eth1,这里以测试eth0为例,测试eth1也可以使用同样的方法,但要记得使用以下命令来禁用eth0:
# ifconfig eht0 down
把开发板和PC机用交叉网线相连,或者把开发板用直通网线连接到交换机或路由器上。请注意,对于使用交叉线与PC机连接的方法,如果开发板需要访问外网要求PC端具有双网卡,其中网卡一与开发板连接,网卡二与外网连接,并将网卡一与网卡二设置为桥接模式。以下的测试用的就是交叉线连接+PC双网卡桥接的模式。
在PC机的“网络连接”窗口中,选中需要桥接的两个网卡,右击并在右键菜单中选择“桥接”,将两个网卡进行桥接(以WindowsXP/Windows 7为例);
通过超级终端,为开发板配置一个不被当前局域网其他设备占用的IP地址,本例中使用地址为:192.168.1.222:
# ifconfig eth0 192.168.1.222 up
- 通过ping命令测试开发板与PC机网络是否成功连接(这里主机IP为192.168.1.13)。 在PC机上ping开发板:
# ping 192.168.1.13
PING 192.168.1.13 (192.168.1.13): 56 data bytes
64 bytes from 192.168.1.13: seq=0 ttl=64 time=2.298 ms
64 bytes from 192.168.1.13: seq=1 ttl=64 time=0.401 ms
64 bytes from 192.168.1.13: seq=2 ttl=64 time=0.412 ms
64 bytes from 192.168.1.13: seq=3 ttl=64 time=0.356 ms
--- 192.168.1.13 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 0.356/0.866/2.298 ms
CAN测试
MYD-AM335X开发板有一个CAN口,通信波特率最高可达1M。可通过以下步骤来对CAN口进行测试(这里使用两块MYD-AM335X开发板进行测试)。
用连接线将两块开发板上U16的第7脚(CANL)和第8脚(CANH)互相连接;
分别将两块板上的can0通信波特率都设置为50KBps,并使能can0设备:
# canconfig can0 bitrate 50000 ctrlmode triple-sampling on
# canconfig can0 start
- 在一块开发板上执行以下命令让can0处于接收状态:
# candump can0
执行命令后,当收到数据时会在终端下打印接收到的数据。
- 执行以下命令从can0发送数据包:
注意:
* 该指令每次只发送一次数据,若再次发送数据,需重新输入该命令
* 要确保另一端处于接收状态。这样接收端才会打印发送的信息
# cansend can0 123#1122334455667788
执行该命令后,注意观察接收端,看是否收到发送端发过来的数据。
- 关闭can0设备:
# canconfig can0 stop
RS485测试
MYD-AM335X开发板有一个RS485口,通信波特率最高可达115200。可通过以下步骤来对RS485进行测试(这里使用两块MYD-AM335X开发板进行测试)。
用连接线将两块开发板上的U16的第4脚(RS485A)和第5脚(RS485B)互相连接;
拷贝05-Linux_Source\Examples\RS485_Test目录下的测试程序rs485_test到TF卡,并从TF卡中分别拷贝到两块开发板上:
# cp /media/mmcblk0p1/rs485_test ./
# chmod +x rs485_test
- 分别在两块开发板上执行如下命令,在终端上看到如下的信息,表示RS485测试成功:
# ./rs485_test -d /dev/ttyO1 -b 9600
/dev/ttyO1 SEND: 1234567890
/dev/ttyO1 RECV 10 total
/dev/ttyO1 RECV: 1234567890
/dev/ttyO1 SEND: 1234567890
/dev/ttyO1 RECV 10 total
/dev/ttyO1 RECV: 1234567890
/dev/ttyO1 SEND: 1234567890
/dev/ttyO1 RECV 10 total
/dev/ttyO1 SEND: 1234567890
RTC使用
开发板带硬件时钟,用于保存并恢复系统时间,可参考如下方法进行测试。
设置系统时间为2014年1月10日下午2点17分:
date 011014172014
Fri Jan 10 14:17:00 UTC 2014
把系统时钟写入RTC:
# hwclock -w
- 读取RTC:
# hwclock
Fri Jan 10 14:17:22 2014 0.000000 seconds
可以看到,硬件时钟RTC被设置成2014年1月10日,系统时钟被保存到硬件时钟里。
- 重启系统,输入以下命令恢复系统时钟:
# hwclock -s
# date
Fri Jan 10 14:19:55 UTC 2014
可以看到,系统时间被恢复为硬件时间。
注意:RTC存在断电后时间停止的BUG,此为CPU本身存在的问题,详情请看TI发布的堪误表。
串口测试
短接J13的RX和TX管脚,拷贝05-Linux_Source\Examples\RS232_Test目录下的串口测试程序rs232_test到TF卡中,将TF卡插入MYD-AM335X的TF卡座子,在linux终端输入如下命令:
# cp /media/mmcblk0p1/rs232_test ./
# chmod +x rs232_test
# ./rs232_test -d /dev/ttyO2 -b 115200
打印如下信息表示测试成功:
/dev/ttyO2 SEND: 1234567890
/dev/ttyO2 RECV 10 total
/dev/ttyO2 RECV: 1234567890
/dev/ttyO2 SEND: 1234567890
/dev/ttyO2 RECV 10 total
/dev/ttyO2 RECV: 1234567890
/dev/ttyO2 SEND: 1234567890
/dev/ttyO2 RECV 10 total
/dev/ttyO2 RECV: 1234567890
/dev/ttyO2 SEND: 1234567890
/dev/ttyO2 RECV 10 total
/dev/ttyO2 RECV: 1234567890
/dev/ttyO2 SEND: 1234567890
/dev/ttyO2 RECV 10 total
HDMI测试
MYD-AM335X有一个HDMI(High Definition Multimedia Interface,高清晰度多媒体接口),可将显示器通过HDMI线跟开发板连接,然后在显示器上获得更高清晰度的图像输出。下面介绍在MYD-AM335X上使用HMDI的具体步骤。
注:如果使用的是用对应HDMI配置文件编译出来的u-boot,HDMI可直接使用,无需进行以下步骤,编译u-boot的步骤请参考 1.4.3 安装Uboot源码并编译。使用HDMI时不能同时使用LCD。
将显示器通过HDMI线跟开发板正确连接
启动开发板,在u-boot的提示读秒处按下键盘上的任意键进入u-boot
在u-boot命令行下输入以下命令设置显示模式,可支持的显示模式有:hdmi640x480、hdmi720p,这里以使用 hdmi720p的显示模式为例:
Hit any key to stop autoboot: 0
# set optargs 'board-am335xevm.display_mode=hdmi720p'
- 输入boot命令启动系统:
# boot
- 系统启动后,可在显示器上看到图像输出。
双网口的使用
注:开发板上丝印为ETH0的网口跟系统内的eth1对应,丝印为ETH1的网口跟系统内的eth0对应。 MYD-AM335X的两个网口可以同时使用,这里以给两个网口分别配置两个不同网段的IP,然后ping对应网段内的
其它主机IP为例说明双网口的使用。
- 配置开发板eth0的IP,以192.168.1.2为例,在开发板上输入以下命令:
# ifconfig eth0 192.168.1.2
- 配置开发板eth1的IP,以192.168.2.2为例,在开发板上输入以下命令:
# ifconfig eth1 192.168.2.2
- 测试开发板两个网口的网络连通性
假设当前192.168.1.0的网段内有一个IP地址为192.168.1.3的主机,192.168.2.0网段内有一个IP地址为192.168.2.3的主机,在开发板上执行以下命令测试eth0:
# ping 192.168.1.3
输出以下信息表示eth0跟网络连通:
PING 192.168.1.3 (192.168.1.3): 56 data bytes
64 bytes from 192.168.1.3: seq=0 ttl=128 time=9.689 ms
64 bytes from 192.168.1.3: seq=1 ttl=128 time=3.865 ms
64 bytes from 192.168.1.3: seq=2 ttl=128 time=3.807 ms
64 bytes from 192.168.1.3: seq=3 ttl=128 time=3.730 ms
在开发板上输入以下命令测试eth1:
# ping 192.168.2.3
输出以下信息表示eth1跟网络连通:
PING 192.168.2.3 (192.168.2.3): 56 data bytes
64 bytes from 192.168.2.3: seq=0 ttl=64 time=0.453 ms
64 bytes from 192.168.2.3: seq=1 ttl=64 time=0.208 ms
64 bytes from 192.168.2.3: seq=2 ttl=64 time=0.147 ms
64 bytes from 192.168.2.3: seq=3 ttl=64 time=0.132 ms