1嵌入式系统硬件抽象层的原理1.1硬件抽象层的引入嵌入式实时系统作为一类特殊的计算机系统自底向上包含三个部分,如图1所示。(1)硬件环境:是整个嵌入式实时操作系统实"> 1嵌入式系统硬件抽象层的原理1.1硬件抽象层的引入嵌入式实时系统作为一类特殊的计算机系统自底向上包含三个部分,如图1所示。(1)硬件环境:是整个嵌入式实时操作系统实" />
嵌入式系统硬件抽象层的原理与实现

嵌入式系统硬件抽象层的原理与实现

ID:25473610

大小:49.50 KB

页数:5页

时间:2018-11-20

嵌入式系统硬件抽象层的原理与实现_第1页
嵌入式系统硬件抽象层的原理与实现_第2页
嵌入式系统硬件抽象层的原理与实现_第3页
嵌入式系统硬件抽象层的原理与实现_第4页
嵌入式系统硬件抽象层的原理与实现_第5页
资源描述:

《嵌入式系统硬件抽象层的原理与实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、嵌入式系统硬件抽象层的原理与实现

2、第1...lunouseg(this)">1嵌入式系统硬件抽象层的原理1.1硬件抽象层的引入嵌入式实时系统作为一类特殊的计算机系统自底向上包含三个部分,如图1所示。(1)硬件环境:是整个嵌入式实时操作系统实时应用程序运行的硬件平台;不同的应用通常有不同的硬件环境;硬件平台的多样性是嵌入式系统的一个主要特点。(2)嵌入式实时操作系统——RTOS:完成嵌入式实时应用的任务调度和控制等核心功能,具有内核较精简、可配置、与高层应用紧密关联等特点。嵌入式操作系统具有相对不变性。(3)嵌入式实时应用程序:运行于操作系统之上,利用操作系统提供的实时机制完成特

3、定功能的嵌入式应用。不同的系统需要设计不同的嵌入式实时应用程序。由于嵌入式系统应用的硬件环境差异较大,因此,如何简洁有效地使嵌入式系统能够应用于各种不同的应用环境是嵌入式系统发展中所必须解决的关键问题。经过不断的发展,原先嵌入式系统的三层结构逐步演化成为一种四层结构。这个新增加的中间层次位于操作系统和硬件之间,包含了系统中与硬件相关的大部分功能。通过特定的上层接口与操作系统进行交互,向操作系统提供底层的硬件信息;并根据操作系统的要求完成对硬件的直接操作。由于引入了一个中间层次,展蔽了底层硬件的多样性,操作系统不再直接面对具体的硬件环境。而是面向由这个中间层次所代表的、逻辑上的硬

4、件环境。因此,把这个中间层次叫做硬件抽象层HAL(Hardouseg(this)">2BSP的设计与实现为实现上述两部分功能,设计一个完整的BSP需要完成两部分工作:(1)设计初始化过程,完成嵌入式系统的初始化;(2)设计硬件相关的设备驱动,完成操作系统及应用程序对具体硬件的操作。2.1嵌入式系统初始化以及BSP的功能嵌入式系统的初始化过程是一个同时包括硬件初始化和软件(主要是操作系统及系统软件模块)初始化的过程;而操作系统启动以前的初始化操作是BSP的主要功能之一。由于嵌入式系统不仅具有硬件环境的多样性,同时具有软件的可配置性,因此,不同的嵌入式系统初始化所涉及的内容各不相同

5、,复杂程度也不尽相同。但是初始化过程总是可以抽象为三个主要环境,按照自底向上、从硬件到软件的次序依次为:片级初始化、板级初始化和系统级初始化。(1)片级初始化:主要完成CPU的初始化,包括设置CPU的核心寄存器和控制寄存器,CPU核心工作模式以及CPU的局部总线模式等。片级初始化把CPU从上电时的缺省状态逐步设置成为系统所要求的工作状态。这是一个纯硬件的初始化过程。(2)板级初始化:完成CPU以外的其他硬件设备的初始化。除此之外,还要设置某些软件的数据结构和参数,为随后的系统级初始化和应用程序的运行建立硬件和软件环境。这是一个同时饮食软硬件两部分在内的初始化过程。(3)系统级初

6、始化:这是一个以软件初始化为主的过程,主要进行操作系统初始化。BSP将控制转交给操作系统,由操作系统进行余下的初始化操作。包括加载和初始化与硬件无关的设备驱动程序,建立系统内存区,加载并初始化其他系统软件模块,比如网络系统、文件系统等;最后,操作系统创建应用程序环境并将控制转交给应用程序的入口。经过以上三个层次的操作,嵌入式系统运行所需要的硬件和软件环境已经进行了正确设置,从这里开始,高层的实时应用程序可以运行了。需要指出:系统级初始化不是BSP的工作。但是,系统级初始化成功与否的关键在于BSP的前两个初始化过程中所进行的软件和硬件的正确设置,而且系统级初始化也是由BSP发起的

7、。因此,设计BSP中初始化功能的重点主要集中在前两个环节。图3显示了嵌入式系统的初始化过程。2.2硬件相关的设备驱动程序BSP另一个主要功能是硬件相关的设备驱动。与初始化过程相反,硬件相关的设备驱动程序的初始化和使用通常是一个从高层到底层的过程。尽管BSP中包含硬件相关的设备驱动程序,但是这些设备驱动程序通常不直接由BSP使用,而是在系统初始化过程中由BSP把它们与操作系统中通用的设备驱动程序关联起来,并在随后的应用中由通用的设备驱动程序调用,实现对硬件设备的操作。设计与硬件相关的驱动程序是BSP设计中另一个关键环节。图4显示了调用设备驱动程序时系统各个层次之间的关系。500)

8、this.style.ouseg(this)">3设计实现BSP的方法3.1设计实现BSP的一般方法因为BSP同时具硬件相关性和操作系统相关性,是一个介于硬件与软件之间的中间层次。因此BSP的开发不仅需要具备一定的硬件知识,例如CPU的控制、中断控制器的设置、内存控制器的设置及有关的总线规范等;同时还要求掌握操作系统所定义的BSP接口。另外,在BSP的初始化部分通常会包含一些汇编代码,因此还要求对所使用的CPU汇编指令有所了解,例如X86的汇编和Poouseg(this)">3.2BSP设计

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。