嵌入式硬件抽象层HAL的设计实现.docx

? ? 嵌入式硬件抽象层HAL的设计实现 ? ? 硬件抽象层对下必须检验查看目前硬件配置的能力与限制,以及将来可能的扩展性,对上得倾听系统软件得需求。简单得说,HAL就是我们系统的“硬件”,而“硬件”的功能就是它所提供的API,即所有上层的程序完全不需要知道硬件与驱动程序的细节,只能通过HAL来操控硬件。按照这样的逻辑,通常我们实现HAL的流程如下: 定义HAL的规模(Scope):根据需求分析上层的系统和应用程序需要哪些硬件功能,这些需求就是HAL必须要包含的基本模块,然后再根据硬件配置,分析是否仍有目前系统没用到的硬件功能,这些功能可能会在下一代产品中实现,我们可以为其设计相应的HAL模块的API,但可以先不实现; 定义HAL API: 系统工程师说明系统需求,包含系统对硬件事件的处理方式。 固件工程师根据硬件功能,提供第一版的HAL API定义文件; 系统工程师协同固件工程师逐一review HAL API。 在HAL API立项前,必须针对项目中的所有软件工程师做详细报告,收集建议,并做必要的修正。 由固件工程师实现所有的HAL的功能,并执行每个模块的单元测试; 固件工程师release第一版HAL库,由系统工程师负责整合测试。 所以HAL不过是驱动程序提供给上层应用的API标准而已。 1、HAL基本设计原则 HAL设计文件是以驱动来区分章节,不同的驱动由不同专长的

文档评论(0)

1亿VIP精品文档

相关文档