基于嵌入式NiosⅡ的SD卡驅(qū)動設計
本文引用地址:http://2s4d.com/article/256144.htm
其中,dev指向當前字符模式設備的alt_dev數(shù)據(jù)結構實例;fd_flags代表傳遞給open()函數(shù)的操作選項參數(shù);priv為當前 HAL系統(tǒng)代碼并未使用該變量。llist代表設備的節(jié)點,具有previous和next兩個域,分別指向之前和之后注冊的設備,這樣系統(tǒng)中的所有已注冊設備就形成一個設備鏈,供HAL操作系統(tǒng)內(nèi)部使用。name即system.h中定義的設備名,表示HAL文件系統(tǒng)的一個裝載點。
其設備的數(shù)據(jù)結構定義為:
在NiosII中,其SD卡的驅(qū)動函數(shù)具體定義為:
以下給出SPI寫數(shù)據(jù)的關鍵代碼:
4 結論
基于NiosⅡ軟核處理器的設備驅(qū)動設計方案具有良好的穩(wěn)定性和設計靈活性,可以真正按照設計者的需要設計每個細節(jié),使系統(tǒng)整體結構簡潔明朗,便于移植和進行二次開發(fā)工作。這里通過分析NiosⅡ處理器的總線架構、SD卡的接口協(xié)議,給出SD卡設備在NiosⅡ處理器的設計實例,具有通用的意義。
評論