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所示的设备,鼠标右键单击该设备并选择“更新驱动程序软件”:

PNG

图 1-2

  • 选中“浏览计算机以查找驱动程序软件”,如图 1-3所示:

PNG

图 1-3

  • 指定USB驱动的路径,在光盘03-Tools\USBDriver目录下,然后点击“下一步”,等待驱动安装完毕,如图 1-4所示:

PNG

图 1-4

  • 驱动安装完成后,在“设备管理器”中会新增如图1-5所示USB网络设备:

PNG

图 1-5

  • 在“网络连接”里可以看到,PC端会增加一个虚拟网卡

  • 在电脑端的右键单击虚拟网卡图标,左键单击“属性”,左键双击进入“Internet协议(TCP/IP)”,配置虚拟网卡的IP地址如图1-6所示:

PNG

图 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