Author:jefby
Email:jef199006@gmail.com
第一次接触VxWorks操作系统,发现看了好多原理性的东西,诸如该系统内编译生成的文件都不可直接执行,需要链接到内核才可以运行,也就是说都是目标文件。但是对于风河公司配套制作的集成开发环境却是了解的极少极少,怎么下载程序,怎么修改BSP虽然自己有理论知识,但实际却从未动过手。下面就作者实际开发过程中环境的搭建以及BSP的修改过程做一下详细的整理,以便于以后能尽快入手。
首先,基本概念性的东西可以参考以下书目:
《ARM嵌入式VxWorks实践教程》北航出版社,李忠民杨刚等编著
《VxWorks嵌入式实时操作系统设备驱动与BSP开发设计》北航出版社 王洋主编
《VxWorks设备驱动开发详解》电子工业出版社 曹桂平等编著华清远见嵌入式培训中心 审校(这本书写的很不错,比较详细,不过感觉偏重于理论)
使用的开发板:Rock Embed V1.0
软件环境:Tornado 2.2
首先,打开示例BSP和工程rock2410_v1
添加自己的源码,(以hello.c)为例,hello.c的源码如下:
然后编译hello.c,接着需要给开发板上电,然后配置Target Server,在此之前呢,很关键的一点是将上次编译好的VxWorks内核拷贝到Tornado安装目录下,例如,Tornado的安装目录是C:\Tornado2.2_ARM,那么将开发板上启动的内核文件拷贝到该目录下,内核文件默认是project的default/vxWorks,
拷贝完成后,点击tools->targetserver->configure,配置如下:
完成后运行,如果成功如下图所示:
然后,在tornado的工程面板上选择目标服务器,
紧接着,右击hello.o(hello.c编译后生成的目标文件),选择Download下载,
最后,按照tools->shell来运行该目标文件,
在串口上可以观察到正确的输出结果:
今天继续做这个实验,发现一个很重要的一点是在拷贝内核文件vxWorks前必须保证vxWorks是该工程使用的内核文件,如果不是就会出现服务器无法连接的问题。也就是说,在你搭建服务器前必须保证CPU里面跑的是你正在调试的vxworks内核。