嵌入式设备驱动程序开发笔记

7
我希望开发一些HAL(硬件抽象层),以在PIC32和一些ARM中使用。基本上,我想编写一些通常在操作系统上可用的代码,例如通用引脚访问、通信库、设备I/O等等。
你能给我推荐一些好的书籍/网站吗?
我将从几周前发现的一个开始: http://www.kalinskyassociates.com/OnLineLearning.html 谢谢。
2个回答

6

您是否尝试查看一些实现?

  • eCos有一个硬件抽象层 (HAL),与此相关的文档
  • eLua也有一个 HAL,它已经成长并支持了它运行的平台 (ARM, AVR32 等等...),请查看架构信息以及 "Platform Interface" 和 "Generic Modules" 菜单。如果剥离 Lua,eLua 本质上就是一个 HAL。

很可能还有其他例子,但我建议查看跨平台和非跨平台硬件 API 的实际例子。而且,如果/当您开始组合接口时,请确保在锁定 API 之前检查各个平台外围设备的实现。您会发现,在许多平台上通常支持某些交互模型,而其他交互模型则非常特定于平台。如果您的 API 假定功能将始终可用,则将难以移植到对所需功能支持缺乏或不存在的平台。有时,您可以在软件中用简单的解决方案解决此问题,但有时您可能会发现使行为在各个平台上保持一致要么是不可能的,要么是非常复杂的。


1

您也可以查看 OSEK 接口文档。该标准在抽象化大多数常用外设的访问方面做得很好。但请记住,这只是一个规范,您需要解决所有实现细节。


如果您需要了解OSEK,可以查看ERIKA Enterprise(http://erika.tuxfamily.org),这是一个实现OSEK标准的开源RTOS。 - Claudio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接