曙海教育集团论坛VxWorks专区VxWorks技术讨论区 → 回复帖子

  回复帖子
用户名:   *您没有注册?
密码:   *忘记论坛密码?    标题采用“回复:XXX....”
主题标题:  *不得超过 200 个汉字
当前心情
上一页 发帖表情 下一页
内容
高级设置: 签名: 回帖通知:
 

主题新回顾(发布时间:2010-11-17 14:25:10)
--  作者:wangxinxin
--  VxWorks_BSP移植_

VxWorks_BSP移植_1
 icepeak 发表于 2006-5-29 8:33:00
好多天没更新blog了,中间忙着整另外一个blog,所以无暇顾及.现在,把前几天学习笔记送上来!

在讲述BSP的移植之前,先讨论一下Vxworks的启动过程:

ARM系统中,系统上电后会自动加载并运行位于0地址的指令,通常在这个地方会放置一条跳转指令,使它跳转到_romInit()(初始化的入口)

romInit()进行处理器模式的设置,关闭中断,初始化内存以及一些必要的硬件配置.

romInit()执行完上述工作以后,跳转到romStart(),它负责将ROM映像copy到RAM中,如果ROM映像中不含Vxworks内核,那么启动代码要负责将

Vxworks内核加载到RAM中去.接下来要开始运行Vxworks内核的入口程序sysInit(),它主要实现一些与romInit()类似的功能,然后还是调用

Vxworks内核的第一个例程usrInit(),usrInit()会根据BSP的设置,最终完成整个内核的前期初始化工作.在usrInit最后,由kernelInit()激

活多任务环境,并创建一个任务来安装设备驱动程序.同时启动设备,初始化Vxworks系统库,调用应用程序.
 

VxWorks_BSP移植_2
 icepeak 发表于 2006-5-29 8:49:00
弄清楚VxWorks启动的顺序后,我们来讨论BSP的移植,VxWorks的BSP在先前的日志中已经有说明,大家可以查阅了解它和bootloader的区别和

联系.

不同的Target的BSP都不同,同种CPU的不同板子也会不同,所以移植修改是不可避免的,我们可以参考$(WIND_BASE)\target\config下的BSP

文件,找一个比较接近的来修改!关于这个目录的组织结构,网上有很多介绍,这里不赘述.

首先要重点修改的就是Makefilie文件和config.h文件,这两个文件跟目标板的硬件配置有很大的关系,主要是CPU类型,内存的大小和目标板

的外围设备的配置情况.关于这两个文件的修改下次会详细注释!