新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 采用NiosⅡ處理器的總線架構(gòu)的SD卡設(shè)計(jì)

采用NiosⅡ處理器的總線架構(gòu)的SD卡設(shè)計(jì)

作者: 時(shí)間:2012-05-10 來源:網(wǎng)絡(luò) 收藏

卡設(shè)備屬于字符模型設(shè)備,其數(shù)據(jù)結(jié)構(gòu)負(fù)責(zé)收集一系列用于響應(yīng)HAL文件系統(tǒng)訪問操作的函數(shù)指針,函數(shù)實(shí)體由設(shè)備驅(qū)動定義。卡設(shè)備的數(shù)據(jù)結(jié)構(gòu)如下:

本文引用地址:http://2s4d.com/article/149098.htm

程序

  其中,dev指向當(dāng)前字符模式設(shè)備的alt_dev數(shù)據(jù)結(jié)構(gòu)實(shí)例;fd_flags代表傳遞給open()函數(shù)的操作選項(xiàng)參數(shù);priv為當(dāng)前HAL系統(tǒng)代碼并未使用該變量。llist代表設(shè)備的節(jié)點(diǎn),具有previous和next兩個(gè)域,分別指向之前和之后注冊的設(shè)備,這樣系統(tǒng)中的所有已注冊設(shè)備就形成一個(gè)設(shè)備鏈,供HAL操作系統(tǒng)內(nèi)部使用。name即system.h中定義的設(shè)備名,表示HAL文件系統(tǒng)的一個(gè)裝載點(diǎn)。

  其設(shè)備的數(shù)據(jù)結(jié)構(gòu)定義為:

程序

  在II中,其卡的驅(qū)動函數(shù)具體定義為:

  以下給出SPI寫數(shù)據(jù)的關(guān)鍵代碼:

  4 結(jié)論

  基于Ⅱ軟核的設(shè)備驅(qū)動方案具有良好的穩(wěn)定性和靈活性,可以真正按照者的需要設(shè)計(jì)每個(gè)細(xì)節(jié),使系統(tǒng)整體結(jié)構(gòu)簡潔明朗,便于移植和進(jìn)行二次開發(fā)工作。這里通過分析、SD卡的接口協(xié)議,給出SD卡設(shè)備在NiosⅡ的設(shè)計(jì)實(shí)例,具有通用的意義。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉