7

我想开发一些 HAL(硬件抽象层)以在 PIC32 和一些 ARM 中使用。

基本上我想制作一些通常在操作系统上可用的代码,比如通用引脚访问、通信库、设备 I/O 等。

你能给我推荐一些好书/网站吗?

我将从几周前发现的一个开始:http ://www.kalinskyassociates.com/OnLineLearning.html

谢谢

4

2 回答 2

6

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

  • eCos有一个 HAL,它附带一些文档
  • eLua还有一个围绕它发展的 HAL,以支持它运行的平台(ARM、AVR32 等),检查架构信息以及“平台接口”和“通用模块”菜单。如果去掉 Lua,eLua 本质上就是一个 HAL。

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

于 2011-04-19T22:32:53.583 回答
1

您也可以尝试查看 OSEK 接口文档。该标准很好地抽象了对最常用外设的访问。但是,请记住,这只是一个规范,您必须制定所有实施细节。

于 2011-05-20T08:56:16.877 回答