基于IMX6Q的VxWorks7系统功能测试及DKM项目测试
一、工程导入
目的:是将自己做好的工程(uboot工程,VIP工程,DKM工程等)导入到自己的开发环境中使用,这样减少了重新建立工程的配置工作,提升效率。
具体创建编译请参考(一)基于IMX6Q的VxWorks7环境搭建开发指南完整版 此文档基于路径:“C:\Users\Administrator\Desktop\VxWorks7文档及整理资料\workspace”
打开软件:file->import->选择路径并导入即可。
导入后可根据需要进行修改image和DKM项目然后重新编译即可使用。
二、uboot烧写
uboot烧写及网络联通性测试备注:uboot制作后面将单独写一篇文章介绍
三、系统安装
第一次更新系統,需要在uboot下通过tftp加载系统映像启动系统,然后在系统下格式化EMMC设备,然后通FTP将系统映像支件拷贝到EMMC文件系统中,重启系统,在uboot命令行下修改启动配置参数从EMMC设备加载系统映像.
非第一次安装,可以直接在系统下通过FTP更新 vxworks系统文件即可,不需要再次格式化EMMC设备,如再次格式化设备,可能会导致数据的丢失.
安装方法如下:
1)将测试用的 vxworks.bin文件拷贝到WINDOWS系统下某一个指定的地方,建议不要使用中文路径;
2)打开tftp服务器软件,该文件是一个FTP的服务端软件,用于网络加载 vxworks系统映像引导启动:
拷贝进mmc方式1:
3)在uboot下引导安装VxWorks7操作系统
tftp 10100000 vxWorks.bin
go 10100000
拷贝进mmc方式2:
3)进入 linux 内核,然后执行如下命令:
进入此目录下(/run/media/mmcblkp1),使用tftp命令将vxWorks.bin:拷贝到emmc分区中(此处192.168.0.129为主机IP):
成功截图:
![在这里插入图片描述](
4)按开发板上reset重启开发板,重启过程中按“空格键”进入uboot,在uboot下重新配置环境变量设置为从emmc设备启动,执行如下配置
备注:设置环境变量配置启动方式
Linux:
setenv bootargs "root=/dev/mmcblk3p2 console=ttymxc3,115200 rw rootwait video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24"
setenv bootcmd "fatload mmc 2:1 0x10000000 zImage;fatload mmc 2:1 0x20000000 imx6q-sabresd.dtb; bootz 0x10000000 - 0x20000000"
vxworks:
setenv bootargs "enet(0,0)host:vxWorks h=192.168.1.11 e=192.168.1.200:ffffff00 u=target pw=target"
setenv bootcmd "fatload mmc 2:1 0x10100000 vxWorks.bin; go 0x10100000"
5)使用命令run bootcmd或者重启开发板即可启动系统。
Uboot系统镜像加载部分参考来源:
1.uboot中利用TFTP和NFS加载内核镜像和根文件系统:
2. UBOOT 通过 TFTP 下载 uImage:
3. uboot通过tftp来启动内核:
4. IMX6Q 运行 vxWorks 7.0 系统:
四、功能测试
4.1 硬盘测试
IMX6Q的配置可以用类似于EMMC和SD的测试方法测试即可。
EMMG和SD外设的测试,可以在命令行下执行copy命令来测试。
测试方法如下:
1)插入一个U盘设备,系统可以识别到该设备为/bd0
插入后没有识别先检查驱动有没有添加,如下:
可以识别直接进入下一步操作。
执行如下命令测试EMMC写功能:
-> copy “/bd0/test.dat”, “/mmc2:1/test.dat”
3)执行如下命令测试EMMG读功能:
-> copy “/emmc2:1/test.dat”, “/bd0/test.dat1”
4)将U盘拔下,插入到PC电脑,通过 beyondCopare等比较软件比较,如果数据一致则说明文件系统功能正常,SD卡的读写测试方法类同。
4.2网卡测试
本嵌入式主板支持一路千兆网卡,网卡的测试通过PING包测试。
1)测试方法如下:
2)在VxWorks系统下执行ifconfig命令,查看当前网卡是否已绑定ip协议栈。如果存在可以使用ping命令测试与同网段其他设备联通性,本测试测试采用与主机的联通性。
注意:开发板中使用ping命令需要给IP加上双引号否则出错,本例中后面的IP后面数字3代表测试3次即可。
3)如果上一步没有找到 (名字可能不同)enet0,请执行如下操作:
-> ipAttach 0,”enet”
如果上述命令返回失败,则表示系统中没有加载网卡驱动,则需要检查系统测试映像是否加载正确。
4)配置iP地址
-> ifconfig “ enet0 192.168.0.200 up” //启动网卡命令
5)从开发主机 PING vxworks网口,ping通即可。
4.3串口测试
串口测试只针对RS232模式接收和发送测试,RS485模式不做测试。
测试方法如下:
1)确认系统下串口设备是否存在
温馨提示:
1)上表中串口物理实体,是指的嵌人犬主板上的丝印编号; 上表中测试程序序号,将在下文中
comsend函数的第一个参数处用到,注意,不是从0开始。
2)串口测试动态库文件名为 dkm_test_com.out
将该文件通过FTP工具上传到/mmc2:1设备中,并加载该动态库文件到内存> ->ld <mmc2:1/dkm_test_com.out
此处使用FileZilla软件点击文件按照下图输入对应开发板IP连接即可传输文件。3)发送数据测试
将每个串口用线缆分别连接到开发主机的串口上,然后执行如下测试:
-> comsend 1,115200,1000
说明:
第一个参数:串口设备序号,从1开始,数字1对应UART2,依此类推。第二个参数:波特率,这里使用的测试波特率为115200bps。第三个参数:发送字符串的条数。
4)接收数据测试:
-> recvTask 1,115200
说明:
第一个参数:串口设备序号,从1开始,数字1对应UART2,依此类推;第二个参数:波特率,这里使用的测试波特率为115200bps当有数据接收到后,会显示当前接收数据的总大小。
备注:如果出现ftp无法连接,首先检查开发板IP是否正确;其次就是ftp驱动组件是否正确添加并修改。
上图中标识1为需要修改的回调函数名:usrAuthenticateCallback;标识2要对应开发板分区名;修改完配置需要重新编译image再重新安装VxWorks.bin;
4.4DKM项目测试
4.1 在之前新建的DKM中添加测试代码并编译完成如下图:
4.2 将.out文件拷贝到/mmc2:1或者/mmc2:2设备中,可采用如下3种方式:
方式1:FTP拷贝
使用方法和winsows系统一致。注意,在使用之前,请先在系统下将当前路径设置到/mmc2:1或/mmc2:2(在系统下,执行devs后查看当前的具体设备名)
方式2:U盘拷贝
->copy“/bd0/test.out”,“/mmc0:1/test.out”
方式3:通过网络拷贝
->copy“host:test.out”,“/mmc0:1/test.out
4.3 执行动态加载,命令如下: ->ld </mmc2:1/dkm_test_project.out
4.4运行,命令如下:(此处start为DKM中.c中的函数名) ->start
备注: 1、ARMARCH7gru平台下,需要注意添加编译选项-
mlong-calls,否则生成的.out文件在运行的过程中,提示如下错误。
添加方式为:DKM项目-》属性
2、在系统下执行动态加载命令的时候,请使用.out在 vXWorks系统目录下的绝对路径,防止出错。