專利名稱:硬件設備驅動程序的安裝方法及計算機的制作方法
技術領域:
本發明涉及計算機技術領域,特別是指一種硬件設備驅動程序的安裝方法及實現該方法的計算機。
不同的操作系統,都對外部硬件設備驅動程序的安裝提供了途徑。例如,微軟公司(Microsoft)的計算機視窗操作系統Windows在進行安裝操作時,對于一些即插即用的硬件設備,會指定驅動程序自動安裝。即插即用是指,當把新的硬件設備添加到計算機系統中時,Windows為其自動指定系統資源,并且新增所需的設備驅動程序。Microsoft Windows的動態即插即用功能可以支持最新的即插即用硬件,其中包括驅動程序、裝置安裝與設定,并自動讀取和寫入登錄。
在實踐中,盡管Windows為各種插件準備了上千種驅動程序,但并不是所有插件都能達到即插即用。對于一些Windows不能識別的硬件設備,Windows系統光盤上沒有提供相應的設備驅動程序。通常采用的方法是在Windows操作系統用戶界面的“控制面板”欄中點擊“添加新硬件”圖標,然后按照系統提供的向導指定新硬件驅動程序所在的軟盤或光盤來安裝新硬件驅動程序。但是,對于這種方法,很大一部分用戶并不能完全掌握,用戶很可能不知道他的硬件設備是什么型號以及相應的設備驅動程序在什么地方,這樣往往就會導致硬件設備驅動程序無法正確安裝而不能正常工作。
現有一件公開號為CN 1273389A的中國專利申請,揭示了一種驅動程序的安裝方法,主要包括讀取主機板上基本輸入輸出系統(BIOS)中存儲的外設裝置代碼;與一數據庫進行對比;決定該周邊裝置所需的驅動程序。其中,該外設裝置為焊在主機板上,與主機板集成為一體;用于識別外設裝置的代碼需預先存放在BIOS中;該數據庫包含了所有焊在主機板上的外設裝置的代碼及相對應的驅動程序數據。該技術方案的應用對于將外設裝置代碼預先存放在BIOS中的外部設備而言,達到的也是即插即用的功效,使用者無需了解硬件設備類型及其相關的驅動程序,借助操作界面提供更為方便的使用功能。但是,對于這樣的技術方案,由于其識別的僅為焊在主機板上的外部設備,且需要將所有可能焊在主機板上的外部設備代碼預先燒制在BIOS中,才能達到其動態自動安裝的效果。對于主板出廠后新增的外設,或通過總線插槽連接的外設,則不能提供這種動態自動安裝,仍需使用者進行如上所述的手工安裝,除非返回廠家進行BIOS改寫。這種方式雖然提高了主板生產廠商的產品適應性能,但對于廣大的用戶而言,仍具有很大的局限性和較差的可擴展性。
本發明的又一目的在于提供一種實現上述方法的計算機。
本發明的一種硬件設備驅動程序的安裝方法,至少包括以下步驟讀取安裝硬件設備的配置信息,獲取該安裝硬件設備的廠商標識和設備標識,組成可以唯一地區分該安裝硬件設備的一個硬件識別標識;確定當前操作系統的類型;利用該硬件識別標識和操作系統類型,在一預先提供的驅動程序配置信息表中查詢,獲取該安裝硬件設備的驅動程序的安裝路徑;調用該驅動程序完成該硬件設備驅動程序的安裝;其中,該預先提供的驅動程序配置信息表至少包含有硬件識別標識、操作系統類型與該硬件識別標識對應的硬件設備的驅動程序的安裝路徑的對應信息;且該預先提供的驅動程序配置信息表提供后續的維護更新。
根據上述本發明方法,所述的硬件設備包括PCI(Peripheral ComponentInterconnection)設備和AGP(Accelerated Graphics Port)設備,所述的硬件設備的配置信息為位于PCI配置地址空間中配置數據結構的PCI配置頭信息。
根據上述本發明方法,所述的預先提供的驅動程序配置信息表進一步包含有硬件識別標識、分類代碼和操作系統類型與該硬件識別標識對應的硬件設備的驅動程序的安裝路徑的對應信息。
根據上述本發明方法,所述的預先提供的驅動程序配置信息表的后續維護更新包括增加、改寫、替換更新。
本發明一種實現上述方法的計算機,至少包括有輸入設備、用于輸出結果的輸出設備、用于處理指令和數據的處理器和用于存儲指令和數據的存儲和寄存設備,其特征在于該計算機進一步包括處理器可存取的數據,該數據包括驅動程序配置信息表,至少包括可以唯一地區分一個硬件設備的硬件識別標識、操作系統類型和與硬件識別標識對應的硬件設備的驅動程序安裝路徑;和安裝在計算機上的、處理器可讀取執行的軟件,當處理器執行處理時,包括訪問欲安裝硬件設備的配置信息,獲取該設備的廠商標識和設備標識,組成可以唯一地區分該硬件設備的硬件識別標識;接著確定當前操作系統的類型;然后查詢預先提供的驅動程序配置信息表來獲取該硬件設備驅動程序的安裝路徑;最后調用安裝程序來完成該硬件設備驅動程序的安裝。
根據上述本發明計算機,所述的數據進一步包括硬件設備的區分代碼。
根據上述本發明計算機,所述的數據可增加、改寫或替換更新。
本發明技術方案使計算機系統通過讀取硬件設備的配置信息,如讀取PCI或AGP設備內部的芯片信息,來獲得一個硬件的識別標識,并通過這個硬件識別標識和當前的操作系統類型查詢一個預先提供的驅動程序配置信息表來獲取該硬件設備驅動程序的安裝路徑,從而調用這個驅動程序完成硬件設備的安裝,具有安裝過程簡單,用戶無需了解相關硬件知識,方便用戶使用和廠商維護的有益效果。同時,由于該預先提供的驅動程序配置信息表可進行增加、改寫或替換等更新,因此,只需修改驅動程序配置信息表即可實現良好的可擴展性,廣泛適應出廠后新增設備類型的動態自動安裝。
圖2為采用本發明方法的硬件設備驅動程序安裝的原理和流程圖。
圖3為根據本發明技術方案編寫的驅動安裝程序模塊的程序界面示意圖。
圖4為根據本發明技術方案編寫的驅動配置信息表維護模塊的程序界面示意圖。
PCI(Peripheral Component Interconnection)作為歷史上最成功的總線標準,出現在所有的PC機和大多數工作站上。最初它僅僅作為PC主板面上的芯片間的連接標準,很快,PCI便成為連接板面上的用戶和系統計算器卡槽以及工業PC機間的連接器。
AGP(Accelerated Graphics Port圖形加速端口)是英特爾公司配合Pentium II處理器開發的總線標準,是一種可自由擴展的圖形總線結構,能增大圖形控制器的可用帶寬,并為圖形控制器提供必要的性能,以便在系統內存里直接進行紋理處理。它是建立PCI總線基礎上、專門針對3D圖形處理而開發的高效能總線。它同時使用了卡上幀緩沖內存與系統內存,實現了高速存取,有效地解決了3D圖形處理的瓶頸問題。
系統中每個PCI或AGP設備,包括PCI-PCI橋接器在內,都有一個配置數據結構,即PCI配置頭,它允許系統來標識與控制硬件設備。PCI配置頭通常位于PCI配置地址空間中,所有PCI配置頭長度都相等,為256字節。
PCI配置頭在PCI配置空間的位置取決于系統中PCI設備的拓撲結構。例如,將一個PCI視頻卡插入不同的PCI槽,其配置頭位置會發生變化,但對系統沒有什么影響,系統將找到每個PCI設備與橋接器并使用它們配置頭中的信息來配置其寄存器。典型的方法是用PCI槽相對主板的位置來決定其PCI配置頭在配置空間中的偏移,例如主板中的第一個PCI槽的PCI配置頭位于配置空間偏移0處,而第二個則位于偏移256處,其它槽可以由此類推。系統還提供一種硬件相關機制以便PCI設置代碼能正確地辨認出對應PCI總線上所有存在的設備的PCI配置頭,通過PCI配置頭中的某些域來判斷哪些設備存在及哪些設備不存在,這個域叫廠商標志域(Vendor Identioncationfield)。對于空PCI槽中這個域的讀操作將得到一個值為0xFFFFFFFF的錯誤信息。
參見
圖1,圖中示出了256字節的PCI配置頭的結構,包含以下域廠商標識(VendorIdentification)用來唯一標識PCI設備生產廠家的數值。例如,Digital的PCI廠商標識為0x1011,而Intel的PCI廠商標識為0x8086。
設備標識(Device Identification)用來唯一標識PCI設備的數值。例如,Digital 21141快速以太設備的設備標識為0x0009。
狀態(Status)此域提供PCI標準定義中設備的狀態信息。
命令(Command)通過對此域的寫操作可以控制PCI設備的工作,如允許設備訪問PCI I/O內存。
分類代碼(Class Code)此域標識PCI設備的類型。對于各種類型的視頻設備、小型計算機系統接口(SCSI),設備都有標準的分類代碼,例如SCSI設備的分類代碼為0x0100。
基地址寄存器(Base Address Registers)這些寄存器用來決定和分配PCI設備可以使用的PCI I/O與PCI內存空間的類型、數量及位置。
中斷引腳(Interrupt Pin)。
中斷連線(Interrupt Line)。
在本發明實施例中,主要利用了PCI配置地址空間的廠商標識、設備標識和分類代碼。用廠商標識和設備標識可以唯一地區分一個硬件設備,選取VendorID和DeviceID組合為一個硬件識別ID,利用這個ID,就可以查找配置信息表中的相應信息,來獲得關于這個硬件設備的詳細資料。分類代碼可以區分硬件設備的類別,如顯卡、聲卡、網卡等。
參見表1,示出了電腦生產廠家提供的驅動配置信息。包括外部硬件設備的ID號碼、類別、廠商、說明等信息,以及Windows 98驅動程序路徑、Windows 2000驅動程序路徑、Windows XP驅動程序路徑這幾個字段的信息。
表1
參見圖2,圖中示出了采用本發明技術方案的硬件設備驅動程序安裝原理和其流程圖。具體原理如下當計算機系統發現有新的硬件設備時,就開始啟動安裝過程。首先進入流程31,訪問PCI設備的地址配置空間,取得PCI配置頭中的VenderID和DeviceID,并利用VenderID和DeviceID組合成該設備的硬件識別ID;接著,進入流程32,獲取當前操作系統的類型;隨后,進入流程33,根據硬件識別ID和當前的操作系統類型查詢驅動程序配置信息表,來獲得該設備的驅動程序安裝文件在光盤上的位置;緊接著,進入流程34,運行獲得的驅動程序安裝程序,完成該設備驅動程序的安裝;然后,判斷當前獲得的PCI配置信息是不是所對應的最后一個PCI設備,若是,則進入流程36,表明安裝完成,否則,返回流程31,重復執行上述安裝過程。
參見圖3,圖中示出了根據本發明技術方案編寫的驅動程序安裝程序模塊的界面示意圖,這個模塊的功能是自動地識別電腦的PCI或AGP硬件設備,并提供一個簡單的交互使用戶能夠很方便地安裝驅動程序。其中標號4 1所指為硬件設備廠商提供的驅動程序文件,它們被安放在一個固定的目錄中,用戶也可以通過訪問Window資源管理器來手動地調用這些安裝程序為他們的聲卡、顯卡、網卡等設備安裝驅動程序。標號42所指為驅動配置信息表,這個信息表主要記錄了該驅動程序所對應的硬件設備的識別ID、類別、廠商名稱、說明以及Windows98驅動程序路徑、Windows2000驅動程序路徑、WindowsXP驅動程序路徑。驅動程序安裝程序模塊將根據硬件識別ID和這張配置信息表來獲得該硬件設備的驅動程序存放的具體位置,然后調用該驅動安裝程序來完成驅動程序的安裝。
這里,驅動程序配置信息表為預先提供,并可通過維護程序進行維護,例如改寫、添加或替換等等。
參見圖4,圖中示出了根據本發明技術方案編寫的驅動配置信息表維護程序模塊的界面示意圖。驅動配置信息表記錄了硬件識別ID和相應驅動程序文件的對應關系,它是一個需要事先維護的表格,在維護這張表格時,可以使用根據本發明技術方案思想編寫的驅動配置信息表維護模塊,這個維護模塊的功能是提供一個交互界面,由用戶填寫一些信息后自動建立驅動配置信息表文件。用戶在按保存按鈕后將生成一個驅動配置信息表文件。
驅動程序配置信息表提供后續的維護更新功能,并通過驅動配置信息表維護程序模塊提供的良好的用戶交互界面,使本發明方法具有廣泛的適用性和良好的可擴展性,使用戶無需更改BIOS或更換主機設備,即可實現任意外部設備的驅動程序的動態自動安裝或更新升級。
本發明讀取安裝硬件設備的配置信息,獲取該安裝硬件設備的廠商標識和設備標識,組成可以唯一地區分該安裝硬件設備的一個硬件識別標識,可以如上所述讀取PCI或AGP設備配置頭中的相關數據,也可如現有技術中所述的,將可能集成在主板上的硬件外設的配置信息預先寫入主板的BIOS中,增加在BIOS中讀取欲安裝硬件外設配置信息的步驟。
根據本發明的技術方案提供的計算機,可預先配置有驅動配置信息表和驅動程序安裝程序模塊,方便用戶的硬件設備驅動程序的安裝使用。
根據本發明的技術方案,也可以為用戶和廠商分別提供一張光盤,提供給用戶使用的驅動程序安裝光盤,包含有驅動配置信息表和驅動程序安裝程序模塊,可以使用戶完成驅動程序的自動識別和安裝。提供給廠商使用的是維護光盤,其內含有驅動配置信息表的維護程序模塊。
通過使用本發明,用戶能夠正確、方便、快速地確定電腦上的PCI或AGP等設備的類別、生產廠家和說明,并且引導用戶去自動地調用設備廠家提供的驅動程序的安裝程序,從而使整個安裝過程變得極為簡單,而不需要了解相關的知識。所以具有以下的優點和特點1)用戶能夠正確、方便、快速地確定電腦上的PCI或AGP等設備的類別、生產廠家和說明,并且引導用戶去自動地調用設備廠家提供的驅動程序的安裝程序,從而使整個安裝過程變得極為簡單,而不需要了解相關的知識。
2)計算機銷售商通過使用本發明提供的技術,可以減少計算機銷售商的售后服務的經費。
3)消費用戶通過使用本發明提供的技術,可以節省用戶的維修費用。
權利要求
1.一種計算機硬件設備驅動程序的安裝方法,其特征在于該方法至少包括以下步驟讀取安裝硬件設備的配置信息,獲取該安裝硬件設備的廠商標識和設備標識,組成可以唯一地區分該安裝硬件設備的一個硬件識別標識;確定當前操作系統的類型;利用該硬件識別標識和操作系統類型,在一預先提供的驅動程序配置信息表中查詢,獲取該安裝硬件設備的驅動程序的安裝路徑;調用該驅動程序完成該硬件設備驅動程序的安裝;其中,該預先提供的驅動程序配置信息表至少包含有硬件識別標識、操作系統類型與該硬件識別標識對應的硬件設備的驅動程序的安裝路徑的對應信息;且該預先提供的驅動程序配置信息表提供后續的維護更新。
2.根據權利要求1所述的硬件設備驅動程序的安裝方法,其特征在于所述的硬件設備包括PCI設備和AGP設備,所述的硬件設備的配置信息為位于PCI配置地址空間中配置數據結構的PCI配置頭信息。
3.根據權利要求1或2所述的硬件設備驅動程序的安裝方法,其特征在于所述的預先提供的驅動程序配置信息表進一步包含有硬件識別標識、分類代碼和操作系統類型與該硬件識別標識對應的硬件設備的驅動程序的安裝路徑的對應信息。
4.根據權利要求1或2所述的硬件設備驅動程序的安裝方法,其特征在于所述的預先提供的驅動程序配置信息表的后續維護更新包括增加、改寫、替換更新。
5.一種實現權利要求1所述方法的計算機,至少包括有輸入設備、用于輸出結果的輸出設備、用于處理指令和數據的處理器和用于存儲指令和數據的存儲和寄存設備,其特征在于該計算機進一步包括處理器可存取的數據,該數據包括驅動程序配置信息表,至少包括可以唯一地區分一個硬件設備的硬件識別標識、操作系統類型和與硬件識別標識對應的硬件設備的驅動程序安裝路徑;和安裝在計算機上的、處理器可讀取執行的軟件,當處理器執行處理時,包括訪問欲安裝硬件設備的配置信息,獲取該設備的廠商標識和設備標識,組成可以唯一地區分該硬件設備的硬件識別標識;接著確定當前操作系統的類型;然后查詢預先提供的驅動程序配置信息表來獲取該硬件設備驅動程序的安裝路徑;最后調用安裝程序來完成該硬件設備驅動程序的安裝。
6.根據權利要求5所述的計算機,其特征在于所述的數據進一步包括硬件設備的區分代碼。
7.根據權利要求5或6所述的計算機,其特征在于所述的數據可增加、改寫或替換更新。
全文摘要
本發明公開了一種硬件設備驅動程序的安裝方法,包括讀取安裝硬件設備的配置信息,獲取該安裝硬件設備的廠商標識和設備標識,組成可以唯一地區分該安裝硬件設備的一個硬件識別標識;確定當前操作系統的類型;利用該硬件識別標識和操作系統類型,在一預先提供的驅動程序配置信息表中查詢,獲取該安裝硬件設備的驅動程序的安裝路徑;調用該驅動程序完成該硬件設備驅動程序的安裝;其中,該預先提供的驅動程序配置信息表至少包含有硬件識別標識、操作系統類型與該硬件識別標識對應的硬件設備的驅動程序的安裝路徑的對應信息;且該預先提供的驅動程序配置信息表提供后續的維護更新。同時公開了一種實現上述方法的計算機。
文檔編號G06F9/445GK1464387SQ0212157
公開日2003年12月31日 申請日期2002年6月26日 優先權日2002年6月26日
發明者劉新平, 王曉艷 申請人:聯想(北京)有限公司