1. gzyueqian
      13352868059

      嵌入式開發:開發偉大API的7個提示

      更新時間: 2022-04-06 09:52:30來源: 粵嵌教育瀏覽量:11842

        嵌入式軟件開發人員已經習慣于在基于微控制器的系統中工作在最低的、基本的硬件級別。擺弄和操縱位和字節是嵌入式軟件開發人員天生要做的事情。嵌入式軟件行業正在發生變化,這種變化要求嵌入式開發人員開始在更高的抽象層次上工作,這需要設計和創建 API(應用程序編程接口)來允許軟件被重用。讓我們來看看開發優秀 API 的七個技巧。

        1. 讓它成為一個迭代過程

        在設計 API 或 HAL(硬件抽象層)時,不要假設第一次一切都會順利。沒有一個 API 可以統治所有這些,并且期望創建這樣的 API,尤其是在一次嘗試時,是一種失敗的設置。相反,從一個 API  草案開始,期望它在未來的迭代中會略有改變。通常在三個或四個項目的過程中,API 將穩定到進一步變化很小甚至不存在的程度。

        2. 檢查多個微控制器數據表

        如果計劃是創建一個可在多個微控制器供應商之間使用的 API,開發人員必須查看的不僅僅是一個微控制器數據表。開發人員應該為多個微控制器檢查相同的外設,并列出所有常見和不常見的功能。通用功能應該被匯總到 API 中,因為它們無疑是行業標準功能,而不常見的功能只有在需要這些功能時才能在 API 擴展中實現。

        3. 每個模塊使用不超過 10 個接口

        人類的大腦只能始終如一地記住大約 10 到 12 條屬于一起的信息。嵌入式開發人員的目標應該是保持他們的 API 不超過大約 10 個接口。遠遠超出這個數字會讓人難以記住調用,還會使界面看起來很復雜,甚至可能會混淆理解。尋找使用控制和配置結構重構接口的方法。



        4. 測試前置條件和后置條件

        一個出色的 API 實現不會假設調用函數或應用程序已經完成了它應該為函數正常工作的所有事情。開發人員應在 API 中使用斷言來測試是否滿足所有前置條件,甚至測試后置條件以確保 API 已成功執行其功能。不要像許多開發人員那樣假設一切都已正確設置并且將正確執行。防御性地設計和實現接口。

        5. 邏輯命名約定

        一個優秀的 API 將具有邏輯命名約定,使開發人員能夠輕松識別和調用 API 接口。在 API 的前面使用神秘的字母通常會讓開發人員摸不著頭腦并質疑該符號的含義。在命名約定中明確并遵循最佳實踐建議,例如從通用開始命名約定并朝著特定方向努力。

        6.提供擴展接口的方法

        目標是創建一個易于理解和使用的簡潔界面,同時包含開發人員在開發過程中需要的最常見元素。有時,嵌入式開發人員可能希望在微控制器中使用一些不常見的功能,例如每個微控制器可能沒有的 GPIO 硬件去抖動。在這些情況下,開發人員將希望確保他們的 API 中內置了一種機制,允許擴展接口。這可以通過允許指向新接口結構的指針或通過創建對 API 的寄存器訪問來實現,以允許創建低級操作和更高級別的接口。

        7. 在 API 中構建中斷處理

        為了確保正確處理中斷,API 開發人員可以更輕松地處理 API 內部的中斷,從而使中斷對 API 用戶來說是一個黑匣子。這意味著需要有一種機制用于將函數分配給更高級別的應用程序代碼中的中斷處理程序。一種方法是將回調注冊添加到 API 中,以便可以在應用程序代碼中為中斷分配其可執行代碼。這允許 API 確保正確處理中斷,但也允許開發人員使用他們自己的自定義代碼覆蓋這些默認值。

        結論

        如果開發人員想要降低成本和縮短上市時間,現在幾乎需要開發 API 和 HAL。微控制器已達到與早期 x86 微處理器相當的復雜性、性能和功能水平。在當今系統如此復雜的情況下,必須設計 API 以最大限度地重用代碼。這七個技巧應該可以幫助希望重用自己的代碼的嵌入式開發人員更有能力開發自己的 API 和 HAL。


      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲精品国产综合野狼 | 日本免费一级高清婬日本片 | 一级中文字幕在线播放 | 日本三级2020亚洲视频 | 亚洲一级人成字幕 | 亚卅日韩久久影视观看 |