以文本方式查看主题

-  曙海教育集团论坛  (http://sun4.cn/bbs/index.asp)
--  VxWorks技术讨论区  (http://sun4.cn/bbs/list.asp?boardid=11)
----  VxWorks_BSP移植_  (http://sun4.cn/bbs/dispbbs.asp?boardid=11&id=1431)

--  作者:wangxinxin
--  发布时间:2010-11-17 14:25:10
--  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类型,内存的大小和目标板

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