VxWorks操作系统在S3C2410上的移植

VxWorks操作系统在S3C2410上的移植

申晓平

(江苏常州轻工职业技术学院江苏常州213164)

【摘要】:本文阐述了基s3C2410处理器的BSP(BoardSupportPackage)开发和Vxworks操作系统的移植过程,并给出了关键的源代码开发。为应用程序和驱动程序的开发提供了必要的基础。

【关键词】:S3C2410处理器,BsP开发,Vxwod【s移植

l、S3C24lO处理器和VxWorI【s操作系统简介

S3C2410是SAMSUNG公司基于ARM92叩处理器内核开发的一款16/32位嵌入式处理器,运行频率高达200多MHz。具有MMU和高速缓存等丰富片上资源。可以广泛用于PDA、111.temet设备和手持式设备。S3C24lO支持CLin呱、UC—0SⅡ、Vx.Works,WinCE等实时和非实时操作系统。

VxWodcS是一个运行在目标机上的高性能、可裁减的嵌入式实时操作系统。VxWorI【8是一种功能强大而且比较复杂的操作系统,包括了进程管理、存储管理、设备管理、文件系统管理、网络协议及系统应用等几个部分。vxWorks只占用了很小的存储空间,并可高度裁减。保证了系统能以较高的效率运行。

2、BSP的设计开发

BSP的英文全称为B∞rdSupportPacka异e。即板级支持包。、,xW0rks采用模块化设计方法.把依赖于硬件的函数和信息分离出来,放人称为BSP的组件中。保证BSP可以向上层软件提供一致的接口。BSP中包括硬件环境中C跏的初始化及系统各项硬件资源的安装和配置。包括RAM、Ckk、中断控制器等。在VxWorI【s操作系统的应用中。BSP开发是一个难点,大体可以分为5个阶段:配置开发环境、编写BSP初始化代码、明确硬件的具体情况,配置一个最小的内核、启动并测试上一步创建的最小内核、编写其他驱动。

n1BSP设计

BSP的设计可以通过选择Tomado目录下近似的模板并修改模板下文件来完成。有些功能文件还需要另外添加文件,如网卡的驱动.

一、选择近似的BSP模板

启动To池doⅡ集成开发环境.新建一个工程”C陀ateabootableVxWorl【8ima聆”,输人工程的名称、位置等信息,在D:hWo出幅3C241咖spTe8t下创建一个名叫Bspl’est的工程,选择BSP模板.点击Finish完成工程的创建。

二、修改co血E.h配置文件

collfi只.h文件主要设置启动行、内存地址和大小、屏蔽一些组件、自定义宏等.涉及的主要修改行如下所示:

削面眦DEF^ULl∑B001∑UNE、”nl(0.0)cvt—I-bo:,、,xWork。h=192.1醴.1.162#192.168.1.100uⅫ∞r"‘=Pw矿

m(0to),.R11L8019网络设备

cvt—nb0,.主机名

h-192.168.1.162,.主机的ip地址

e=192.168.1.1∞,.目标机的jp地址

u铷s竹p11偌P耵?rd,.用户名和口令

制e6neROM—B^SE-一^DRS0x00000000,.n∞h基地址.,

劓e6MROM’IExl:^DRs0x00000000,.代码在nasIl中的起始地址.,

划eli地肿M-S匝Ox002删,.存放Vxwork毫的n拈h大小.,

#d娟弛R^MJDWIADRSm30010000,.VxWork8人口地址+,

埘eli∞R^Mj{lG|L』DRS0x33舢00,.BOOTROM在R^M中的起始地址’,

划efi睫INCLUDE--sERnL

#d面neNUM—11-Y0,.使用申口号0.,

划efi耻lNCLUDE—END,.定义END型网卡‘,

利e6∞CONsoLE—BAU嘣TE,.定义波特事为115200吖

三、修改Makeme文件

在Mal【e6le文件中主要包括CPU类型号,选择编译工具,附加编译选项等。重点注意.ROM和RAM的宏定义需要和co血g.h一致。

CPU-ARMARC附

1DOL=印u

EXlR^j)EnNE=一Wcom皿峙Ill—Dt=PU92aI、一DARMMMU=ARM—MII920rr-DARMCAC胍=^RMCACHE-920rr

1研'-DIR-JX24lO’

#MAC也E)(1姒司1∞19End冉

四、修改寄存器定义文件

修改寄存器定义文件。必需参考S3C2410手册。修改93c24lO.h文件。

五、中断处理

VxWod【s中断处理与硬件平台密切相关.不同处理器其中断处理的方法也是不一样的。我们现在使用的是ARM体系结构的处理器。中断向量表是通过excVecIrIit()例程完成的。ex-cVecIrIi“1的工作就是在0】【00000000地址建立向量表。

六、定时器处理

系统定时器是操作系统的心脏.操作系统中任务的调度和时间的计算等都要依赖于它。在s3C2410处理其中.片内集成了多达6个PWM定时器.可以随意选择其中两个作为系统定时器和辅助定时器。时钟驱动的实现是由璐rR∞t任务调用8ysClkInit0例程完成的。

七、串口驱动

系统中的串行设备驱动总共有3层。其中us正011fiE.c和ttyDⅣ(包括tyLib)提供了一些对串行设备的一些通用操作;而8vSSerial.c中则实现一些针对具体目标系统的串行设备有关的一些数据结构进行初始化操作;最后醢Drv.c(在提供的BSP中文件名为:s3c2410Sio.c)包括了一些具体设备相关的操作。

(2)VxWod湛BSP编译,移植

使用”Build”选项来编译该工程,在工程编译完毕后,使用ADT将其下载到目标板上。连接系统的串口0.并设置波特率为”115200,8N1.t,在ADT中使用”印”命令运行下载的程序;下面是看到的运行界面:

添加SheU功能.在Tomado工程管理器中将SheⅡ部件添加到工程中。再编译、下载并运行;添加SheU后的运行结果,通

过SheU。在提示符”->”下可以进行一些简单的(下转第165页)

 万方数据

 万方数据

VxWorks操作系统在S3C2410上的移植

作者:申晓平

作者单位:江苏常州轻工职业技术学院,江苏,常州,213164

刊名:

福建电脑

英文刊名:FUJIAN COMPUTER

年,卷(期):2009,25(4)

参考文献(2条)

1.孔祥营柏桂枝嵌入式实时操作系统VxWorks及其开发环境Tornaao 2002

2.李忠民;杨刚ARM嵌入式VxWorks实践教程 2006

本文链接:https://www.360docs.net/doc/ee16528277.html,/Periodical_fjdn200904111.aspx

相关文档
最新文档