新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > VxWorks移植到AT91RM9200的BSP定制过程

VxWorks移植到AT91RM9200的BSP定制过程

作者:时间:2010-12-14来源:网络收藏


的缺省配置由configAll.h来确定。一般来说,缺省配置的设置与自行开发的硬件系统的配置不同,用户可通过Cotlfig.h来改变缺省配置。用户须查看configAll.h,并在Config.h中将不需要的软硬件配置和初始化去掉。例如,缺省配置中一般包含浮点处理器,而AT9lRM9200中没有浮点寄存器,因此就要删掉相关配置。

3.2.3 修改integrator920t.c

该文件中设置所有非可选的、与芯片相关的信息,如各硬件相关寄存器的地址定义,设备寄存器中对应位的定义,各硬件中断矢量和中断优先级的定义,DBUG和USART的控制,网口的定义,系统时钟和辅助时钟参数设置等。所要使用的目标板包含设备的驱动程序头文什应当包含在该文件的开始。该文件中的各项宏定义均是基于芯片的,并根据具体要求定义。例如,电源管理控制器中用到两个锁相环PLLA和PLLB,对它们的部分参数设定代码如下:

3 2.4 修改rornlnit.s

该文件包含引导ROM和基于ROM的映像的入口初始化汇编代码。入口点为romInit()函数,是系统加电启动后首先执行的代码。主要功能是:保存启动类型,使处理器复位;初始化Flash和SDRAM;设置MMU到已知状态;指令Cache使能;初始化MMU控制寄存器(指令32位、数据32位、写缓冲使能);开漏写缓冲,并且使指令和数据Cache都兀效;通过设置CPSR的IRQ禁止位、FIR禁止位和先进中断控制器AIC中的中断禁止寄存器来屏蔽中断,跳转到bootInit.c中的rom-Start(),同时传递启动类型。其中,中断屏蔽代码如下:


在调试这段代码时,由于串口和网口都没有启动,因此只能通过点灯程序来跟踪程序的执行情况,设置不同的LED亮来显示程序执行到哪一步。例如,如果要并行输入/输出口C的32位中的第15位亮,则可以编程为;


在编写本文件时,需要注意的地方是:不要在该文件里进行过多的初始化操作,大部分硬件初始化操作在sysLib.c文件中的sysHwInit()函数中进行。


评论


相关推荐

技术专区

关闭