您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页DM8148 Demo程序测试

DM8148 Demo程序测试

来源:爱go旅游网


DM8148 Demo程序测试

Revision History Draft Date 2016/07/28 Revision No. V1.2 1.添加FAN测试 2.添加CAN测试 3.整合H.264编解码例程 4.添加ddr3读写速率测试 2016/04/07 V1.1 1.排版修改。 2.更新测试内容。 2015/12/31 V1.0 1.初始版本。 Description

目 录

1 2 3 4 5 6 7 8 9

开发板系统启动 .................................................................................................................. 3 拷贝文件到开发板方法 ...................................................................................................... 5 helloworld应用例程演示.................................................................................................... 6 LED测试 ............................................................................................................................... 7 按键测试 .............................................................................................................................. 9 串口启动测试 .................................................................................................................... 10 HDMI OUT测试.................................................................................................................. 10 运行Matrix用户界面程序 ............................................................................................... 11 网口测试 ............................................................................................................................ 11

10 LCD触摸屏校准和亮度调节 ............................................................................................. 15 11 SD卡测试 ........................................................................................................................... 16 12 SATA硬盘接口测试........................................................................................................... 17 13 DDR3读写速率测试 .......................................................................................................... 20 14 15 16

时钟设置 ...................................................................................................................... 21 系统信息查询 .............................................................................................................. 22 程序上电自动运行 ...................................................................................................... 25

17 FAN测试 ............................................................................................................................ 26 18 CAN测试 ............................................................................................................................ 26 19 1080p30 decode使用 ........................................................................................................ 29

LCD显示 ............................................................................................................................. 29 HDMI输出.......................................................................................................................... 29 20 GStreamer H.264编解码使用 ........................................................................................... 30

LCD显示 ............................................................................................................................. 30 HDMI输出.......................................................................................................................... 30

1 开发板系统启动

(1) 使用开发板UART0串口连接PC机。如实验无特别说明,默认都是使用UART0作

为调试串口。

(2) 打开并且配置串口调试终端\"SecureCRT 7.2\"。Protocol选择Serial,Port选择相应

COM口,波特率为115200b/s,其他参数默认不变,最后点击Connect连接。如下图所示:

图 1

备注:具体安装方法请查阅“软件安装教程”。COM口需要在“设备管理器->端口(COM和LPT)”处查看。

(3) 将开发板断电,拨码开关(5~1)对应拨动到01100,使用第一启动档位为Micro

SD(MMC0)。启动选择方式如下表所示:

注意:拨码开关ON=1,OFF=0。

表 1 SW2 BOOT BIT[5:1]

Nand-16 GPMC SPI0 MMC1 UART0 EMAC0

10010 10110 10111 00001 00100

(4) 接通电源,UART0串口会有以下的U-Boot、内核和文件系统的调试信息打印到终

端上。如下图所示:

图 2

(5) 启动完成,输入账号,进入系统。执行如下操作: 备注:初次启动需要校正屏幕。 Target#

root

图 3

2 拷贝文件到开发板方法

文件拷贝到开发板有如下几种方式:

(1) SD卡、U盘等存储介质拷贝方式; (2) NFS、TFTP等网络拷贝方式; (3) 串口拷贝方式;

通过SD卡拷贝文件到开发板的方法

下面以SD卡方式演示如何拷贝文件到开发板。将配套的SD系统启动卡插到PC机,

然后把需要拷贝到开发板的文件复制到SD卡的boot分区,如下图所示:

图 4

将SD卡插到开发板并启动系统,查看分区信息,SD卡的boot分区挂载在\"/media/mmcblk0p1\"目录下,执行如下命令查看:

Target# Target#

df

ls / media/mmcblk0p1

图 5

3 helloworld应用例程演示

源代码位于光盘\"demo\\app\\helloworld\"目录 程序可执行镜像:helloworld 程序源代码:helloworld.c

(1) 将光盘\"demo\\app\\helloworld\"下的镜像文件helloworld复制SD卡或者开发板文件

系统\"/home/root\"下。

(2) 在SD卡helloworld镜像文件的当前路径下运行helloworld可执行文件。例如执行

如下命令:

Target# Target#

cd /media/mmcblk0p1 ./helloworld

图 6

(3) 还可以选择直接输入路径,运行程序。执行如下代码: Target#

/media/mmcblk0p1# /media/mmcblk0p1/helloworld

图 7

(4) helloworld程序说明:

#include //头文件包含 int main(void) //主函数 { }

printf(\"Hello World!\\nThis is TL8148-EasyEVM\\nwww.tronlong.com\\n\"); return 0; //调用函数打印,给系统返回值

4 LED测试

图 8 TL8148-EasyEVM与GPIO对应

(1) 在\"sys/calss/leds\"目录有3个LED控制目录,对应关系如下: LED1(GPIO0[27]):user_led1 LED2(GPIO0[21]):user_led2 LED3(GPIO0[30]):user_led3

(2) 逐个点亮对应LED,执行如下命令: Target# Target# Target# Target# Target# Target# Target#

modprobe tl8148evm-user-leds //加载驱动

echo 0 > /sys/class/leds/user_led1/brightness echo 1 > /sys/class/leds/user_led1/brightness echo 0 > /sys/class/leds/user_led2/brightness echo 1 > /sys/class/leds/user_led2/brightness echo 0 > /sys/class/leds/user_led3/brightness echo 1 > /sys/class/leds/user_led3/brightness

//控制LED1灭 //控制LED1亮 //控制LED2灭 //控制LED2亮 //控制LED3灭 //控制LED3亮

图 9

(3) 流水灯点亮,LED测试脚本存放于光盘中,路径如下: led_loop.sh:\\demo\\app\\led\\led_loop.sh

将led_loop.sh复制到开发板的文件系统,启动开发板,进入脚本存放路径,循环点

亮相应的LED。在串口终端执行如下命令: Target#

图 10

./led_loop.sh & //&表示以后台方式运行

按\"Ctrl+C\"终止运行测试脚本程序。

5 按键测试

开发板底板上有2个普通用户按键KEY0和KEY1,另外一个NMI是非屏蔽中断按键。

//测试程序镜像 //测试程序源码

button_test:demo\\app\\button\\button_test

button_test.c:demo\\app\\button\\button_test.c

(1) 将源码button_test.c复制到Ubuntu任意路径下,进入源码存放路径。 (2) 编译源码,执行如下命令: Target#

arm-none-linux-gnueabi-gcc button_test.c -o button_test

图 11

(3) 将button_test复制到开发板的文件系统,启动开发板,进入脚本存放路径,测

试按键。在串口终端执行如下命令: Target# s.ko Target#

./ button_test

insmod lib/modules/2.6.37/kernel/arch/arm/mach-omap2/tl8148evm-user-key

图 12

(4) 分别按下KEY0、KEY1,打印如下信息:

图 13

6 串口启动测试

(1) 开发板上启动方式选择为:UART0,拨码开关选择为:11010(5~1)。

(2) 打开串口终端(SecureCRT),连接UART0到计算机,然后接通电源,串口终端会打

印\"cccccccccc\"。如下图所示:

图 14

7 HDMI OUT测试

将开发板的HDMI out接口与带HDMI输入的显示屏连接,进入开发板系统,执行如

下命令进行切换HDMI显示matrix用户界面: Target# Target#

cd /usr/share/ti/ti-media-controller-utils/

./change_display.sh hdmi //如需切换lcd,则输入lcd

图 15

重启系统: Target#

reboot

重新进入系统后,执行如下命令开启Matrix界面:

Target#

/etc/init.d/matrix-gui-e start

图 16

此时即可看到显示屏显示Matrx用户界面了。

8 运行Matrix用户界面程序

文件系统中有Matrix用户界面程序,启动脚本在开发板文件系统的路径为:

matrix-gui-2.0:/etc/init.d/matrix-gui-e

执行以下命令运行Matrix Qt用户界面程序:

/etc/init.d/matrix-gui-e stop //开发板已经设置上电自动执行此程序,先终止 /etc/init.d/matrix-gui-e start

Target# Target#

运行程序后LCD会出现Matrix用户界面,执行以下命令终止运行Matrix用户界面程

序的运行: Target#

/etc/init.d/matrix-gui-e stop

以上命令仅仅是暂时停止Matrix 用户界面程序的运行,系统重新启动后依然会自动

运行。若希望上电不要自动自行Matrix 用户界面程序,可以执行以下命令: Target#

图17

mv /etc/rc5.d/S99matrix-gui-e /etc/rc5.d/K99matrix-gui-e

\"/etc/rc5.d\"目录下所有以S开头的脚本都会上电自动运行,改名为K开头后就不会上

电自动运行了。可在启动后执行前面的命令手动启动或关闭Matrix用户界面程序。

9 网口测试 (1) 硬件连接

通过网线将开发板网口连接到路由器,检查网口是否绿灯常亮、黄灯闪烁。若现象不

对,说明网口还没正常工作。

(2) 网络连通测试

进入开发板文件系统执行如下命令自动获取IP:

cat /proc/net/dev

Target#

图 18

Target#

udhcpc -i eth3 节点根据上一步查看得到

图 19

udhcpc是一个自动获取IP的命令,可以看到分配后的地址是192.168.1.10,说明系

统的网络接口已经和路由器连通了,可以通过以下命令来ping网关。 Target#

ping 192.168.1.1

图20

(3) 网络速度测试

在Ubuntu中使用网络测试软件iperf来测试网络速度。若未安装,可在Ubuntu中执

行\"sudo apt-get install iperf\"安装,如下图:

图21

在Ubuntu运行ifconfig命令查看Ubuntu的IP地址,如下图:

图22

在Ubuntu执行以下命令等待开发板连接:

Host# iperf -s

图23

在开发板上运行以下命令测试网口速度:

iperf -c 192.168.1.57

Target#

开发板提示的信息如下图:

图24

Ubuntu会同时显示测试结果,如下图:

图25

假如自行制作的文件系统没有安装iperf,可在开发板网络正常的情况下执行以下命

令安装iperf客户端: Target#

图26

opkg install iperf

10 LCD触摸屏校准和亮度调节 (1) 触摸屏校准

在执行触摸屏校准程序之前,请关闭所有界面程序。例如开发板上电自动运行的界面

程序是\"/etc/init.d/matrix-gui-e\",需要在开发板中执行\"/etc/init.d/matrix-gui-e stop\"命令,才能停止已执行的界面程序,如下图:

图27

执行\"ts_calibrate\"命令运行触摸屏校准程序,LCD会弹出校准界面,请依次点击校准

准星。连续点击五次之后,会在/etc目录下生成触摸屏校准文件pointercal,可以看到校准后的信息已经记录在pointercal文件里面。如下图所示:

图28

(2) LCD屏亮度调节

启动开发板后,执行以下命令调节LCD屏亮度,调节范围在0~250,默认值是250。 Target#

echo 50 > /sys/devices/platform/omap/omap_i2c.1/i2c-1/1-0040/backlight/tlc

59108-bl/brightness Target#

echo 250 > /sys/devices/platform/omap/omap_i2c.1/i2c-1/1-0040/backlight/tl

c59108-bl/brightness

11 SD卡测试

SD系统启动卡有两个分区,一个是FAT32(boot)分区,里面有内核文件uImage,

另一个是EXT3(rootfs)分区,里面是文件系统内容。用户可以直接在Windows下将文件放到FAT32分区,因为此区在Windows系统下是可见的。

系统启动后,SD卡的两个分区分别挂载在\"/media/mmcblk0p1\"和\"/media/mmcblk0p2\"

目录下。运行如下命令查看SD卡的分区内容: Target# Target#

ls /media/mmcblk0p1/ ls /media/mmcblk0p2/

图29

SD卡写速度测试

time有计时作用,dd用于复制,从if(input file)读出,写到of(output file)。\"if=/dev/zero\"不产生IO,即可以不断输出数据,因此可以用来测试纯写速度。bs是每次写块的大小,count是读写块的数量。执行以下命令测试SD卡写速度: Target#

time dd if=/dev/zero of=/media/mmcblk0p2/test bs=1024k count=200

图30

这里一共写200MB测试数据到SD卡的test文件,使用了1分5秒多点。

备注:不同的SD卡以及不同大小的测试文件,测试结果会有所差别。 SD卡读速度测试

\"of=/dev/null\"不产生IO,即可以不断接收数据,可以用来测试纯读速度。 执行以下命令测试SD卡读速度: Target#

time dd if=/media/mmcblk0p2/test of=/dev/null bs=1024k

图31

将上步骤200MB的test文件读到\"/dev/null\",使用了0.8秒。

备注:不同的SD卡以及不同大小的测试文件,测试结果会有所差别。

12 SATA硬盘接口测试 (1) SATA接口可用性测试

请准备一个已经格式化为FAT32的SATA硬盘,并为SATA硬盘供电,台式机机械硬

盘一般供电电压为12V,然后将SATA硬盘连接到底板SATA接口,在开发板上电后,可以在启动信息中看到如下内容:

图32

从图中可以看到已成功挂载上以1000为进率计算大小为200GB的硬盘,以1024为

进率计算大小为186GiB,还可以从打印信息中看出挂载名是sda1。 注意:挂载名字请以实际为准,挂载多个存储设备的时候名字可能有变更。

进入文件系统后,执行以下命令查看系统所有挂载信息。可以看到SATA硬盘挂载在

\"/media/sda1\"目录下,如下图所示。 Target#

df –h

图33

通过上图中的ls命令可以查看到SATA硬盘中存在的文件。

注意:本文件系统支持FAT32、EXT2、EXT3、EXT4格式的SATA硬盘,若是可以识别

但是无法正常使用,很可能使用的是NTFS格式的SATA硬盘,请重新格式化它为FAT32格式。

假如SATA硬盘没有自动挂载在media目录下,请先在media下面建立一个文件夹(例如sata1),在用以下命令手动挂载SATA硬盘: Target# Target#

mkdir -p /media/sata1

mount -t vfat /dev/sda1 /media/sata1

(2) SATA硬盘接口速度测试 SATA硬盘写速度测试

执行以下命令测试SATA硬盘写速度: Target#

time dd if=/dev/zero of=/media/sda1/test bs=1024k count=1000

图 34

这里一共写1GB测试数据到SATA硬盘的test文件,耗费了19.16s,约50M/s。 SATA硬盘读速度测试

执行以下命令测试SATA硬盘读速度:

time dd if=/media/sda1/test of=/dev/null bs=1024k

Target#

图35

将上步骤1GB的test文件读到\"/dev/null\",耗费了9.45s,约100M/s。

13 DDR3读写速率测试

测试程序路径:demo/app/ddr-test

将ddr-test文件夹拷贝到开发板系统目录下,进入ddr-test目录,执行如下命令: Target#

ls

图 36

将测试文件设置为最高权限: Target#

图 37

chmod 777 bw_*

运行测试脚本: Target#

./runLmDDRBandwidth.sh

图 38

从测试结果知道:读的速度是289.85MB/s,写的速度为1177.02MB/s,读写速度为:256.98MB/s。

14 时钟设置

Linux系统中分系统时钟(软件时钟)和RTC时钟(硬件时钟),系统时钟掉电即会

消失,RTC时钟在有电池的情况下会长期运行。系统时钟会在系统重启时与RTC时钟同步。以下为时钟相关的常用命令: (1) 查看系统运行时钟: Target#

图39

date

(2) 查看RTC时钟: Target#

图40

hwclock

(3) 设置系统时钟: Target#

date -s \"2016-04-07 18:30:06\"

即置为2016年04月07日,18点30分06秒。

图41

(4) 设置RTC时钟:

Target#

hwclock -w

执运行后系统时钟会被写入RTC。

图42

(5) 同步系统时钟: Target#

hwclock –s

执行后系统会RTC时钟作为系统时钟。

图43

15 系统信息查询 (1) 查看内核和CPU信息

运行以下命令查看:

uname -a

Target#

图44

(2) 查看操作系统信息

运行以下命令查看:

Target#

cat /etc/issue

图45

操作系统信息记录在\"/etc/issue\"里面,直接修改此文件内容改变系统信息。

(3) 查看计算机名字

运行以下命令查看:

hostname

Target#

图46

主机名字记录在\"/etc/hostname\"里面,直接修改此文件内容改变主机名字。

(4) 查看内存使用情况

运行以下命令查看:

cat /proc/meminfo

Target#

图47

(5) 查看环境变量信息

运行以下命令查看:

env

Target#

图48

(6) 查看CPU信息

运行以下命令查看:

cat /proc/cpuinfo

Target#

图49

可以看到此CPU的信息。

16 程序上电自动运行

在\"/etc/rc5.d\"目录下所有以S开头的脚本程序都会上电自动运行,按照编号由小到大

和字母排序顺序被执行的,例如S97开头的脚本将比S99开头的脚本先执行。下面将演示如何上电自动helloworld程序。

先将光盘\"demo\\app\\helloworld\\helloworld\"文件拷贝到开发板文件系统任意路径,在开发板上电后,使用以下命令创建并编辑文件\"S99helloworld\": Target#

vi /etc/rc5.d/S99helloworld

在S99helloworld文件中添加如下语句:

#!/bin/sh /boot/helloworld

//helloworld程序位于文件系统/home/root目录下,用需要执行的程

序的运行命令替换此语句即可

图50

编辑完成后输入\"wq\"保存,再执行以下命令修改此文件的权限为可执行:

chmod 755 /etc/rc5.d/S99helloworld chmod 755 /boot/helloworld

Target# Target#

重新系统后helloworld程序就会自动运行,如下图所示:

图51

17 FAN测试

进入开发板系统,输入以下命令即可让风扇转起来: Target#

echo 100 > /sys/devices/platform/pwm-fan.1/pwm1

18 CAN测试

连接CAN0的H L GND输出到CAN1的H L GND的对应线 查看当前can设备 Target#

cat /proc/net/dev

图 52

在根目录下新建两个脚本

第一个脚本用于配置并使能can0和can1: Target#

vi canconfig-can0-1.sh

在vi界面中粘贴下面内容,保存退出 #!/bin/sh

canconfig can0 stop

canconfig can0 bitrate 125000 # support: 1M-5K canconfig can0 start canconfig can1 stop

canconfig can1 bitrate 125000 # support: 1M-5K canconfig can1 start

第二个脚本用于使能can0发送数据到can1: Target#

vi can0-to-can1-test.sh

在vi界面中粘贴下面内容,保存退出 #!/bin/sh

if [ -f can0to1data.txt ]; then rm can0to1data.txt fi

candump can1 -o can0to1data.txt & for i in {1..20} do

cansend can0 --identifier=0x123 0x00 0x11 0x22 0x44 0x88 0x55 0xaa 0xff done

killall -9 candump

if [ -f can1to0data.txt ]; then rm can1to0data.txt

fi

candump can0 -o can1to0data.txt & for i in {1..20} do

cansend can1 --identifier=0x123 0xff 0xaa 0x55 0x88 0x44 0x22 0x11 0x00 done sync sleep 1 sync

添加执行脚本执行属性 Target# Target#

chmod u+x canconfig-can0-1.sh chmod u+x can0-to-can1-test.sh

运行脚本 Target# Target#

./canconfig-can0-1.sh ./can0-to-can1-test.sh

图 53

打开目录下的can0to1ata.txt文件,看数据是否正确。 Target#

cat can0to1data.txt

图 54

19 1080p30 decode使用 LCD显示

接上LCD屏并启动开发板,点击''Multimedia->1080P30 Decode and Display on LCD ->run''便可观看H.264编解码清晰视频。 HDMI输出

执行以下命令切换为HDMI输出显示:

cd /usr/share/ti/ti-media-controller-utils/

./change_display.sh hdmi //hdmi改成lcd即切换为触摸屏显示 reboot

Target# Target# Target#

图 55

重启后,再执行以下命令关闭通道0图形界面:

echo 0 > /sys/devices/platform/vpss/graphics0/enabled

Target#

输出到显示屏,执行命令:

gst-launch -v filesrc location=/usr/share/ti/data/videos/dm816x_1080p_demo.

Target#

264 ! 'video/x-h264' ! h264parse access-unit=true ! omx_h264dec ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink sync=false

图 56

20 GStreamer H.264编解码使用 LCD显示

接上LCD屏并启动开发板,点击''Multimedia->GStreamer 1080P30 Decode and Display on LCD ->run''便可观看H.264编解码清晰视频。 HDMI输出

执行以下命令切换为HDMI输出显示:

cd /usr/share/ti/ti-media-controller-utils/

./change_display.sh hdmi //hdmi改成lcd即切换为触摸屏显示 reboot

Target# Target# Target#

图 57

重启后,再执行以下命令关闭通道0图形界面:

echo 0 > /sys/devices/platform/vpss/graphics0/enabled

Target#

输出到显示屏,执行命令:

gst-launch -v filesrc location=/usr/share/ti/data/videos/dm816x_1080p_demo.

Target#

264 ! 'video/x-h264' ! h264parse access-unit=true ! omx_h264dec ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink sync=false

图 58

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务