每一個嵌入式應用軟件都會在某些時候訪問最底層的固件和進行一些硬件控制。 驅動的設計和實施是確保一個系統能夠滿足其實時性要求的關鍵。以下五個竅門是每一個開發者在設計驅動程序時應該考慮的。
1 扁平線電感- 使用設計模式
設計模式是一個用來處理那些在軟件中會重復出現的問題的解決方案。 開發人員可以選擇浪費寶貴的時間和預算從無到有地重新發明一個解決方案,也可以從他的解決方案工具箱中選擇一個最適合解決這個問題的方案。在微處理器出現之初,底層驅動已經很成熟了,那么,為什么不利用現有的成熟的解決方案呢?
驅動程序設計模式大致分屬以下4個類別:bit bang、輪詢、中斷驅動和直接存儲器訪問(DMA)。
Bit bang模式:當微控制器沒有內外設去執行功能的時候,或者當所有的內外設都已經被使用了,而此時又有一個新的請求,那么開發者就應該選擇bit bang設計模式。Bit bang模式的解決方案很有效率,但通常需要大量的軟件開銷來確保其實施的能力。bit bang模式可以讓開發者手動完成通信協議或外部行為。
輪詢模式用于簡單地監視一個輪詢調度方式中的事件。輪詢模式適用于非常簡單的系統,但許多現代應用程序都需要中斷。
中斷可以讓開發者在事件發生時進行處理,而不用等代碼手動檢查。
DMA(直接存儲器訪問)模式允許其它外圍設備來處理數據傳輸的需求,而不需要驅 http://www.siyinzg.com/電感生產 動的干預。
2 - 了解實時行為
一個實時系統滿足是否能滿足實時需求取決于它的驅動程序。寫入能力差的驅動是低效的,并可能使不知情的開發者放棄系統的性能。設計者需要考慮驅動的兩個特點:阻塞和非阻塞。一個阻塞的驅動程序在其完成工作之前會阻止其他任何軟件執行操作。例如,一個USART驅動程序可以把一個字符裝入傳輸緩沖區,然后一直等到接收到傳輸結束標志符才繼續執行下一步操作。 大功率電感廠家 |大電流電感工廠