新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > PCI總線數(shù)據(jù)輸出板驅(qū)動程序的開發(fā)

PCI總線數(shù)據(jù)輸出板驅(qū)動程序的開發(fā)

作者: 時間:2014-11-08 來源:網(wǎng)絡 收藏

  pOutBuffer[0]= m_MemoryRange1.inb(ioOutSize-1);

本文引用地址:http://butianyuan.cn/article/265056.htm

  //讀取一個字節(jié)數(shù)據(jù)

  I.Information()=1;

  return status;

  }

  NTSTATUS _DADevice::_DA_IOCTL_Write_Handler(KIrp I)

  {

  NTSTATUS status=STATUS_SUCCESS;

  //得到IOCTL緩沖區(qū)指針

  PUCHAR pInBuffer=(PUCHAR) I.IoctlBuffer ();

  //輸入緩沖區(qū)大小

  ULONG ioInSize=I.IoctlInputBufferSize();

  //將數(shù)據(jù)寫入偏移地址為n-1的存儲單元

  m_MemoryRange1.outb

  (ioInSize-1,pInBuffer[0]);

  //寫入大小為一個字節(jié)

  I.Information()=1;

  return status;

  }

  編譯程序,生成一個.inf文件和一個.sys文件,這就是需要安裝的程序文件。編譯無錯誤,就可以安裝調(diào)試程序了。

  5 安裝調(diào)試驅(qū)動程序

  插入自己設計的板卡,重新啟動計算機,出現(xiàn)安裝新硬件向?qū)?。安裝已經(jīng)生成的.inf文件和.sys文件。安裝后,查看pci設備的資源,若與自己硬件設置的資源空間相同,則設備驅(qū)動安裝成功。

  用Windows自帶的命令提示符,打開驅(qū)動程序框架自帶的test應用程序,測試通過驅(qū)動程序讀寫數(shù)據(jù)。若讀取的和寫入的數(shù)據(jù)一致,則驅(qū)動程序開發(fā)成功。

  結(jié)束語

  本文以一種基于PCI總線的D/A數(shù)據(jù)輸出板卡為例,介紹了在Windows 2000/XP下用開發(fā)PCI總線WDM驅(qū)動程序的基本方法,詳細敘述了應用程序和驅(qū)動程序之間的通信機制和硬件訪問方法;針對板卡的硬件結(jié)構(gòu)和功能用途,介紹了PCI9052總線控制器PCI配置寄存器和局部配置寄存器地址配置的具體方法;給出了利用安裝新硬件向?qū)О惭b驅(qū)動程序的方法,實現(xiàn)了上位機和數(shù)據(jù)輸出板卡的通信。

c++相關文章:c++教程



上一頁 1 2 下一頁

評論


相關推薦

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

關閉