假設我們有嵌入式設備,例如Linux或沒有任何操作系統的操作系統。在這個器件中(或芯片上),我們有硬件UART,並且我們有用於UART的驅動器。我們希望附加一些能夠通過UART控制的外部設備,並且我們希望爲該設備提供很好的抽象層。我想知道什麼是最好的主意,或者處理這些問題的正確方法是什麼?我已經提出了4個不同的概念。在嵌入式系統中管理設備驅動程序的概念
概念1.
這裏外部裝置驅動直接使用UART驅動程序,但仍存在主/內核使用UART驅動程序選項。
概念2.
這裏外部設備驅動程序直接使用UART驅動程序,但沒有辦法用於任何其他模塊使用UART驅動程序時,它正忙。如果我們有多個外部設備連接到UART,不同的外部設備驅動程序會在使用UART驅動程序之間切換,並保留主代碼的完整抽象。
概念3.
這裏外部裝置驅動會控制硬件UART,但仍有其他模塊使用的硬件UART時,它不是由外部裝置驅動器所佔用一般UART驅動。
概念4.
這裏外部設備驅動器是相當,在用戶空間或主運行的代碼。它使用通用的UART驅動程序,響應由主應用程序重定向到外部設備驅動程序。
我想問一下開發商提供更多的經驗用什麼辦法,你會選擇,也許你看到我的任何概念的一些重要缺陷,將它排除在外,或者你會做完全不同的方式?