vxworks6.6移植日记

转载地址:http://www.cedn.cn/?uid-45-action-viewspace-itemid-3114

下载VxWorks6.6的评估版有很长一段时间了。但是一直都没有时间来见识一下vxworks6.6的面貌。今天终于抽出点时间来玩一玩,将vxworks5.5移植到vxworks6.6。以下分享一些使用感受。

硬件平台:星光AT91RM9200开发板(http://bbs.cedn.cn
软件平台:Wind River Workbench 3.0

由于采用现有的星光AT91RM9200开发板的VxWorks BSP,所以工作量不大,很轻松的就完成了移植工作。
首先将现有的VxWorks BSP文件夹CEDN_9200复制到Workbench的文件夹\vxworks-6.6\target\config中。
(一)文件的修改。
1、Makefile
这个文件的修改不用动,但是如果在编译的时候MACH_EXTRA中的某个c文件无法编译的话,可以把它移走,直接包含到sysLib.c中。

2、config.h
修改版本号,当然这个也是无关紧要的,但是毕竟是新版vxworks了的。其中主要是BSP_VERSION 必须是2.0,这是vxworks 6.x所需要的。
#define BSP_VER_1_1     1       /* 1.2 is backwards compatible with 1.1 */
#define BSP_VER_1_2     1
#define BSP_VERSION
"2.0"
#define BSP_REV
"/4"
/* 0 for first revision */
还有一点要注意vxworks 6.x使用的部分宏和5.x有些差异,比如:
FTP SERVER:INCLUDE_FTP_SERVER(vxworks 5.x)INCLUDE_IPFTPS(vxworks 6.x)
FTP Client:INCLUDE_FTP(vxworks 5.x)INCLUDE_IPFTPC(vxworks 6.x)
不过二者好像兼容。
3、sysLib.c
主要修改宏定义。如下表:
VxWorks 5.5 Macros                  VxWorks 6.x Macros

VM_STATE_MASK_VALID                 MMU_ATTR_VALID_MSK
VM_STATE_MASK_WRITABLE              MMU_ATTR_PROT_MSK
VM_STATE_MASK_CACHEABLE             MMU_ATTR_CACHE_MSK
VM_STATE_MASK_MEM_COHERENCY         MMU_ATTR_CACHE_MSK
VM_STATE_MASK_GUARDED               MMU_ATTR_CACHE_MSK
VM_STATE_VALID                      MMU_ATTR_VALID
VM_STATE_VALID_NOT                  MMU_ATTR_VALID_NOT
VM_STATE_WRITABLE                   MMU_ATTR_SUP_RWX
VM_STATE_WRITABLE_NOT               (MMU_ATTR_PROT_SUP_READ |MMU_ATTR_PROT_SUP_EXE)
VM_STATE_CACHEABLE                  MMU_ATTR_CACHE_DEFAULT
VM_STATE_CACHEABLE_NOT              MMU_ATTR_CACHE_OFF
VM_STATE_MEM_COHERENCY              MMU_ATTR_CACHE_COHERENCY
VM_STATE_MEM_COHERENCY_NOT          0 (set this macro to 0 for VxWorks 6.x)
VM_STATE_GUARDED                    MMU_ATTR_CACHE_GUARDED
VM_STATE_GUARDED_NOT                0 (set this macro to 0 for VxWorks 6.x)
文件的修改工作就完成了。当然如果老版的BSP修改了config中all文件夹的文件的话就麻烦一些了。6.x的vxworks和5.x的vxworks文件all中的文件差异很大。
(二)BSP的编译
1、命令行中编译
在worksbench的菜单project中选择Open Workbench Development Shell...再选择vxworks6.6就进入了命令行模式。将路径切换到BSP的文件夹中,cd vxworks-6.6\target\config\CEDN_9200。然后make bootrom.bin生产bootrom.bin(压缩型的bootrom),make bootrom_uncmp.bin生产bootrom_uncmp.bin(非压缩型的bootrom),其他类型的编译类似。输入make回车生产vxworks
2、IDE中编译BSP
BOOTROM建立的工程类型是Vxworks Boot Loader/BSP Project
Vxworks建立的工程类型是Vxworks Image Project
编译出来的BOOTROM,6.x版本的比5.x版本的大很多,东西总是越做越大。
bootrom.bin: 379KB(6.x)  206KB(5.x)
bootrom_uncmp.bin: 738KB(6.x)  393KB(5.x)
vxworks: 1.32MB(6.x)892KB(5.x)

BOOTROM启动画面


VxWorks启动画面


vxworks中的基本任务多了很多:

 

建立调试环境(Step1):


建立调试环境(Step2):

 


建立调试环境(Step3):

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值