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