基于NiosⅡ的SD卡驅動程序開發(fā)
HAL系統(tǒng)庫為Nios軟件設計人員提供了應用程序與底層硬件交互的設備驅動接口,大大簡化了應用程序的開發(fā)。同時,HAL系統(tǒng)庫還為應用程序與底層硬件驅動劃分了一條很清晰的分界線,從而大大提高了應用程序的復用性,使得應用程序不受底層硬件變化的影響。基于HAL的系統(tǒng)層次結構如圖6所示。本文引用地址:http://yuyingmama.com.cn/article/151709.htm
SD卡設備屬于字符模型設備,其數據結構負責收集一系列用于響應HAL文件系統(tǒng)訪問操作的函數指針,函數實體由設備驅動定義。SD卡設備的數據結構如下:
其中,dev指向當前字符模式設備的alt_dev數據結構實例;fd_flags代表傳遞給open()函數的操作選項參數;priv為當前HAL系統(tǒng)代碼并未使用該變量。llist代表設備的節(jié)點,具有previous和next兩個域,分別指向之前和之后注冊的設備,這樣系統(tǒng)中的所有已注冊設備就形成一個設備鏈,供HAL操作系統(tǒng)內部使用。name即system.h中定義的設備名,表示HAL文件系統(tǒng)的一個裝載點。
其設備的數據結構定義為:















評論