專利名稱:一種單板驅(qū)動的加載方法和通信設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種單板驅(qū)動的加載方法和通信設(shè)備。
背景技術(shù):
目前,通信領(lǐng)域部分設(shè)備的單板上僅集成了用于加載映像程序的啟動加載BOOT 程序,上述映像程序一般都存放于外部存儲設(shè)備中,比如外部硬盤、操作管理(Operate and Management, 0M)服務(wù)器等。而現(xiàn)有技術(shù)中上述映像程序是由“操作系統(tǒng)”、“應(yīng)用軟件”、以及“驅(qū)動軟件”三者共同編譯鏈接而生成的。但是目前單板上硬件的變化日新月異,比如某種器件的停產(chǎn),或者降低成本的改造等都會造成單板的升級。由于單板硬件的升級必然會導(dǎo)致上述“驅(qū)動軟件”的對應(yīng)升級, 這就導(dǎo)致了每次單板硬件的升級都需要重新編譯和發(fā)布映像程序,這不僅會增加研發(fā)成本,而且需要客戶進(jìn)行頻繁的對映像程序進(jìn)行升級,給客戶帶來了不便。
發(fā)明內(nèi)容
本發(fā)明實施例提供了一種單板驅(qū)動的加載方法和通信設(shè)備,使得單板硬件升級時不必更新映像程序,降低研發(fā)成本。一方面,本發(fā)明實施例提出了一種單板驅(qū)動的加載方法,該方法包括加載外設(shè)驅(qū)動,所述外設(shè)驅(qū)動位于所述單板的本地存儲單元;加載需要鏈接的操作系統(tǒng)程序,所述操作系統(tǒng)程序位于所述單板的非本地存儲單元;根據(jù)所述操作系統(tǒng)程序?qū)λ鐾庠O(shè)驅(qū)動進(jìn)行鏈接,使得所述外設(shè)驅(qū)動能夠正常運行。另一方面,本發(fā)明實施例還提出了一種通信設(shè)備,包括,系統(tǒng)單板,所述系統(tǒng)單板包括本地存儲單元,用于存儲外設(shè)驅(qū)動;控制處理器,用于加載需要鏈接的操作系統(tǒng)程序及所述外設(shè)驅(qū)動,所述操作系統(tǒng)程序位于所述單板的非本地存儲單元;根據(jù)所述操作系統(tǒng)程序?qū)λ鐾庠O(shè)驅(qū)動進(jìn)行鏈接,使得所述外設(shè)驅(qū)動能夠正常運行。本發(fā)明實施例中單板內(nèi)外設(shè)的驅(qū)動都存儲在單板的存儲單元中,使得單板上外設(shè)升級時,只需要將存儲單元中對應(yīng)的外設(shè)驅(qū)動進(jìn)行升級即可,而不再需要對升級后的外設(shè)驅(qū)動、應(yīng)用程序和操作系統(tǒng)一起進(jìn)行編譯,即映像程序不再需要進(jìn)行改動。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例提供的一種單板的加載方法的流程示意圖;圖2為本發(fā)明實施例提供的另一種單板的加載方法的流程示意圖;圖3為本發(fā)明實施例提供的一種硬件配置文件的構(gòu)成示意圖4為本發(fā)明實施例提供的一種通信設(shè)備的結(jié)構(gòu)示意圖;圖5為本發(fā)明實施例提供的另一種通信設(shè)備的結(jié)構(gòu)示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。如圖1所示為本發(fā)明實施例提供的一種單板驅(qū)動的加載方法的流程示意圖,本實施例是從單板側(cè)對本發(fā)明進(jìn)行的說明,該方法包括如下步驟SlOl 加載外設(shè)驅(qū)動,該外設(shè)驅(qū)動位于單板的本地存儲單元之內(nèi);在本發(fā)明實施例中的單板可以是通信領(lǐng)域的單板(如各種業(yè)務(wù)板、管理板等),也可以是PC領(lǐng)域的單板(如PC機的主板)。這里的外設(shè)是指位于單板上的各種芯片,當(dāng)該單板為電信領(lǐng)域內(nèi)的框式設(shè)備中的一塊單板時,這些外設(shè)比如可以為業(yè)務(wù)網(wǎng)口芯片、局域網(wǎng)交換(Lanswitcti)芯片、異步傳輸模式(Asynchronous Transfer Mode, ATM)芯片等;而當(dāng)該單板為PC內(nèi)的主板時,這些外設(shè)比如可以為顯卡、網(wǎng)卡、南橋控制器、北橋控制器等。上述芯片的驅(qū)動程序都位于單板的本地存儲單元之內(nèi),本地存儲單元是指與單板位于同一物理板上的存儲單元,該本地存儲單元可以采用非易失性存儲單元,比如閃存 (FLASH)、非易失性隨機訪問存儲器(Non-VolatileRandom Access Memory, NVRAM)等。S102:加載需要鏈接的操作系統(tǒng)程序,所述操作系統(tǒng)程序位于所述單板的非本地存儲單元;在本實施例中非本地存儲單元是指與單板有聯(lián)系,但不在同一物理板之上的存儲設(shè)備,比如當(dāng)該單板為電信領(lǐng)域內(nèi)的框式設(shè)備中的一塊單板時,該非本地存儲單元可以位于文件服務(wù)器中、或者位于主控單板之上;而當(dāng)該單板為個人電腦(Personal Computer, PC)內(nèi)的主板時,該非本地存儲單元可以為PC內(nèi)的硬盤。操作系統(tǒng)程序以映像程序的形式存儲在非本地存儲單元之中,為了說明方便,在本實施例中用操作系統(tǒng)來表示映像程序,在實際應(yīng)用中,映像程序中還可以包括各種應(yīng)用程序,由于這些應(yīng)用程序都依賴于操作系統(tǒng),因此,在某種程度上也可以將其看成是操作系統(tǒng)的一部分,在此并不嚴(yán)格區(qū)分。需要指出的是,本發(fā)明實施例并不限定上述步驟SlOl和步驟S102的執(zhí)行順序,可以先加載外設(shè)驅(qū)動或者先加載操作系統(tǒng)程序。S103 根據(jù)所述操作系統(tǒng)程序?qū)λ鐾庠O(shè)驅(qū)動進(jìn)行鏈接,使得所述外設(shè)驅(qū)動能夠正常運行。由于外設(shè)驅(qū)動和操作系統(tǒng)程序分別存儲在不同的存儲單元內(nèi),因此它們之間并未進(jìn)行鏈接,因此需要通過本步驟來完成外設(shè)驅(qū)動和操作系統(tǒng)程序間的鏈接。本發(fā)明實施例中單板內(nèi)外設(shè)的驅(qū)動都存儲在單板的本地存儲單元中,使得單板上的外設(shè)升級時,只需要將本地存儲單元中對應(yīng)的外設(shè)驅(qū)動進(jìn)行升級即可,而不再需要對升級后的外設(shè)驅(qū)動、應(yīng)用程序和操作系統(tǒng)一起進(jìn)行重新編譯鏈接,即映像程序不再需要進(jìn)行改動。另外,應(yīng)用了本發(fā)明實施例所述方法的PC機,如果用戶更換其他型號的單板,也不再需要重新安裝操作系統(tǒng)了,而現(xiàn)有技術(shù)中一般如果PC機用戶更換其他型號的主板是需要重新安裝操作系統(tǒng)的。如圖2所示為本發(fā)明實施例提供的另一種單板驅(qū)動的加載方法的流程示意圖,該方法包括如下步驟S201 加載并運行單板的本地存儲單元內(nèi)的BIOS程序來初始化基本輸入輸出系統(tǒng);在本實施例中,先將單板的本地存儲單元內(nèi)的BIOS程序加載到內(nèi)存,然后運行。 單板上的本地存儲單元可以是一個物理存儲設(shè)備,也可以由多個獨立的物理存儲設(shè)備構(gòu)成。上述基本輸入輸出系統(tǒng)的初始化可以包括初始化中央處理器 (CentralProcessing Unit, CPU)的寄存器配置、內(nèi)存控制器配置、高速緩沖存儲器 (Cache)、中斷、調(diào)試串口、調(diào)試網(wǎng)口等。S202 根據(jù)所述單板的本地存儲單元內(nèi)的硬件配置文件來加載位于所述本地存儲單元內(nèi)的外設(shè)驅(qū)動;為了方便從單板存儲單元內(nèi)加載外設(shè)驅(qū)動,以及方便用戶查詢外設(shè)的相關(guān)數(shù)據(jù), 可以先生成一份硬件配置文件,來記錄單板中外設(shè)的芯片種類、數(shù)量、驅(qū)動名稱和位置等信息,然后將該硬件配置文件存儲于單板存儲單元內(nèi)。如圖3所示為本發(fā)明實施例提供的一種硬件配置文件的構(gòu)成示意圖,該硬件配置文件中包括了基本輸入輸出系統(tǒng)配置數(shù)據(jù)和外設(shè)芯片配置數(shù)據(jù),其中基本輸入輸出系統(tǒng)配置數(shù)據(jù)包括CPU寄存器配置和內(nèi)存片選配置數(shù)據(jù);外設(shè)芯片配置數(shù)據(jù)包括芯片a、b、c的配置數(shù)據(jù),當(dāng)然,本發(fā)明實施例并不限于上述配置數(shù)據(jù)。這種模塊化的配置,有利于本地存儲單元內(nèi)數(shù)據(jù)的管理。作為本發(fā)明的一個實施例,上述關(guān)于外設(shè)的硬件配置文件可以包括外設(shè)名稱、驅(qū)動名稱、驅(qū)動存放位置和芯片初始化參數(shù)等數(shù)據(jù),當(dāng)然,上述數(shù)據(jù)并不都是必需的,本發(fā)明實施例也并不限定硬件配置文件僅包括上述數(shù)據(jù),其他用來描述外設(shè)的相關(guān)數(shù)據(jù)也可以放入硬件配置文件中。在本實施例中,單板的本地存儲單元內(nèi)除了上述的BIOS程序,還包括硬件配置文件和外設(shè)驅(qū)動,而這些BIOS程序、硬件配置文件和外設(shè)驅(qū)動可以位于本地存儲單元內(nèi)的一個物理存儲設(shè)備內(nèi),也可以位于不同的物理存儲設(shè)備內(nèi)。作為本發(fā)明的一個實施例,可以將上述BIOS程序編譯成一個軟件包存儲在本地存儲單元內(nèi),而將各個外設(shè)驅(qū)動獨立編譯成若干個軟件包;也可以將兩個或兩個以上具有功能相關(guān)性的外設(shè)驅(qū)動編譯成一個軟件包。在本實施例中把BIOS與外設(shè)驅(qū)動獨立編譯,有利于BIOS本身的穩(wěn)定性和重用性。譬如,外設(shè)變化時,可以不用重新編譯BIOS,只需要重新編譯外設(shè)驅(qū)動即可。S203:加載需要鏈接的操作系統(tǒng)程序,所述操作系統(tǒng)程序位于所述單板的非本地存儲單元;該步驟和步驟S102相類似,在此不再進(jìn)行贅述。需要指出的是,本發(fā)明實施例并不限定上述步驟S202和步驟S203的執(zhí)行順序,可以先加載外設(shè)驅(qū)動或者先加載操作系統(tǒng)程序。S204 根據(jù)操作系統(tǒng)程序?qū)ν庠O(shè)驅(qū)動進(jìn)行鏈接,使得所述外設(shè)驅(qū)動能夠正常運行;
作為本發(fā)明的一個實施例,可以利用動態(tài)鏈接技術(shù)或二次鏈接技術(shù)來對所述操作系統(tǒng)程序和所述外設(shè)驅(qū)動進(jìn)行鏈接。動態(tài)鏈接技術(shù)是指先將驅(qū)動程序預(yù)編譯成Obj或ddl庫,在這種方式下,驅(qū)動程序內(nèi)部已經(jīng)完成了鏈接,但是驅(qū)動程序引用操作系統(tǒng)程序的函數(shù)或者變量沒有完成鏈接。在加載obj或ddl庫時,通過動態(tài)鏈接技術(shù)完成obj或ddl庫對操作系統(tǒng)程序引用函數(shù)或者變量的查找和鏈接。二次鏈接技術(shù)可以包括如下步驟a、將外設(shè)驅(qū)動程序和操作系統(tǒng)程序各自編譯成二進(jìn)制文件,比如bin文件;b、在外設(shè)驅(qū)動程序bin文件中提供一虛擬程序來對外設(shè)驅(qū)動程序bin文件中引用操作系統(tǒng)程序bin文件的函數(shù)和變量進(jìn)行虛擬鏈接;C、將所述虛擬程序鏈接至所述操作系統(tǒng)程序bin文件中的函數(shù)或變量實體中。需要指出的是,步驟a和b是預(yù)先完成的,在本步驟中,如果利用二次鏈接技術(shù)進(jìn)行鏈接,則只需執(zhí)行步驟c即可。S205 初始化與操作系統(tǒng)內(nèi)核無關(guān)的外設(shè);在本實施例中,上述與操作系統(tǒng)內(nèi)核無關(guān)的外設(shè)比如可以包括輸入/輸出 (Input/Output, I/O)控制芯片、邏輯芯片等。S206 初始化操作系統(tǒng)程序中的操作系統(tǒng)內(nèi)核;S207 初始化與操作系統(tǒng)內(nèi)核相關(guān)的外設(shè);由于上述與操作系統(tǒng)內(nèi)核相關(guān)的外設(shè)的驅(qū)動會調(diào)用到操作系統(tǒng)提供的內(nèi)存管理、 互斥等服務(wù),因此這部分外設(shè)需要在操作系統(tǒng)內(nèi)核初始化后才能開始初始化。在本實施例中,上述與操作系統(tǒng)內(nèi)核相關(guān)的外設(shè)比如可以包括業(yè)務(wù)網(wǎng)口、Lanswitch芯片、硬盤等。S208 初始化操作系統(tǒng)的擴展服務(wù)。在本實施例中,上述操作系統(tǒng)的擴展服務(wù)可以包括哈希(HASH)庫、監(jiān)控、協(xié)議棧、調(diào)試工、網(wǎng)絡(luò)文件系統(tǒng)、數(shù)據(jù)庫等。上述步驟S205-S208中對于外設(shè)的初始化采用了分類初始化的方法,而現(xiàn)有技術(shù)中對于外設(shè)的初始化一般是在操作系統(tǒng)初始化之后才開始進(jìn)行的,比如在操作系統(tǒng)的內(nèi)核及擴展服務(wù)全部初始化后再進(jìn)行外設(shè)的初始化。采用本發(fā)明實施例的分類初始化的方法, 可以解決部分外設(shè)需要在操作系統(tǒng)啟動前完成初始化的特殊需求。譬如,某些特殊硬件安全芯片,需要在操作系統(tǒng)初始化前完成初始化,用于控制系統(tǒng)的安全性。本發(fā)明實施例中單板內(nèi)外設(shè)的驅(qū)動都存儲在單板的本地存儲單元中,使得單板上的外設(shè)升級時,只需要將本地存儲單元中對應(yīng)的外設(shè)驅(qū)動進(jìn)行升級即可,而不再需要對升級后的外設(shè)驅(qū)動、應(yīng)用程序和操作系統(tǒng)一起進(jìn)行重新編譯鏈接,即映像程序不再需要進(jìn)行改動。另外,應(yīng)用了本發(fā)明實施例所述方法的PC機,如果用戶更換其他型號的單板,也不再需要重新安裝操作系統(tǒng)了,而現(xiàn)有技術(shù)中一般如果PC機用戶更換其他型號的主板是需要重新安裝操作系統(tǒng)的。如圖4所示為本發(fā)明實施例提供的一種通信設(shè)備的結(jié)構(gòu)示意圖,該通信設(shè)備至少包括系統(tǒng)單板410和非本地存儲單元420,而系統(tǒng)單板410又包括本地存儲單元411和控制處理器412,其中本地存儲單元411是指與系統(tǒng)單板位于同一單板的存儲單元,用于存儲外設(shè)驅(qū)動,該本地存儲單元可以采用非易失性存儲單元,比如FLASH、NVRAM等。這里的外設(shè)是指位于系統(tǒng)單板410上的各種芯片,這些外設(shè)比如可以為業(yè)務(wù)網(wǎng)口芯片、Lanswitch芯片、ATM芯
Jn寸。控制處理器412用于加載需要鏈接的操作系統(tǒng)程序及外設(shè)驅(qū)動,該操作系統(tǒng)程序位于非本地存儲單元420 ;控制處理器412還用于根據(jù)該操作系統(tǒng)程序?qū)ν庠O(shè)驅(qū)動進(jìn)行鏈接,使得外設(shè)驅(qū)動能夠正常運行。在本實施例中非本地存儲單元420是指與系統(tǒng)單板410有聯(lián)系,但不在系統(tǒng)單板 410之上的存儲設(shè)備,比如可以為網(wǎng)絡(luò)服務(wù)器,硬盤等??刂铺幚砥?12所加載的操作系統(tǒng)程序可以映像程序的形式存儲在非本地存儲單元420之中,與現(xiàn)有技術(shù)不同的是,在本實施例中位于上述非本地存儲單元420內(nèi)的映像程序僅包括操作系統(tǒng)程序,當(dāng)然,在本實施例中映像程序中還可以包括各種應(yīng)用程序。由于外設(shè)驅(qū)動和操作系統(tǒng)程序分別存儲在不同的存儲單元內(nèi),因此它們之間并未進(jìn)行鏈接,因此需要控制處理器412來完成外設(shè)驅(qū)動和操作系統(tǒng)程序間的鏈接。本發(fā)明實施例中單板內(nèi)外設(shè)的驅(qū)動都存儲在單板的本地存儲單元中,使得單板上的外設(shè)升級時,只需要將本地存儲單元中對應(yīng)的外設(shè)驅(qū)動進(jìn)行升級即可,而不再需要對升級后的外設(shè)驅(qū)動、應(yīng)用程序和操作系統(tǒng)一起進(jìn)行重新編譯鏈接,即映像程序不再需要進(jìn)行改動。另外,應(yīng)用了本發(fā)明實施例所述方法的PC機,如果用戶更換其他型號的主板,也不再需要重新安裝操作系統(tǒng)了,而現(xiàn)有技術(shù)中一般如果PC機用戶更換其他型號的主板是需要重新安裝操作系統(tǒng)的。如圖5所示為本發(fā)明實施例提供的另一種通信設(shè)備的結(jié)構(gòu)示意圖,該通信設(shè)備至少包括系統(tǒng)單板510和非本地存儲單元520,系統(tǒng)單板510又包括本地存儲單元511、控制處理器512、內(nèi)存控制器、網(wǎng)口、串口和多個外設(shè),其中本地存儲單元511、內(nèi)存控制器、網(wǎng)口、串口和多個外設(shè)都分別和控制處理器512相連。在本實施例中,非本地存儲單元520用于存儲操作系統(tǒng)程序,本地存儲單元511用于存儲BIOS程序、對應(yīng)各個外設(shè)的外設(shè)驅(qū)動以及硬件配置信息,該硬件配置信息可以包括外設(shè)名稱、驅(qū)動名稱、驅(qū)動存放位置和芯片初始化參數(shù),具體可以參見對圖3的描述。上述非本地存儲單元520比如可以為網(wǎng)絡(luò)服務(wù)器、硬盤等,而本地存儲單元511可以包括一個或多個物理存儲設(shè)備,該物理存儲設(shè)備比如可以采用FLASH、NVRAM等。作為本發(fā)明的一個實施例,可以將上述BIOS程序編譯成一個軟件包存儲在本地存儲單元511內(nèi),而將各個外設(shè)驅(qū)動獨立編譯成若干個軟件包;也可以將兩個或兩個以上具有功能相關(guān)性的外設(shè)驅(qū)動編譯成一個軟件包。在本實施例中把BIOS與外設(shè)驅(qū)動獨立編譯,有利于BIOS本身的穩(wěn)定性和重用性。譬如,外設(shè)變化時,可以不用重新編譯BIOS,只需要重新編譯外設(shè)驅(qū)動即可。在該通信設(shè)備上電后,控制處理器512用于從本地存儲單元511內(nèi)加載BIOS程序,并運行該BIOS程序來初始化基本輸入輸出系統(tǒng),比如初始化內(nèi)存控制器配置、調(diào)試串口、調(diào)試網(wǎng)口等??刂铺幚砥?12還用于從非本地存儲單元520內(nèi)加載操作系統(tǒng)程序以及從本地存儲單元511內(nèi)加載外設(shè)驅(qū)動,當(dāng)控制處理器512用于從本地存儲單元511內(nèi)加載外設(shè)驅(qū)動時,其會根據(jù)本地存儲單元511內(nèi)的硬件配置文件來加載外設(shè)驅(qū)動。當(dāng)控制處理器512加載完操作系統(tǒng)程序以及外設(shè)驅(qū)動后,其還用于根據(jù)該操作系統(tǒng)程序外設(shè)驅(qū)動進(jìn)行鏈接,使得外設(shè)驅(qū)動能夠正常運行。這里控制處理器可以利用動態(tài)鏈接技術(shù)或者二次鏈接技術(shù)來完成上述鏈接,具體鏈接方法請參見前述實施例。作為本發(fā)明的一個實施例,控制處理器512還用于初始化與所述操作系統(tǒng)程序中的操作系統(tǒng)內(nèi)核無關(guān)的外設(shè);初始化所述操作系統(tǒng)內(nèi)核;初始化與所述操作系統(tǒng)內(nèi)核相關(guān)的外設(shè)??刂铺幚砥?12采用本發(fā)明實施例的分類初始化的方法,可以解決部分外設(shè)需要在操作系統(tǒng)啟動前完成初始化的特殊需求。本發(fā)明實施例中單板內(nèi)外設(shè)的驅(qū)動都存儲在單板的本地存儲單元中,使得單板上的外設(shè)升級時,只需要將本地存儲單元中對應(yīng)的外設(shè)驅(qū)動進(jìn)行升級即可,而不再需要對升級后的外設(shè)驅(qū)動、應(yīng)用程序和操作系統(tǒng)一起進(jìn)行重新編譯鏈接,即映像程序不再需要進(jìn)行改動。另外,應(yīng)用了本發(fā)明實施例所述方法的PC機,如果用戶更換其他型號的單板,也不再需要重新安裝操作系統(tǒng)了,而現(xiàn)有技術(shù)中一般如果PC機用戶更換其他型號的主板是需要重新安裝操作系統(tǒng)的。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory, RAM)等。以上所述的具體實施例,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種單板驅(qū)動的加載方法,其特征在于,所述方法包括 加載外設(shè)驅(qū)動,所述外設(shè)驅(qū)動位于所述單板的本地存儲單元;加載需要鏈接的操作系統(tǒng)程序,所述操作系統(tǒng)程序位于所述單板的非本地存儲單元; 根據(jù)所述操作系統(tǒng)程序?qū)λ鐾庠O(shè)驅(qū)動進(jìn)行鏈接,使得所述外設(shè)驅(qū)動能夠正常運行。
2.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述操作系統(tǒng)程序?qū)λ鐾庠O(shè)驅(qū)動進(jìn)行鏈接包括利用動態(tài)鏈接技術(shù)對所述操作系統(tǒng)程序和所述外設(shè)驅(qū)動進(jìn)行鏈接; 或者,利用二次鏈接技術(shù)來對所述操作系統(tǒng)程序和所述外設(shè)驅(qū)動進(jìn)行鏈接,所述二次鏈接技術(shù)包括將外設(shè)驅(qū)動程序和操作系統(tǒng)程序各自編譯成二進(jìn)制文件;在外設(shè)驅(qū)動程序二進(jìn)制文件中提供一虛擬程序來對外設(shè)驅(qū)動程序二進(jìn)制文件中引用操作系統(tǒng)程序二進(jìn)制文件的函數(shù)和變量進(jìn)行虛擬鏈接;將所述虛擬程序鏈接至所述操作系統(tǒng)程序二進(jìn)制文件中的函數(shù)或變量實體中。
3.如權(quán)利要求1所述的方法,其特征在于,所述加載外設(shè)驅(qū)動之前還包括加載并運行所述單板的本地存儲單元內(nèi)的BIOS程序來初始化基本輸入輸出系統(tǒng)。
4.如權(quán)利要求1所述的方法,其特征在于,所述加載外設(shè)驅(qū)動包括根據(jù)所述單板的本地存儲單元內(nèi)的硬件配置文件來加載位于所述本地存儲單元內(nèi)的外設(shè)驅(qū)動,所述硬件配置文件包括外設(shè)名稱、驅(qū)動名稱、驅(qū)動存放位置和芯片初始化參數(shù)。
5.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述操作系統(tǒng)程序?qū)λ鐾庠O(shè)驅(qū)動進(jìn)行鏈接之后,還包括初始化所述操作系統(tǒng)程序中的操作系統(tǒng)內(nèi)核。
6.如權(quán)利要求5所述的方法,其特征在于,還包括在初始化所述操作系統(tǒng)程序中的操作系統(tǒng)內(nèi)核之前,初始化與所述操作系統(tǒng)內(nèi)核無關(guān)的外設(shè);在初始化所述操作系統(tǒng)程序中的操作系統(tǒng)內(nèi)核之后,初始化與所述操作系統(tǒng)內(nèi)核相關(guān)的外設(shè)。
7.一種通信設(shè)備,其特征在于,包括,系統(tǒng)單板,所述系統(tǒng)單板包括 本地存儲單元,用于存儲外設(shè)驅(qū)動;控制處理器,用于加載需要鏈接的操作系統(tǒng)程序及所述外設(shè)驅(qū)動,所述操作系統(tǒng)程序位于所述單板的非本地存儲單元;根據(jù)所述操作系統(tǒng)程序?qū)λ鐾庠O(shè)驅(qū)動進(jìn)行鏈接,使得所述外設(shè)驅(qū)動能夠正常運行。
8.如權(quán)利要求7所述的通信設(shè)備,其特征在于, 所述本地存儲單元還用于存儲BIOS程序;所述控制處理器還用于加載所述BIOS程序來初始化基本輸入輸出系統(tǒng)。
9.如權(quán)利要求7所述的通信設(shè)備,其特征在于,所述本地存儲單元還用于存儲硬件配置文件,所述硬件配置文件包括外設(shè)名稱、驅(qū)動名稱、驅(qū)動存放位置和芯片初始化參數(shù);所述控制處理器具體用于根據(jù)所述本地存儲單元內(nèi)的硬件配置文件來加載外設(shè)驅(qū)動。
10.如權(quán)利要求7所述的通信設(shè)備,其特征在于,所述控制處理器還用于 初始化與所述操作系統(tǒng)程序中的操作系統(tǒng)內(nèi)核無關(guān)的外設(shè); 初始化所述操作系統(tǒng)內(nèi)核; 初始化與所述操作系統(tǒng)內(nèi)核相關(guān)的外設(shè)。
全文摘要
本發(fā)明實施例提供了一種單板驅(qū)動的加載方法和通信設(shè)備,該方法包括加載外設(shè)驅(qū)動,所述外設(shè)驅(qū)動位于所述單板的本地存儲單元;加載需要鏈接的操作系統(tǒng)程序,所述操作系統(tǒng)程序位于所述單板的非本地存儲單元;根據(jù)所述操作系統(tǒng)程序?qū)λ鐾庠O(shè)驅(qū)動進(jìn)行鏈接,使得所述外設(shè)驅(qū)動能夠正常運行。本發(fā)明實施例中單板內(nèi)外設(shè)的驅(qū)動都存儲在單板的本地存儲單元中,使得單板上外設(shè)升級時,只需要將本地存儲單元中對應(yīng)的外設(shè)驅(qū)動進(jìn)行升級即可,而不再需要對升級后的外設(shè)驅(qū)動、應(yīng)用程序和操作系統(tǒng)一起進(jìn)行編譯,即映像程序不再需要進(jìn)行改動。
文檔編號G06F9/445GK102193804SQ20101011849
公開日2011年9月21日 申請日期2010年3月3日 優(yōu)先權(quán)日2010年3月3日
發(fā)明者劉道根, 易非, 王偉, 鄧鵬 申請人:華為技術(shù)有限公司