小弟最近在学VXWORKS,由于调试TRUEFFS一直有问题,所以就想能不能有办法不用从网络上或则TRUEFFS上下载VXWORKS和APP,直接把BOOTROM,VXWORKS,APP三个合在一起(当然有TRUEFFS更好,能实现VXWORKS和APP程序动态更新),经过几天的实验,终于OK了,现把过程贴出来,请大家指点。
(1)修改BSP,准备一个适合自己板子的BSP程序(在makefile文件中MACH_EXTRA加上附加的驱动目标文件如MACH_EXTRA = motFecEnd.obj sysTffs.o这样才能把他们加到BOOTROM中)。
(2)建立一个bootable工程,选择BSP驱动(改过的),工程建好了。
(3)加入应用程序,最后修改 usrAppInit.c 中的usrAppInit加入自己的主过程如:
void usrAppInit (void)
{
#ifdef USER_APPL_INIT
USER_APPL_INIT; /* for backwards compatibility */
#endif
/* add application specific code here */
progStar();
}
(4)对VXWORKS组件进行适当的增减,做到满足需要,又不奢侈。
(5)现在就来设置bootrom+vxworks+app的下载包的创建,在workspase窗口中选择build 栏,可以看到我们建立的工程名,它下面还有default,default_rom,default_romresident,default_romcompress几种类型,这是选择VXWORKS的文件类型(压缩,不压缩)以及在那里执行(ROM,RAM,ROM-RAM),根据本身的情况(空间和性能比)选择一种,把他设置为active build,接着双击它,会弹出一个对话框,选择rule页,选择一种文件格式,比如:vxWorks_rom.hex,然后,重新编译工程,在工程目录下会生成一个目录(根据设置的不同,不一样)default_rom,里面生成一个文件vxWorks_rom.hex,他就是bootrom+vxworks+app三者合一的文件,把他写到FLASH中,系统就直接启动bootrom,vxworks,app无须用FTP或则TRUEFFS下载image。而且,APP应用程序线程也会自动执行。
以上是我个人在学习中的一点结果,错误之处请大家指出。
关键词:
不用
TRUEFFS
接在
FLASH
实现
bo