- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VxWorks 5.5开发指南学习笔记
第一章VxWorks概述
1.绪论
VxWorks是一种嵌入式的实时操作系统,所谓嵌入式操作系统就是我们自己设计开发一块可以实现某种功能的板子,一般的功能板上都有一个cpu,嵌入式实施操作系统就是运行于这个cpu之上,使我们能够在板子上作相应得软件开发实现板子功能。
VxWorks支持32位的CPU,包括Intel公司的x86、Motorola公司的68k和PowerPC、MIPS、ARM、Intel公司的i960、Hitachi公司的SH。我们设计的这块板子通常没有软件的自开发能力,所以我们需要一台通用机来辅助开发,这台通用机可以是PC或工作站,我们称辅助我们软件开发的通用机为宿主机(Host),用户自己开发的板子为目标机(Target)。宿主机上要有一个集成开发环境(IDE)来辅助我们的软件开发,这套集成开发环境可以运行在Windows95/NT或 UNIX下,包括交叉编译器(Cross Compiler)和交叉调试器(Cross Debugger),所谓交叉编译器就是在宿主机上编译生成可以在目标机上运行的代码IMAGE,交叉调试器就是通过宿主机和目标机之间的某种耦合方式实现前后台调试。我们称宿主机上的这套集成开发环境为Tornado,编译生成的目标机上的可执行代码IMAGE为VxWorks。在系统安装的时候,集成调试环境和VxWorks的原材料(一些obj文件)都安装到宿主机上,编译生成的在目标机上运行的IMAGE内包含操作系统。下面我们分别来介绍这两部分内容。
1.1IMAGE of VxWorks
1.IMAGE的结构
IMAGE可以分为三个层次四个部分,最底层是BSP,中间层是VxWorks其中包含WindKernel 和components两部分,最高层是应用实现层app。
BSP
BSP是系统用来管理外设的部分,由两部分组成:初始化、驱动程序。所谓初始化是指从系统上电复位开始直到wind kernel和usrRoot根任务启动的这段时间系统的执行过程。驱动程序就是一些包含I/O操作的子函数,是对一些调试或加载应用程序所需要的外设的驱动程序。初始化可分为3个过程:CPU Init、Board Init、System Init。CPU Init初始化CPU的内部寄存器。Board Init初始化智能I/O的寄存器,将device打通。System Init为系统的运行准备数据结构,进行数据初始化。驱动程序的特点是不能自动执行,只能被动调用。调用可以有三种方式:任务直接调用、任务调用System Call、任务调用服务。具体如下图1-1所示。
Task
subrutine
system call service
components
driver
图1-1驱动程序调用关系图
所以驱动程序可以抽象为三个层次:常规操作、与VxWorks的接口、与Component的接口。常规操作是设备的固有操作逻辑,有两层含义:体现在I/O编址的含义上微观上表现为CPU操作device的寄存器、宏观上表现为具体操作的含义,如图1-2所示。驱动程序与VxWorks的接口、驱动程序与Component的接口有三层含义:I/O管理;操作类型规整;参数规整。
register
r/w
图1-2驱动程序常规操作含义图
驱动程序与VxWorks的接口使Driver具有更好的层次性,驱动程序与Component的接口使Driver具有更好的抽象性。
2.IMAGE的执行过程
在初始化过程中,是由底层到高层的一个执行过程,而运行是由高层到底层的一个执行过程。
3.IMAGE在Memory中的位置
VxWorks对内存的使用采用的是Flat Mode:静态分配的IMAGE占用空间(.code、.data、.bss)、系统的动态空间(wind kernel创建的REGION#0)、用户的动态空间。如下图1-3是内存区域划分图。IMAGE可以被动态或静态链接,VxWorks在开发阶段可动态地下载目标文件,并与操作系统及其它目标文件动态链接。这与DOS的*.EX
文档评论(0)