- 1、本文档共68页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十一讲硬件抽象层与ecos移植
课前回顾 Counter Alarm Clock Timer 学习目标 硬件抽象层与eCos移植 硬件抽象层 HAL 硬件抽象层的结构 HAL的类型硬件抽象层文件描述 硬件抽象层接口 基本定义 体系结构描述 中断处理 I/O操作 Cache控制 SMP支持 诊断支持 链接脚本 学习目标 例外处理 HAL的启动处理 同步例外与异步中断的处理 虚拟向量 eCos的移植 平台抽象层的移植 变体抽象层的移植 体系结构抽象层的移植 学习指南 eCos是一种可移植的嵌入式操作系统,它可以移植到16位、32位以及64位的各种处理器和平台上。eCos由各种组件构成,根据具体硬件平台的需要可以分别将这些组件加入到系统中来,从而实现各种所需的功能。eCos的这种层次结构的最底层是硬件抽象层(HardwareAbstractionLayer),通常称为 HAL。硬件抽象层 HAL对处理器结构和系统硬件平台进行抽象,当需要在一个新的目标平台上运行eCos时,只需对底层的硬件抽象层进行修改,便可迅速地将整个eCos系统移植到新的平台上。 硬件抽象层 HAL 硬件抽象层处于eCos层次结构中的最底层。根据所描述的硬件对象的不同,可以将硬件抽象层分成三个不同的子模块,它们分别是体系结构抽象层(ArchitectureHAL)、变体抽象层(VariantHAL)和平台抽象层(PlatformHAL)。 硬件抽象层 HAL 硬件抽象层 HAL 硬件抽象层 HAL 第一个子模块是体系结构抽象层。eCos所支持的不同处理器系列都具有不同的体系结构,如 ARM 系列、PowerPC系列、MIPS系列等等。体系结构抽象层对 CPU 的基本结构进行抽象和定义,此外它还包括中断的交付处理、上下文切换、CPU 启动以及该类处理器结构的指令系统等等。 硬件抽象层 HAL 第二个子模块是变体抽象层。变体指的是该处理器在该处理器系列中所具有的特殊性,这些特殊性包括在Cache、MMU(内存管理部件)和FPU(浮点部件)等方面与其处理器系列的基本结构具有的这样或那样的差异。eCos的变体抽象层就是对这些特殊性进行抽象和封装。如果处理器具有片内(onchip)内存和片内中断控制器,变体抽象层,也必须对它们进行处理。对于结构性的变体,实际上通常由体系结构抽象层来实现这种变体,变体抽象层只简单地提供适当的配置定义。 硬件抽象层 HAL 第三个子模块是平台抽象层。平台抽象层对当前系统的硬件平台进行抽象,包括平台的启动、芯片选择与配置、定时设备、I/O寄存器访问以及中断寄存器等等。 硬件抽象层 HAL eCos在实现硬件抽象层时,采用了下述主要原则: ① 尽管大部分eCos内核都使用C++,但其硬件抽象层 HAL均用 C语言和汇编语言加以实现。这使得 HAL的适用范围更为广泛。 ② 所有与 HAL的接口均采用 C++宏(Macros)加以实现。采用这种方式的好处是可以用内嵌C程序、内嵌汇编程序、外部C函数和外部汇编程序的形式对它们进行调用。同时,这种方式可以选择最有效的实现方法而不会影响到接口。在平台抽象层或变体抽象层需要对体系结构抽象层的定义进行更换或改进时,还可以采用这种宏定义的方式对它们进行重定义。 硬件抽象层 HAL ③ 硬件抽象层提供简单而具有可移植的机制来处理广泛范围内的处理器结构和硬件平台。虽然可以绕过硬件抽象层(不使用硬件抽象层)而直接对硬件进行操作,但这种对硬件直接操作的方式移植性较差。 硬件抽象层 HAL 利用配置工具可以对硬件抽象层进行下面几个方面的配置: ① PlatformindependentHALoptions。提供一些与平台硬件无关的配置选项,为所有平台的 HAL包所共有。例如,对上下文切换过程中保存的状态量进行控制的选项。对于不同的体系结构,这些选项的实现不尽相同。 ② HALinterrupthandling。提供与中断处理相关的一些配置选项,大多数的 HAL包都共有这些选项。对于不同的硬件平台,它们的具体实现可能有差异。 硬件抽象层 HAL 利用配置工具可以对硬件抽象层进行下面几个方面的配置: ③ HALcontextswitchsupport。提供一些与线程上下文相关的配置选项,大多数的 HAL包都共有这些选项。对于不同的硬件平台,它们的具体实现可能有差异。 ④ Explicitcontrolovercachebehaviour。提供一些对Cache进行控制的选项,使得对Cache行为的控制变得简单。 ⑤ Sourceleveldebuggingsupport。对源码级调试工具 GDB的支持进行配置。 硬件抽象层 HAL 利用配置工具可以对硬件抽象层进行下面几个方面的配置: ⑥ ROM monitorsupport。对 R
您可能关注的文档
最近下载
- 佳能(Canon )PowerShot SX系列 PowerShot SX1 IS 说明书.pdf
- 苏州市吴中区小升初英语模拟试卷(三).doc VIP
- 2025新外研社版英语七年级下单词表(英译汉).docx
- 《新闻采访与写作》电子课件 第十六章 广播新闻写作.ppt
- 2025年湖南石油化工职业技术学院单招职业技能测试题库(各地真题).docx VIP
- 上海市六年级(下)数学同步讲义 第11讲 一元一次不等式(组)及其解法.doc VIP
- 人教版语文七年级下 列夫托儿斯泰课件(共45张PPT).pptx VIP
- 1.2 太空探索课件-七年级地理上学期中图版(2024).pptx VIP
- 人教版小学一年级数学课件- 两位数加一位数(不进位)、整十数.ppt
- 四人赛全真总题库(共3000题).docx VIP
文档评论(0)