新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于Windows CE的SPI接口驅動程序設計

        基于Windows CE的SPI接口驅動程序設計

        作者: 時間:2010-08-13 來源:網絡 收藏











        需要說明的是,在本程序中使用了DDK中MmMapIoSpace庫函數,故另需在頭文件中添加#include和#pragma comment(lib,ceddk.lib)。至此,g_Reg在其他的實現函數中就可以調用,直接讀寫其指向的寄存器的代碼即可完成相關的操作。還需要實現的函數有:_Deinit、_Read、SPI_write、SPI_Seek、SPI_Open、SPI_Close、SPI_IOCntrol。限于篇幅,本文僅給出初始化的代碼。

        3.3 與應用程序的通信設計

        中,用戶模式下每個進程與其他進程所占有的內存空間被虛擬內存機制隔離,進程間無法實現直接互訪。在驅動程序和應用程序通信過程中,驅動程序位于device.exe的進程空間中,由于上述原因,驅動程序向應用程序發起的單向通信存在困難。通常的解決方法是在內核空間中共享同步對象,建立消息隊列或者通過指針映射來完成。上述方法都無法回避進程間的數據復制過程,因而只適用于少量的數據傳輸。對于大量的數據或者實時性要求較高的情況,可以在虛擬地址為Ox4200 0000~0x7fff ffff的空間中建立命名的內存映射來實現內存共享,從而能夠避免數據在進程空間中的復制。相關的API為CreateFileMapping和MapView()fFile。

        3.4 驅動程序的封裝和安裝

        驅動函數編寫完后將其以dll的形式導出,再編寫一個簡單的注冊表文件,指明驅動安裝的路徑、前綴以及索引。至此驅動工作就完成了,將驅動及注冊表添加到當前的平臺中即可。

        結 語

        本文詳細介紹了Platform Builder下SPI驅動以及驅動程序同應用程序交互的實現。驅動例程已經成功地應用于nRF2401的嵌入式系統無線通信當中,具有很高的參考價值。

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 政和县| 潼南县| 上栗县| 湖北省| 深圳市| 抚顺县| 安阳县| 和硕县| 洛阳市| 镇远县| 酒泉市| 同心县| 河津市| 铁力市| 洛阳市| 武义县| 祁门县| 海门市| 三河市| 湟中县| 仪陇县| 襄樊市| 宝应县| 木里| 宁明县| 文昌市| 梨树县| 博乐市| 南康市| 房山区| 梁山县| 桃园市| 泰州市| 五指山市| 大丰市| 沂南县| 遂溪县| 自贡市| 皮山县| 静海县| 邮箱|