vxworks6.6移植日记
来源:互联网 发布:巨杉数据库java笔试 编辑:程序博客网 时间:2024/05/18 02:11
转载地址: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):
- vxworks6.6移植日记
- Sqlite3.78移植到VxWorks6.6
- Sqlite3.78移植到VxWorks6.6
- VxWorks6.6移植嵌入式ICE中间件解决方案
- vxworks6.6 license问题
- vxWorks6.6 ftp server配置
- vxWorks6.6 ftp server配置
- vxWorks6.6 bootrom ok!内核依然起不来
- VxWorks6.6动态创建RTP例程
- vxworks6.6如何调用windml函数库
- vxworks6.6 bootrom下升级flash bootrom
- VxWorks6.6动态创建RTP例程
- vxworks6.6+workbench3.0+vmware工具链
- VxWorks6.6开发共享库指南要点
- VxWorks6.6开发共享库指南要点
- u-boot移植日记
- 移植日记(090618)
- Workbench3.0-vxworks6.6仿真测试和调试指南
- KMP算法
- Eclipse中设置编码的方式
- iOS7判断获取相册和拍照的权限
- 【marks】rails资料
- Vertex Buffer Sharing between DirectX11 and Directx9(转自GAMEDEV)
- vxworks6.6移植日记
- 查某个表的扩展信息,字段的扩展信息及列的其他详细信息
- 互联网业务测试团队如果快速构建轻量级的自动化
- Zigbee 2.4G频段中不与WIFI相互干扰的几个信道。
- 数据结构基础(5)------------二叉排序树(BST)
- 学习java从length和length()开始
- ClassNotFoundException和NoClassDefFoundError的区别
- 百度地图SDK
- 关于java进程最大值