新聞中心

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

        基于Windows CE的SPI接口驅動程序及與應用程序交互的設計

        作者: 時間:2012-05-02 來源:網絡 收藏










        需要說明的是,在本程序中使用了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的嵌入式系統無線通信當中,具有很高的參考價值。

        本文引用地址:http://www.104case.com/article/149152.htm
        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 苍南县| 额尔古纳市| 昆明市| 云南省| 吐鲁番市| 威宁| 安岳县| 深泽县| 静安区| 监利县| 乌苏市| 葫芦岛市| 济宁市| 宁明县| 万州区| 桃源县| 易门县| 新邵县| 临沂市| 黑河市| 莆田市| 饶阳县| 高阳县| 通州区| 邵东县| 常山县| 昌宁县| 涡阳县| 云龙县| 成武县| 霍城县| 阿鲁科尔沁旗| 河津市| 罗甸县| 察哈| 祁阳县| 长兴县| 邵东县| 柳江县| 江城| 黄陵县|