2011-04-16 71 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