• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    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.czjhyjcfj.com/article/149152.htm
    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 巧家县| 铜陵市| 托克托县| 台中县| 祁东县| 新竹市| 新邵县| 土默特左旗| 石楼县| 泰来县| 平山县| 珲春市| 大同市| 兴仁县| 永兴县| 黑河市| 滦平县| 澄城县| 盱眙县| 藁城市| 怀宁县| 云霄县| 琼海市| 台安县| 赫章县| 乌审旗| 灵石县| 石门县| 安岳县| 黄浦区| 名山县| 乾安县| 牡丹江市| 阜城县| 洪江市| 宁乡县| 调兵山市| 聂荣县| 左贡县| 当涂县| 长葛市|