tft每日頭條

 > 生活

 > 驅動程序怎麼編寫

驅動程序怎麼編寫

生活 更新时间:2024-08-16 18:52:49

今天使用微控制器的一個主要優勢是嵌入式軟件開發人員通常不必再編寫自己的驅動程序。微控制器供應商提供軟件框架來抽象硬件并允許開發人員進行簡單的函數調用來初始化、讀取和寫入外圍設備(如 SPI、UART、模數轉換器等)是很常見的。然而,嵌入式開發人員仍然經常需要編寫驅動程序來與外部集成電路進行交互,這些集成電路可能是傳感器、執行器、電機控制器等。在今天的文章中,我們将探讨幾個編寫自己的外部設備驅動程序的最佳實踐。

最佳實踐 #1——将實現與配置分開

編寫任何驅動程序的一個關鍵方面是将實現與配置分開。這種分離有助于确保驅動程序可重用和靈活。例如,驅動程序可以很容易地編譯成一個目标文件,這樣開發人員就看不到内部,因此它可以用于多個項目。開發人員仍然可以訪問配置模塊,他們可以使用該模塊來配置驅動程序以滿足其特定的應用程序需求。如果配置需要機會,它不會影響驅動程序設計或強制使用驅動程序的其他項目不同步或被迫接受新更改并經曆驗證周期。

将實現與配置分開還允許抽象外部硬件,以便開發人員不需要完全了解硬件中發生的事情,就像在微控制器上一樣。我經常希望集成電路供應商停止提供配置工具 GUI,而是花精力為他們的設備編寫可重用和便攜的驅動程序。他們的每個客戶都很難通過閱讀大約 100 頁的數據表來編寫驅動程序并理解他們的模塊。

最佳實踐#2——創建一個簡單的底層接口

在編寫驅動程序時,嵌入式開發人員試圖在他們的實現中做太多事情,驅動程序成為驅動程序和應用程序代碼的混合體,驅動程序的接口應該包含一個簡單的接口,其中包括:

一個初始化函數

寫函數

讀取功能

除此之外的任何東西都真正開始進入應用程序領域!這背後的邏輯很簡單,驅動程序應該簡單地提供與設備通信并允許讀取和寫入操作的能力,然後,應用程序模塊将訪問這些讀取和寫入功能,以構建更高級别應用程序代碼所需的可重用應用程序組件。


驅動程序怎麼編寫(編寫外部設備驅動程序的)1

最佳實踐#3——提供錯誤檢測

不幸的是,許多嵌入式開發人員編寫的代碼隻是假設一切都會好起來的,在為外部設備編寫驅動程序時,我們沒有那麼奢侈。設備驅動程序應考慮潛在的錯誤和故障。例如驅動程序可以超時并提供錯誤嗎?如果執行了讀操作,函數能否返回讀是否成功?如果發生奇偶校驗錯誤怎麼辦?

有幾種不同的方法可以在驅動程序中提供錯誤和故障檢測。首先,每個函數都可能返回錯誤代碼。如果操作成功,則此錯誤代碼将簡單地為真,如果發生問題,則此錯誤代碼将簡單地為假。其次,如果确實發生了問題,那麼可以在設備接口中添加一個允許檢查錯誤的附加功能,會包括以下附加操作:

返回驅動錯誤狀态

清除驅動錯誤狀态

同樣,這為驅動程序提供了靈活性和故障檢測能力,并允許應用程序代碼仔細監控驅動程序操作是否成功。

為微控制器之外的集成電路編寫設備驅動程序是嵌入式開發人員的最後一個前沿領域之一,我們仍然必須編寫自己的驅動程序。在今天的帖子中,我們研究了為外部集成電路編寫驅動程序的幾個最佳實踐,這些最佳實踐将幫助讀者開發可擴展和可重用的驅動程序,這些驅動程序可以檢測故障并允許應用程序代碼做出适當的響應。


了解更多

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved