-- 作者:wangxinxin
-- 发布时间:2010-12-19 15:59:39
-- 基于MPC860/VxWorks的嵌入式系统开发
WindRiver公司提供了很多基于不同硬件平台的典型的板级支持包BSP。因此,开发基于VxWorks的实用板级支持包是尽量获得一个与目标板硬件环境相近的参考板级支持包和相关代码模板,再根据目标板硬件环境,完成板级支持包包含的驱动程序及设备初始化,从而完成板级支持包的开发[4]。 启动Tornado II集成开发环境,使用工程向导创建一个可启动工程(bootable VxWorks image)项目,选择基于ads860的BSP。在这个工程项目里可以进行BSP的基本配置、VxWorks的基本配置、网卡配置等,结合实际电路和应用进行修改,创建用户自己的BSP以支持特定硬件。前述bootrom程序也可由此生成。在此阶段可以借助WDB调试代理和Tornado工具辅助开发,也可以选择在线仿真器ICE辅助开发。 BSP 调试完成,编译此工程项目为一个VxWorks内核镜像文件*.img,在以后的应用程序调试过程中可通过Tornado的一个部件 ftp server下载。下载方法如下: 首先连接主机与目标板的网线和串口线,目标板上电后,在超级终端窗口3秒以内按回车键进入boot shell;否则,目标机系统会进入自动寻找并运行程序状态。 此时启动和配置ftp server,选择Security菜单中的user/rights命令,添加一个用户名如target,密码target,设置主目录为C:\\;然后点击Done。ftp server配置完成。 现在需要设置主机ip地址。将主机ip设为192.168.1.1,子网掩码255.255.255.0。将调试好的VxWorks镜像文件*.img拷贝到C:\\。 最后,在主机的串口超级终端中输入设置好的下载命令@,目标板开始从主机的ftp server下载*.img(vxworks的ram镜像)。 下载完成,*.img文件自动运行,在超级终端窗口显示vxworks镜像在目标板启动成功的信息,此时vxworks内核已经成功装载到目标板,可以同主机的tornado(vxworks的集成开发环境)进行连接了。 3.3 在tornado中编写和运行应用程序 当上述环境配置成功后就可以进行应用程序开发了。在tornado集成开发环境中可以开发并调试各种应用程序,添加程序并编译成功后就可以下载到目标板上进行调试了。下面通过一个应用程序调试示例加以说明。 4 开发应用程序示例 4.1 开发并编译程序 启动Tornado II集成开发环境,使用工程向导创建一个可下载工程(downloadable application modules)项目project1,在创建过程中选择工具链(toolchain)为PPC860gnu。在工程项目中编写或添加应用程序源文件,如一个Hello.c文件。 #include "vxworks.h" #include "drv/multi/ppc860Siu.h" void root() { printf("hello!How are you?\\n"); /*在终端输出此信息*/ } #define PD10 (0x0020) #define PD09 (0x0040) #define RUNLIGHT PD10 #define LINKLIGHT PD09 void RunLight(void) { int immrVal = vxImmrGet(); *PDDIR(immrVal)|=RUNLIGHT; while(1) { *PDDAT(immrVal) ^=RUNLIGHT; taskDelay(sysClkRateGet()/2);/*delay 0.5 second*/ } } void run() { taskSpawn ("RunLight", 100,0 /*switchTaskOptions*/,0x1000, (FUNCPTR)RunLight, 0,0,0,0,0,0,0,0,0,0); } /*通过以上函数创建并激活一个新任务,点亮系统指示灯*/ 4.2 配置和运行target server 使用Tornado编译器编译成功后下载。下载之前首先要配置和运行target server,在菜单tool/target server/configure中,先点击new新建一个配置如configuration1, 然后开始配置。 在target server proportion 项的“Back End”的选项中选择wdbrpc; 在target server proportion 项的“Core File and Symbols”的选项中设置vxworks镜像文件位置为C:\\; 在target name/ip address输入目标板的ip 地址192.168.1.254; 配置完成,点击Launch运行; 下面可以下载和运行应用程序了。 4.3下载和运行程序 在工程上点击右键,选择download project1.out下载应用程序到目标板,然后可以在Tornado中的shell里运行应用程序了,如在shell中运行hello.c中的root函数(在shell中打印hello!How are you?)和run(目标板的run灯会闪亮)。 在每次下载调试应用程序或添加新的应用程序时都不需要把它们和vxworks内核编译到一起,这样节省了开发和调试时间。 5 总结 本文描述了基于嵌入式实时操作系统VxWorks的开发方法,凭借性能优良的VxWorks和高度集成的开发环境,VxWorks的应用已成为新的研究热点。在开发过程中使用相近的BSP开发用户自己的板级支持包,难度降低了并缩短了开发时间,使用ftp server下载VxWorks内核镜像,使用Torndo 工具编译、调试和下载应用程序。通过这样的流程对应用程序的开发带来了极大的方便,该方法已得到广泛应用。 本文作者创新点:对基于VxWorks嵌入式操作系统在MPC8XX系列cpu上的开发过程进行了具体而实用的描述。有一定的应用价值。
|