91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 技術資料 » 其它綜合

關于ISA設備的驅動程序轉換為PCI設備的Windows驅動程序設計

發布時間:2007/8/30 0:00:00 訪問次數:884

    摘要:本文主要針對已經研制好的ISA設備通過加上一個簡單的PCI接口芯片便能正常工作在PCI模式下,實現由ISA擴展板到PCI擴展板的轉換。這時我們必須重新編寫設備的驅動程序才能使設備在Windows/Nt操作系統下正常工作。這里主要給出Windows下的解決方案和程序實例。

    關鍵詞:ISA設備驅動程序 PCI設備驅動程序 IRQ PCI配置空間

    隨著計算機和通信技術的高速發展,ISA總線在速度、功能上已經成為系統的瓶頸,而功能更強大的PCI總線成為首選。這時對現有的ISA設備稍加設計就可在PCI總線下工作就顯得非常總要,但我們必須重新編寫設備的驅動程序才能使設備在Windows/Nt操作系統下正常工作。

    開發的驅動程序是Win32 Drivers Mode(WDM)類型,使用的開發工具是微軟提供的Device Driver Kit(DDK)和Vc++6.0,在進行驅動程序的調試時使用Numega公司的SoftIce產品。

1 .ISA設備與PCI設備的Windows驅動程序的比較

    (1).ISA設備與PCI設備驅動程序獲得硬件資源途徑不同
一個ISA設備驅動程序的資源是固定不變的,它是通過.inf文件的[logconfig]節來配置的。如下面的例子:

    [Xxx.LogConfig]

    IOConfig=220-22f

    IRQConfig=6

    .inf中此節說明此硬件資源的I/O地址范圍是220H到22FH,IRQ為6。

    一個PCI設備驅動程序的資源是操作系統自動分配的,它是通過設備ID號和廠商ID號獲得設備的物理位置:總線號、器件號和功能號,并利用它們尋址PCI配置空間,接著從配置空間獲得硬件資源。其中包括:中斷號、端口地址等。

    (2).ISA設備與PCI設備驅動程序對中斷處理不同
一個ISA設備驅動程序的中斷模式可以是LevelSensitive也可以是Latched,而且中斷向量是否與其它設備共享都可以。

    但是一個PCI設備驅動程序的中斷模式必須是LevelSensitive,而且中斷向量必須是共享的。

    (3).ISA設備與PCI設備驅動程序安裝時需要編寫的.inf文件不同

    對于ISA設備,在安裝時.inf文件必須有[logconfig]節,而對于PCI設備,在安裝時.inf文件必須有[Manufacturer]節,來指明設備ID號和廠商ID號,以便使硬件獲取系統資源。如:

    [Manufacturer]

    %PLX% = PLX.Mfg

    [PLX.Mfg]

    "PCI 9052RDK-860 Board" =DDInstall_9052,PCI\VEN_10b5&DEV_9050

    其設備ID號為9050H,廠商ID號為10B5H。

2 驅動程序的實現

   
通過上面的比較,我們知道只要對原有的ISA設備的驅動程序的獲取資源部分作一定的改變,并在安裝時對inf文件進行必要的修改就可以完成PCI模式的驅動程序。

    以下示例僅供參考。

    NTSTATUS StartDevice(PDEVICE_OBJECT fdo,

    PCM_PARTIAL_RESOURCE_LIST ResourceListRaw,

    PCM_PARTIAL_RESOURCE_LIST ResourceListTranslated)

    {

    U32 i;

   

    摘要:本文主要針對已經研制好的ISA設備通過加上一個簡單的PCI接口芯片便能正常工作在PCI模式下,實現由ISA擴展板到PCI擴展板的轉換。這時我們必須重新編寫設備的驅動程序才能使設備在Windows/Nt操作系統下正常工作。這里主要給出Windows下的解決方案和程序實例。

    關鍵詞:ISA設備驅動程序 PCI設備驅動程序 IRQ PCI配置空間

    隨著計算機和通信技術的高速發展,ISA總線在速度、功能上已經成為系統的瓶頸,而功能更強大的PCI總線成為首選。這時對現有的ISA設備稍加設計就可在PCI總線下工作就顯得非常總要,但我們必須重新編寫設備的驅動程序才能使設備在Windows/Nt操作系統下正常工作。

    開發的驅動程序是Win32 Drivers Mode(WDM)類型,使用的開發工具是微軟提供的Device Driver Kit(DDK)和Vc++6.0,在進行驅動程序的調試時使用Numega公司的SoftIce產品。

1 .ISA設備與PCI設備的Windows驅動程序的比較

    (1).ISA設備與PCI設備驅動程序獲得硬件資源途徑不同
一個ISA設備驅動程序的資源是固定不變的,它是通過.inf文件的[logconfig]節來配置的。如下面的例子:

    [Xxx.LogConfig]

    IOConfig=220-22f

    IRQConfig=6

    .inf中此節說明此硬件資源的I/O地址范圍是220H到22FH,IRQ為6。

    一個PCI設備驅動程序的資源是操作系統自動分配的,它是通過設備ID號和廠商ID號獲得設備的物理位置:總線號、器件號和功能號,并利用它們尋址PCI配置空間,接著從配置空間獲得硬件資源。其中包括:中斷號、端口地址等。

    (2).ISA設備與PCI設備驅動程序對中斷處理不同
一個ISA設備驅動程序的中斷模式可以是LevelSensitive也可以是Latched,而且中斷向量是否與其它設備共享都可以。

    但是一個PCI設備驅動程序的中斷模式必須是LevelSensitive,而且中斷向量必須是共享的。

    (3).ISA設備與PCI設備驅動程序安裝時需要編寫的.inf文件不同

    對于ISA設備,在安裝時.inf文件必須有[logconfig]節,而對于PCI設備,在安裝時.inf文件必須有[Manufacturer]節,來指明設備ID號和廠商ID號,以便使硬件獲取系統資源。如:

    [Manufacturer]

    %PLX% = PLX.Mfg

    [PLX.Mfg]

    "PCI 9052RDK-860 Board" =DDInstall_9052,PCI\VEN_10b5&DEV_9050

    其設備ID號為9050H,廠商ID號為10B5H。

2 驅動程序的實現

   
通過上面的比較,我們知道只要對原有的ISA設備的驅動程序的獲取資源部分作一定的改變,并在安裝時對inf文件進行必要的修改就可以完成PCI模式的驅動程序。

    以下示例僅供參考。

    NTSTATUS StartDevice(PDEVICE_OBJECT fdo,

    PCM_PARTIAL_RESOURCE_LIST ResourceListRaw,

    PCM_PARTIAL_RESOURCE_LIST ResourceListTranslated)

    {

    U32 i;

   

相關IC型號

熱門點擊

 

推薦技術資料

羅盤誤差及補償
    造成羅盤誤差的主要因素有傳感器誤差、其他磁材料干擾等。... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13692101218  13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
布尔津县| 临洮县| 丹东市| 罗定市| 淮滨县| 龙井市| 电白县| 依兰县| 淳化县| 元阳县| 巴彦淖尔市| 甘谷县| 临桂县| 铜川市| 姜堰市| 喜德县| 涿鹿县| 九台市| 张家港市| 衡阳县| 沧源| 保山市| 嘉峪关市| 三明市| 浏阳市| 玉门市| 曲靖市| 托里县| 来凤县| 大渡口区| 石门县| 全椒县| 福海县| 禹城市| 阿合奇县| 巴青县| 左权县| 个旧市| 黔西| 建阳市| 盐源县|