- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
。
设备驱动层
驱动层一般由硬件抽象层(HAL)、板级支持包(BSP)和驱动程序组成,是嵌入式系统中不可或缺的重要部分。它的作用是为上层程序提供外部设备的操作接口,并且实现设备的驱动程序。上层程序可以不管操作的设备内部实现,只需要调用驱动的接口即可。
硬件抽象层(HAL)
硬件抽象层的层次结构
HAL层可细分为:common HAL(通用抽象层)、architecture HAL(体系结构抽象层)、variant HAL(变体抽象层)和platform HAL(平台抽象层)。
体系结构抽象层:eCos所支持的不同处理器系列具有不同的体系结构,如ARM系列、PowerPC系列、MIPS系列等,体系结构抽象层对CPU的基本结构进行抽象和定义,此外它还包括中断的交付处理、上下文切换、CPU启动以及该类处理器结构的指令系统等。
变体抽象层指的是处理器在该处理器系列中所具有的特殊性,这些特殊性包括Cache、MMU、FPU等,eCos的变体抽象层就是对这些特殊性进行抽象和封装。
平台抽象层是对当前系统的硬件平台进行抽象,包括平台的启动、芯片选择和配置、定时设备、I/O寄存器访问以及中断寄存器等。
硬件抽象层的这三个子模块之间没有明显的界线。对于不同的目标平台,这种区分具有一定的模糊性。例如,MMU和Cache可能在某个平台上属于体系结构抽象层,而在另一个平台上则可能属于变体抽象层的范围;再比如,内存和中断控制器可能是一种片内设备而属于变体抽象层,也可能是片外设备而属于平台抽象层。
eCos的移植通过这三个子模块来完成,即平台抽象层的移植、变体抽象层的移植和体系结构抽象层的移植。对一个新的体系结构来说,其体系统结构抽象层的建立相对来说比较困难,需要编写新的体系结构抽象层。eCos支持大部分当前广泛使用的嵌入式CPU,已具有了支持各种体系结构的硬件抽象层。因此,eCos的移植很少需要进行体系结构抽象层的编写。
一般来说,进行eCos开发时,移植的主要工作在于变种抽象层和平台抽象层,这是由于eCos已实现了绝大多数流行嵌入式CPU的体系结构抽象层。其中,平台抽象层主要完成的工作包括:内存的布局、平台早期初始化、中断控制器以及简单串口驱动程序等
嵌入式系统通常包含三个部分:
? 嵌入式应用程序
? 嵌入式操作系统
? 硬件平台
?? ? ?应用程序运行在操作系统之上,利用操作系统提供的接口完成特定功能。操作系统一般是RTOS,完成应用的任务调度和控制等核心功能。硬件平台根据应用的不同,所具备的功能各不相同,而且所使用的硬件设备也不一样,因此具有复杂的多样性。
由于硬件平台的复杂多样,针对不同平台进行操作系统的移植是极为耗时的工作,因此经过不断发展,嵌入式系统的三层结构演化为四层结构,即在操作系统层和硬件平台之间,增加硬件抽象层(HAL)。
?? ? ?硬件抽象层本质上就是一组对硬件进行操作的API接口,是对硬件功能抽象的结果。硬件抽象层通过API为操作系统和应用程序提供服务。一般上HAL包含相关硬件的初始化、数据的输入输出操作、硬件设备的配置操作等功能。
有了硬件抽象层,操作系统和应用程序就不需要关心底层的硬件平台信息,内核与硬件相关的代码也不必因硬件的不同而修改,只要硬件抽象层能够提供必需的服务即可,从而屏蔽底层硬件,方便进行系统的移植。
?? ? ?HAL只是对硬件的一个抽象,对一组API进行定义,却不提供具体的实现。通常HAL各种功能的实现是以BSP的形式来完成对具体硬件的操作的。
HAL设计的一些要素是:
? 与硬件的密切相关性
? 与操作系统的无关性
? 接口的功能包括硬件或者系统所需硬件支持的所有功能
? 接口简单明了
板级支持包(BSP)
?? ? ?板级支持包是介于系统硬件和操作系统的驱动程序之间的一层,是HAL的具体实现,所以有些人也称BSP层位HAL。
?? ? ?BSP主要实现对操作系统的支持,为上层驱动程序提供访问硬件设备寄存器所需的函数,使之能够更好的运行于硬件主板。
?? ? ?BSP的特点有:硬件相关性,BSP程序直接对硬件进行操作;操作系统相关性,不同操作系统的软件层次结构不同,硬件抽象层的接口定义不同,因此具体实现也不一样。BSP,一定要按照操作系统的接口定义来实现,因此,大多数的BSP编程过程都是在某一个成型的BSP模板上进行修改。
具体功能体现在两个方面:
1.系统启动时,完成对硬件的初始化,如对系统内存,寄存器以及设备的中断设置等。
2.为操作系统的通用设备驱动程序提供访问硬件的手段,亦即硬件相关的设备驱动。
设备驱动程序
?? ? ?设备驱动程序是指操作系统中的驱动程序,为上层软件提供设备的操作接口,必要的时使用BSP提供的函数来实现硬件设备操作。驱动程序的好坏直接影响系统的性能。
BSP(board
您可能关注的文档
- 移民16.03.29范例.ppt
- 龙门吊基础方案1学案.doc
- 移网用户价值提升方案_V1.0范例.pptx
- 龙门吊基础计算书学案.doc
- 龙图教育:HTML5中文手册学案.doc
- 长江的开发范例.ppt
- 长江上海段船舶定线制规定范例.doc
- 长江水质的评价与预测范例.docx
- 遗忘的奥格威范例.ppt
- 长久汽车投资公司介绍范例.ppt
- 江苏省洪泽外国语中学2025届高三第二次联考历史试卷含解析.doc
- 2025届江苏省盐城市龙冈中学高三第二次联考生物试卷含解析.doc
- 2025届北京市东城区第二中高考生物押题试卷含解析.doc
- 2025届北京市鲁迅中学高考仿真模拟历史试卷含解析.doc
- 湖南省衡阳县第一中学2025届高考冲刺生物模拟试题含解析.doc
- 2025届福建省宁德市高中同心顺联盟高考生物考前最后一卷预测卷含解析.doc
- 2025届辽宁省抚顺市重点中学高三第三次模拟考试生物试卷含解析.doc
- 2025届山西省晋中市平遥县第二中学高三下学期第六次检测历史试卷含解析.doc
- 吉林省白城市通榆县第一中学2025届高考压轴卷历史试卷含解析.doc
- 北京市西城区第十三中学2025届高三第四次模拟考试历史试卷含解析.doc
最近下载
- 货物质量保证措施方案.docx VIP
- 九年级全一册英语单词默写表(人教版).docx VIP
- 香港朗文小学英语Longman-book4B-Chapter1-课件-Join-ourclub.ppt VIP
- GBT25198__压力容器封头.pdf VIP
- SYT7301-2016陆上石油天然气开采含油污泥资源化综合利用及污染控制技术要求.doc
- 机房断电应急预案.docx
- 电力电缆课程设计220KV 交联聚乙烯绝缘电力电缆结构设计.doc
- 《国有企业管理人员处分条例》解读.pptx VIP
- 科普版四年级上 英语 课文 带翻译.pdf VIP
- 急救相关知识考试题库300题(含答案).pdf VIP
文档评论(0)