TWI401603B - 驅動程式的安裝方法、系統及編譯裝置 - Google Patents
驅動程式的安裝方法、系統及編譯裝置 Download PDFInfo
- Publication number
- TWI401603B TWI401603B TW98126530A TW98126530A TWI401603B TW I401603 B TWI401603 B TW I401603B TW 98126530 A TW98126530 A TW 98126530A TW 98126530 A TW98126530 A TW 98126530A TW I401603 B TWI401603 B TW I401603B
- Authority
- TW
- Taiwan
- Prior art keywords
- hardware
- driver
- hardware devices
- file
- target board
- Prior art date
Links
Landscapes
- Stored Programmes (AREA)
Description
本發明是有關於一種安裝驅動程式的機制,且特別是有關於一種應用於嵌入式系統之驅動程式的安裝方法、系統及編譯裝置。
在現今的電腦架構設計中,每一種硬體設備如:顯示卡、音效卡等,皆需要驅動程式(Driver)以做為與作業系統溝通的橋樑。而透過驅動程式的運作,這些硬體設備才能正確地運作。因此,當增加或是更換硬體設備時,便需重新安裝驅動程式。
一般來說,安裝驅動程式的方法大致是在電腦系統的作業系統安裝完畢之後,使用者再逐步將各硬體設備所對應的驅動程式安裝至作業系統中。而如此安裝方式不但會耗費許多時間,對使用者來說亦相當不方便。
此外,目前自動安裝驅動程式的機制(例如:架設一安裝有虛擬光碟機之系統)並不適用於嵌入式系統產品。由於嵌入式系統為一種電腦軟體與硬體的綜合體,其是依據所搭配之硬體設備的不同,而相關軟體也會有所不同。依照傳統開發模式一旦有新增硬體或是升級硬體時將會是一件十分龐大的工程。
本發明提供一種驅動程式的安裝方法、系統及編譯裝置,透過自動化機制來加速載入驅動程式及編譯。
本發明提出一種驅動程式的安裝方法,適用於一目標板上,其中目標板應用於嵌入式系統。此安裝方法包括:偵測目標板上所有硬體設備,以取得這些硬體設備的相關資訊;接著,將相關資訊記錄至硬體分析檔;之後,依據硬體分析檔載入各硬體設備的驅動程式;然後,將這些驅動程式與嵌入式系統的核心編譯為影像檔;最後,將影像檔下載至目標板。
在本發明之一實施例中,上述偵測目標板上所有硬體設備的步驟是透過各硬體設備所連接的匯流排來進行偵測,藉以取得各硬體設備的相關資訊。
在本發明之一實施例中,上述依據硬體分析檔載入各硬體設備的驅動程式的步驟,包括:建立多個子目錄至嵌入式系統的原始碼目錄,其中這些子目錄對應各硬體設備;接著,在嵌入式系統的核心組態設定建立主選單項目;之後,修改製作檔(Makefile)中的相關參數;以及將各驅動程式分別載入至對應的子目錄中。另外,上述子目錄亦可僅針對新增的硬體設備而建立。
本發明另提出一種驅動程式的安裝系統,此系統包括目標板、編譯裝置以及載入模組。在此,目標板是應用於一嵌入式系統。編譯裝置包括硬體資訊擷取模組、驅動程式資料庫以及編譯模組。上述驅動程式資料庫中了儲存多個驅動程式;硬體資訊擷取模組用以擷取目標板上所有硬體設備的相關資訊,並將這些相關資訊記錄至硬體分析檔;編譯模組則是依據硬體分析檔自驅動程式資料庫中載入各硬體設備的驅動程式,並且將這些驅動程式與嵌入式系統的核心編譯為影像檔。載入模組則是用來將影像檔載入至目標板。
本發明更提出一種編譯裝置,適用於編譯一目標板的影像檔,其中上述目標板應用於一嵌入式系統。此編譯裝置包括:硬體資訊擷取模組、驅動程式資料庫以及編譯模組。上述驅動程式資料庫中了儲存多個驅動程式;硬體資訊擷取模組用以擷取目標板上所有硬體設備的相關資訊,並將這些相關資訊記錄至硬體分析檔;編譯模組則是依據硬體分析檔自驅動程式資料庫中載入各硬體設備的驅動程式,並且將這些驅動程式與嵌入式系統的核心編譯為影像檔。
在本發明之一實施例中,上述硬體資訊擷取模組更包括透過各硬體設備所連接的匯流排來偵測目標板上所設置的硬體設備,藉以取得硬體設備的相關資訊,並將相關資訊記錄至一設備檔。之後,硬體資訊擷取模組再自設備檔中擷取硬體設備的相關資訊。
在本發明之一實施例中,上述編譯模組依據硬體分析檔載入各硬體設備的驅動程式的步驟包括:建立多個子目錄至嵌入式系統的原始碼目錄,其中這些子目錄對應各硬體設備;接著,在嵌入式系統的核心組態設定建立主選單項目;之後,修改製作檔(Makefile)中的相關參數;以及將各驅動程式分別載入至對應的子目錄中。另外,上述子目錄亦可僅針對新增的硬體設備而建立。
基於上述,本發明在偵測出有新增硬體設備時,便將其相關資訊記錄至硬體分析檔,再依據硬體分析檔的記錄來下載驅動程式,藉此達到自動化載入驅動程式的步驟,使得嵌入式系統在更新硬體設備上更為方便。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
一般嵌入式系統一旦新增硬體設備或是升級硬體設備時,倘若依照傳統的開發模式,則驅動程式的安裝將會是一件龐大的工程。為此,本發明提出一種驅動程式的安裝方法、系統及編譯裝置,藉以在新增硬體設備時能夠將對應的驅動程式安裝至嵌入式系統中。為了使本發明之內容更為明瞭,以下特舉實施例作為本發明確實能夠據以實施的範例。
圖1是依照本發明一實施例所繪示的驅動程式的安裝方法流程圖。請參照圖1,為了方便說明,本實施例是以Linux系統作為實施平台。然,在其他實施例中亦可應用於其他嵌入式系統。
首先,在步驟S105中,偵測目標板上所有硬體設備,以取得這些硬體設備的相關資訊。具體而言,可透過各硬體設備所連接的匯流排,例如周邊元件連接介面(Peripheral Component Interconnect,PCI)或是通用序列匯流排(Universal Serial Bus,USB),來偵測目標板上所設置的硬體設備,藉以取得這些硬體設備的相關資訊。上述相關資訊包括製造商、硬體設備型號、尺寸大小等。
接著,在步驟S110中,將相關資訊記錄至硬體分析檔。圖2是依照本發明一實施例所繪示的記錄硬體分析檔的流程圖。請參照圖2,在步驟S205中,偵測是否有新增的硬體設備。若有,則執行步驟S210;若無,則執行步驟S215。
以初次啟用的目標板而言,將偵測到之第一組硬體設備的相關資訊記錄至硬體分析檔,之後再持續偵測其餘設置在目標板上的硬體設備,直到全部偵測完畢為止。另外,若以非初次啟用的目標板而言,當偵測到目標板上的硬體設備與前次開機有所不同(例如新版本)、或是新增硬體設備時,則將這些硬體設備的相關資訊更新至硬體分析檔中。
之後,在步驟S115中,依據硬體分析檔載入各硬體設備的驅動程式。例如,依據硬體分析檔中所記錄的硬體設備的型號去驅動程式資料庫中搜尋對應的驅動程式。
一般而言,透過匯流排可以得知目前所連接的硬體設備之相關資訊,並且這些相關資訊將會被記錄至一個設備檔(例如上述pci目錄下的devices)中。據此,讀取此一設備檔便能夠得知目標板上所連接的硬體設備的相關資訊。
以Linux而言,識別周邊元件連接介面的方法例如讀取/proc/bus/pci/devices(即上述設備檔)或/sys/bus/devices/*來取得硬體設備的製造商(vendor)、設備型號(device)、再製造商(subvendor)、再製造之設備型號(subdevice)。之後,便可將這些相關資訊記錄至硬體分析檔中。
然後,在偵測完目標板上所新增的全部硬體設備之後,再依據硬體分析檔來下載相關的驅動程式。例如,將硬體分析檔中的相關資訊與Linux核心(kernel)所提供的modules.pcimap做比對,以得到此硬體設備所對應的模組名稱。據以透過模組名稱來載入對應的模組(也就是驅動程式)。
而若是同一個硬體設備在modules.pcimap中存在兩種可使用的模組名稱時,便依照一優先順序來挑出最適合的模組名稱。例如以vendor:device 為 10ec:8139去尋找,同時找到8139cp和8139too兩個模組名稱。此時,比對的優先順序由大至小為vendor:device和subvendor:subdevice相同者,device和subvendor:subdevice相同者,device相同者,以及vendor:device相同者。
另外,在Linux中,USB驅動程式共有三種不同的USB主控制器選項,分別為:加強型主控制器介面(Enhanced Host Controller Interface,EHCI),開放主機控制器介面(Open Host Controller Interface,OHCI),以及萬用式主機控制器介面(Universal Host Controller Interface,UHCI)。在Linux下可查詢/proc/pci所記錄的PCI子系統資源配置情況,或是藉由指令1spci從中分辦出USB主控器屬於那種規格,據以載入USB類型所對應之驅動程式。
值得注意的是,如果驅動程式資料庫未提供對應的驅動程式,則可上網下載驅動程式,或是由廠商所提供之光碟來下載驅動程式,並且將驅動程式儲存至驅動程式資料庫中,以待日後使用。
以下再舉一實施例來說明載入驅動程式的方法各步驟。圖3是依照本發明一實施例所繪示的載入驅動程式方法的流程圖。請參照圖3,首先,在步驟S305中,在原始碼目錄中建立子目錄。其中,這些子目錄是用以對應目標板上的硬體設備。在Linux下,驅動程式會分成不同的種類,如果有新增的硬體設備則在原始碼目錄底下新增一個子目錄以對應此硬體設備。
接著,在步驟S310中,在核心組態設定中建立主選單項目。在編譯核心的時候會建立一個主選單項目,用以記錄目前有哪些東西是要編譯進影像檔(image)裡面。
之後,在步驟S315中,修改製作檔(Makefile)。製作檔中記錄了許多參數資料,因此當有新增硬體設備時,便需要修改製作檔中對應的參數。最後,如步驟S320所示,載入驅動程式至對應的子目錄中。
接著返回圖1,在載入驅動程式之後,如步驟S120所示,將這些驅動程式與嵌入式系統的核心編譯為影像檔。最後,在步驟S125中,將影像檔下載至目標板以進行測試。
另外,本發明另提供一種驅動程式的安裝系統。圖4是依照本發明一實施例所繪示的驅動程式安裝系統的方塊圖。請參照圖4,安裝系統400包括目標板410、編譯裝置420以及載入模組430。在本實施例中,目標板410是應用於嵌入式系統中,例如Linux。編譯裝置420是用來偵測目標板410上的硬體設備,以在載入這些硬體設備對應的驅動程式之後,將這些驅動程式與核心編譯為影像檔。
上述編譯裝置420包括硬體資訊擷取模組421、驅動程式資料庫423以及編譯模組425。硬體資訊擷取模組421是用以擷取目標板410上所有硬體設備的相關資訊,並將這些相關資訊記錄至硬體分析檔,如上述步驟S105~S110所述。驅動程式資料庫423中則儲存了多個驅動程式。編譯模組425用來依據硬體分析檔而自驅動程式資料庫423中載入各硬體設備的驅動程式,並且將這些驅動程式與嵌入式系統的核心編譯為影像檔,如上述步驟S115~S120所述。而載入模組430則是用來將編譯裝置420所編譯之影像檔載入至目標板410上,如上述步驟S125所述。
綜上所述,本發明先將全部所新增的硬體設備之相關資訊記錄至硬體分析檔,之後,再依據硬體分析檔來載入對應的驅動程式,以將這些驅動程式與核心編譯為影像檔。據此,透過自動化機制來載入驅動程式,使得嵌入式系統在更新硬體設備上更為方便。此外,將驅動程式與核心編譯至影像檔,使得嵌入式系統在運作上更為穩定。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
S105~S125...本發明一實施例之驅動程式的安裝方法各步驟
S205~S215...本發明一實施例之記錄硬體分析檔的各步驟
S305~S320...本發明一實施例之載入驅動程式方法的各步驟
400...安裝系統
410...目標板
420...編譯裝置
421...硬體資訊擷取模組
423...驅動程式資料庫
425...編譯模組
430...載入模組
圖1是依照本發明一實施例所繪示的驅動程式的安裝方法流程圖。
圖2是依照本發明一實施例所繪示的記錄硬體分析檔的流程圖。
圖3是依照本發明一實施例所繪示的載入驅動程式方法的流程圖。
圖4是依照本發明一實施例所繪示的驅動程式安裝系統的方塊圖。
S105~S125...本發明一實施例之驅動程式的安裝方法各步驟
Claims (14)
- 一種驅動程式的安裝方法,適用於一目標板上,其中該目標板應用於一嵌入式系統,該安裝方法包括:偵測該目標板上多個硬體設備,以取得該些硬體設備的多個相關資訊;記錄該些相關資訊至一硬體分析檔;依據該硬體分析檔自一驅動程式資料庫中載入該些硬體設備的多個驅動程式;將該些驅動程式與該嵌入式系統的一核心編譯為一影像檔;以及下載該影像檔至該目標板。
- 如申請專利範圍第1項所述之驅動程式的安裝方法,其中偵測該目標板上所有硬體設備的步驟,包括:透過該些硬體設備各自所連接的匯流排來偵測該目標板上所設置的該些硬體設備,藉以取得該些硬體設備的相關資訊。
- 如申請專利範圍第1項所述之驅動程式的安裝方法,其中依據該硬體分析檔載入各該些硬體設備的驅動程式的步驟,包括:建立多個子目錄至該嵌入式系統的一原始碼目錄,其中該些子目錄對應該些硬體設備;建立一主選單項目至該嵌入式系統的核心組態設定;修改一製作檔中的相關參數;以及將該些驅動程式分別載入至各自對應的子目錄。
- 如申請專利範圍第3項所述之驅動程式的安裝方法,其中當該目標板上有新增的硬體設備時,在該原始碼目錄中新增該些子目錄,其中該些子目錄對應新增的該些硬體設備。
- 一種驅動程式的安裝系統,包括:一目標板,應用於一嵌入式系統;一編譯裝置,包括:一硬體資訊擷取模組,擷取該目標板上多個硬體設備的多個相關資訊,並將該些相關資訊記錄至一硬體分析檔;一驅動程式資料庫,儲存多個驅動程式;以及一編譯模組,依據該硬體分析檔自該驅動程式資料庫中載入該些硬體設備的該些驅動程式,並且將該些驅動程式與該嵌入式系統的一核心編譯為一影像檔;以及一載入模組,載入該影像檔至該目標板。
- 如申請專利範圍第5項所述之驅動程式的安裝系統,其中該硬體資訊擷取模組更包括透過該些硬體設備各自所連接的匯流排來偵測該目標板上所設置的該些硬體設備,藉以取得該些硬體設備的相關資訊,並將該些相關資訊記錄至一設備檔。
- 如申請專利範圍第6項所述之驅動程式的安裝系統,其中該硬體資訊擷取模組為自該設備檔中擷取該些硬體設備的相關資訊。
- 如申請專利範圍第5項所述之驅動程式的安裝系 統,其中該編譯模組依據該硬體分析檔載入各該些硬體設備的驅動程式的步驟包括:建立多個子目錄至該嵌入式系統的一原始碼目錄,其中該些子目錄對應該些硬體設備;建立一主選單項目至該嵌入式系統的核心組態設定;修改一製作檔中的相關參數;以及將該些驅動程式分別載入至各自對應的子目錄。
- 如申請專利範圍第8項所述之驅動程式的安裝系統,其中當該目標板上有新增的硬體設備時,在該原始碼目錄中新增的該些子目錄對應新增的該些硬體設備。
- 一種影像檔編譯裝置,適用於編譯一目標板的一影像檔,其中該目標板應用於一嵌入式系統,該編譯裝置包括:一硬體資訊擷取模組,擷取該目標板上多個硬體設備的多個相關資訊,並將該些相關資訊記錄至一硬體分析檔;一驅動程式資料庫,儲存多個驅動程式;以及一編譯模組,依據該硬體分析檔自該驅動程式資料庫中載入該些硬體設備的該些驅動程式,並且將該些驅動程式與該嵌入式系統的一核心編譯為一影像檔。
- 如申請專利範圍第10項所述之編譯裝置,其中該硬體資訊擷取模組更包括透過該些硬體設備各自所連接的匯流排來偵測該目標板上所設置的該些硬體設備,藉以取得該些硬體設備的相關資訊,並將該些相關資訊記錄至一設備檔。
- 如申請專利範圍第11項所述之編譯裝置,其中該硬體資訊擷取模組為自該設備檔中擷取該些硬體設備的相關資訊。
- 如申請專利範圍第10項所述之編譯裝置,其中該編譯模組依據該硬體分析檔載入各該些硬體設備的驅動程式的步驟包括:建立多個子目錄至該嵌入式系統的一原始碼目錄,其中該些子目錄對應該些硬體設備;建立一主選單項目至該嵌入式系統的核心組態設定;修改一製作檔中的相關參數;以及將該些驅動程式分別載入至各自對應的子目錄。
- 如申請專利範圍第13項所述之編譯裝置,其中當該目標板上有新增的硬體設備時,在該原始碼目錄中新增的該些子目錄對應新增的該些硬體設備。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW98126530A TWI401603B (zh) | 2009-08-06 | 2009-08-06 | 驅動程式的安裝方法、系統及編譯裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW98126530A TWI401603B (zh) | 2009-08-06 | 2009-08-06 | 驅動程式的安裝方法、系統及編譯裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201106269A TW201106269A (en) | 2011-02-16 |
TWI401603B true TWI401603B (zh) | 2013-07-11 |
Family
ID=44814287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW98126530A TWI401603B (zh) | 2009-08-06 | 2009-08-06 | 驅動程式的安裝方法、系統及編譯裝置 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI401603B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI790505B (zh) * | 2020-07-10 | 2023-01-21 | 凌通科技股份有限公司 | 嵌入式系統之週邊隨插即用的驅動程式安裝方法與對應之嵌入式開發系統 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020083427A1 (en) * | 2000-12-26 | 2002-06-27 | Chen-Pang Li | Embedded system capable of rapidly updating software and method for rapidly updating software of embedded system |
TW200611193A (en) * | 2004-09-22 | 2006-04-01 | Lite On Technology Corp | Dynamic boot system and method, machine readable medium thereof, and construction method for an operating system image |
TW200639706A (en) * | 2005-05-13 | 2006-11-16 | Etrovision Technology Ltd | Independent update device and method for embedded system |
TWI273483B (en) * | 2005-07-06 | 2007-02-11 | Mitac Int Corp | Method and apparatus for updating operating system program of embedded apparatus |
-
2009
- 2009-08-06 TW TW98126530A patent/TWI401603B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020083427A1 (en) * | 2000-12-26 | 2002-06-27 | Chen-Pang Li | Embedded system capable of rapidly updating software and method for rapidly updating software of embedded system |
TW200611193A (en) * | 2004-09-22 | 2006-04-01 | Lite On Technology Corp | Dynamic boot system and method, machine readable medium thereof, and construction method for an operating system image |
TW200639706A (en) * | 2005-05-13 | 2006-11-16 | Etrovision Technology Ltd | Independent update device and method for embedded system |
TWI273483B (en) * | 2005-07-06 | 2007-02-11 | Mitac Int Corp | Method and apparatus for updating operating system program of embedded apparatus |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI790505B (zh) * | 2020-07-10 | 2023-01-21 | 凌通科技股份有限公司 | 嵌入式系統之週邊隨插即用的驅動程式安裝方法與對應之嵌入式開發系統 |
Also Published As
Publication number | Publication date |
---|---|
TW201106269A (en) | 2011-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI384399B (zh) | 用以更新韌體之裝置與方法 | |
CN104246699B (zh) | 云应用的动态插件 | |
CN1174307C (zh) | 用于自动设备驱动程序配置的方法和系统 | |
CN1290005C (zh) | 设备驱动程序安装方法及外围设备 | |
US10055415B2 (en) | Methods and systems for deploying hardware files to a computer | |
US20070061818A1 (en) | Detection of devices during operating system setup | |
US20070204262A1 (en) | Facilitating the automated testing of daily builds of software | |
US7490267B2 (en) | System and method for testing computer | |
US9766876B2 (en) | Methods of updating software components, computer systems and memory apparatus | |
JP2005353073A (ja) | 自己インストールを行うコンピュータ周辺機器 | |
TWI590044B (zh) | 測試系統及其測試方法 | |
CN107577510B (zh) | 一种无盘环境下硬件驱动自动快速预装方法及系统 | |
EP2650781A2 (en) | Method for detecting hardware | |
CN112860325B (zh) | 一种无盘环境下硬件驱动自动快速预装方法和系统 | |
EP2652607A1 (en) | Differential flash archive installation | |
CN111638916A (zh) | 一种用于数据取证的通用安卓移动终端驱动系统及方法 | |
US8086834B2 (en) | System and method for populating a dedicated system service repository for an information handling system | |
CN103064767B (zh) | 驱动备份、恢复的方法及装置 | |
CN113900693A (zh) | 一种固件升级方法、装置、系统、电子设备及存储介质 | |
US20050257218A1 (en) | Method for automatically downloading and installing driver of peripheral | |
TWI401603B (zh) | 驅動程式的安裝方法、系統及編譯裝置 | |
CN100451961C (zh) | 驱动程序自动安装方法以及系统 | |
TWI515656B (zh) | 程式安裝方法及裝置 | |
CN103136010A (zh) | 韧体更新方法及可供该方法使用的韧体更新装置 | |
US20090210589A1 (en) | Dynamic Vital Product Data Update Based on an Installed Feature Card |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |