2011-04-16 72 views

回答

6

您是否尝试过寻找一些实现?

  • eCos有一个HAL,它有一些documentation伴随它。
  • eLua也有一个HAL,它已经成长为支持它运行的平台(ARM,AVR32等),检查architecture信息和“平台接口”和“通用模块”菜单。如果你去掉Lua,eLua本质上是一个HAL。

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

1

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

+0

如果使用OSEK,可以查看ERIKA Enterprise(http://erika.tuxfamily.org),这是一个实现OSEK标准的开源RTOS。 – Claudio 2015-11-25 09:00:10