本發(fā)明涉及計算機技術領域,尤其涉及一種內核文件的加載方法、加載裝置及加載系統(tǒng)。
背景技術:
在計算機的系統(tǒng)開發(fā)與調試過程中,常常需要對內核文件進行修改,一般在電腦上更改內核鏡像,再加載到開發(fā)板上。
現(xiàn)有技術中,加載內核的方法主要包括兩種:一種方法是采用網(wǎng)絡傳輸方式下載內核鏡像。這種方法需要開發(fā)板上設置有以太網(wǎng)接口,而有些開發(fā)板為了減小體積,并未設置以太網(wǎng)接口。另一種方法是每次更改內核鏡像之后,將內核鏡像打包編譯生成固件,然后通過特定的固件燒寫工具,把固件下載到存儲介質上,例如下載到NAND存儲器(NAND Flash)或者EMMC(Embedded Multi Media Card,嵌入式多媒體卡)等。這種方式步驟比較繁瑣,效率較低。
技術實現(xiàn)要素:
有鑒于此,有必要提供一種內核文件的加載方法、加載裝置及加載系統(tǒng),能夠節(jié)省電路板空間并提高加載效率。
本發(fā)明公開了一種內核文件的加載方法,其包括:
初始化預設的USB轉網(wǎng)絡驅動;
通過USB網(wǎng)絡接收內核文件;
將所述內核文件存儲于指定的存儲地址。
作為一種實施方式,所述內核文件攜帶加載命令;
將所述內核文件存儲于指定的存儲地址之前,所述加載方法還包括:
解析所述加載命令,以獲取所述指定的存儲地址。
作為一種實施方式,所述初始化預設的USB轉網(wǎng)絡驅動,包括:
初始化USB設備控制器的硬件資源;
將所述USB設備控制器注冊為USB網(wǎng)絡設備,以調用所述硬件資源。
作為一種實施方式,所述內核文件包括內核鏡像。
作為一種實施方式,所述內核文件包括扁平設備樹文件。
本發(fā)明還公開了一種內核文件的加載裝置,應用于開發(fā)板,其包括:
初始化模塊,用于初始化預設的通用串行總線USB轉網(wǎng)絡驅動;
接收模塊,用于通過USB網(wǎng)絡接收內核文件;
存儲模塊,用于將所述內核文件存儲于指定的存儲地址。
作為一種實施方式,所述內核文件攜帶加載命令;
所述加載裝置還包括解析模塊,用于解析所述加載命令,以獲取所述指定的存儲地址。
作為一種實施方式,所述初始化模塊,包括:
初始化單元,用于初始化USB設備控制器的硬件資源;
注冊單元,用于將所述USB設備控制器注冊為USB網(wǎng)絡設備,以調用所述硬件資源。
作為一種實施方式,所述內核文件包括內核鏡像。
作為一種實施方式,所述內核文件包括扁平設備樹FDT文件。
本發(fā)明還公開了一種內核文件的加載系統(tǒng),其包括開發(fā)板及終端設備,其中所述開發(fā)板包括如上述任一項應用于開發(fā)板的加載裝置。
上述內核文件的加載方法、加載裝置及加載系統(tǒng),通過USB網(wǎng)絡直接接收并存儲內核文件,即可加載內核文件,無需將內核文件打包編譯成固件,也無需通過特定的固件燒寫工具下載固件,從而提高內核文件的加載效率。在硬件上,開發(fā)板配置USB接口即可,由于USB接口較一般的網(wǎng)絡接口體積小,因此可節(jié)省電路板空間。
采用上述技術方案,還在開發(fā)板或者客戶板沒有以太網(wǎng)接口只有USB接口的開發(fā)環(huán)境中,實現(xiàn)了在Uboot中實現(xiàn)USB轉網(wǎng)絡的功能,通過在PC端采用NFS或者TFTP的USB網(wǎng)絡傳輸方式,把內核鏡像加載到開發(fā)板指定的DRAM地址上。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他實施例的附圖。
圖1為本發(fā)明一實施例的內核文件的加載方法的流程示意圖;
圖2為本發(fā)明另一實施例的內核文件的加載方法的流程示意圖;
圖3為本發(fā)明又一實施例的內核文件的加載方法的流程示意圖;
圖4為本發(fā)明一實施例的內核文件的加載裝置的結構示意圖;
圖5為本發(fā)明一實施例的內核文件的加載系統(tǒng)的結構示意圖;
圖6為本發(fā)明一實施例的內核文件的加載系統(tǒng)中終端設備的結構示意圖。
具體實施方式
為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
在本發(fā)明的描述中,需要理解的是,術語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或者隱含指明所指示的技術特征的數(shù)量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括至少一個該特征。在本發(fā)明的描述中,“多個”的含義是至少兩個,例如兩個,三個等,除非另有明確具體的限定。
下面結合附圖描述根據(jù)本發(fā)明實施例的內核文件的加載方法、加載裝置及加載系統(tǒng)。例如,本發(fā)明一實施例的內核文件的加載方法包括以下步驟:初始化預設的通用串行總線USB轉網(wǎng)絡驅動;檢測是否通過USB(Universal Serial Bus,通用串行總線)連接終端設備,是則建立USB網(wǎng)絡;通過所述USB網(wǎng)絡接收內核文件;將所述內核文件存儲于指定的存儲地址,例如將所述內核文件存儲于指定的內存地址。
請參閱圖1,其為本發(fā)明一實施例的內核文件的加載方法的流程示意圖,所述內核文件的加載方法應用于開發(fā)板。如圖1所示,所述內核文件的加載方法包括以下步驟:
S110,初始化預設的USB轉網(wǎng)絡驅動。例如,開發(fā)板初始化預設的USB轉網(wǎng)絡驅動;又如,在開發(fā)板Uboot中初始化預設的USB轉網(wǎng)絡驅動。
在本實施例中,開發(fā)板設置有USB接口及USB轉網(wǎng)絡驅動。其中,USB轉網(wǎng)絡驅動用于實現(xiàn)USB數(shù)據(jù)和網(wǎng)絡數(shù)據(jù)之間的轉換,例如將以太網(wǎng)數(shù)據(jù)轉換為USB數(shù)據(jù)。例如,該USB接口包括A型USB插座和/或A型USB插頭;例如,該USB接口包括B型USB插座和/或B型USB插頭;例如,該USB接口包括Mini USB插座和/或Mini USB插頭;例如,該USB接口包括Micro USB插座和/或Micro USB插頭。在一較佳實施例中,為了減小占板面積,節(jié)省電路板空間,該USB接口設置為Micro USB插座或Micro USB插頭。
作為一種實施方式,開發(fā)板上電之后,自動初始化預設的USB轉網(wǎng)絡驅動,這樣,一旦通過USB連接終端設備,可快速建立USB網(wǎng)絡,與終端設備進行網(wǎng)絡通信。
作為另一種實施方式,在檢測到USB連接終端設備之后,初始化預設的USB轉網(wǎng)絡驅動,以避免不必要的初始化過程,降低開發(fā)板的功耗。例如,開發(fā)板還設置有USB識別模塊,用于識別外部USB設備,例如終端設備的USB設備。
S130,通過USB網(wǎng)絡接收內核文件。
上述USB網(wǎng)絡,例如:NFS(Network File System,網(wǎng)絡文件系統(tǒng))網(wǎng)絡,或者TFTP(Trivial File Transfer Protocol,簡單文件傳輸協(xié)議)網(wǎng)絡。例如,對于NFS網(wǎng)絡,終端設備作為NFS服務器,開發(fā)板作為NFS客戶端,則開發(fā)板與終端設備之間通過NFS協(xié)議通信,開發(fā)板可接收終端設備基于NFS協(xié)議發(fā)送的內核文件。又如,對于TFTP網(wǎng)絡,終端設備作為TFTP服務器,開發(fā)板作為TFTP客戶端,則開發(fā)板與終端設備之間通過TFTP協(xié)議通信,開發(fā)板可接收終端設備基于TFTP協(xié)議發(fā)送的內核文件。
例如,檢測是否通過USB連接開發(fā)板,是則通過USB網(wǎng)絡向所述開發(fā)板發(fā)送內核文件,以使所述開發(fā)板加載所述內核文件;在一個實施例中,終端設備檢測是否通過USB連接開發(fā)板,是則通過USB網(wǎng)絡向所述開發(fā)板發(fā)送內核文件,以使所述開發(fā)板加載所述內核文件。
在本實施例中,終端設備為具有USB接口的用戶終端,例如終端設備包括但不限于:臺式計算機、筆記本電腦、平板電腦、掌上電腦等非便攜式或便攜式終端設備。
例如,終端設備檢測是否通過USB連接線連接開發(fā)板;例如,終端設備檢測是否通過USB接口直接連接開發(fā)板。例如,終端設備設置有USB識別模塊及USB接口,通過USB識別模塊檢測USB接口是否連接到終端設備。例如,終端設備的USB接口包括A型USB插座和/或A型USB插頭;例如,終端設備的USB接口包括B型USB插座和/或B型USB插頭;例如,終端設備的USB接口包括Mini USB插座和/或Mini USB插頭;例如,終端設備的USB接口包括Micro USB插座和/或Micro USB插頭。
在一較佳實施例中,對于平板電腦、掌上電腦等便攜性終端設備,為了減小體積,該USB接口設置為Micro USB插座和/或Micro USB插頭。
作為一種實施方式,終端設備中預先設置有USB轉網(wǎng)絡驅動,當檢測到通過USB連接開發(fā)板時,啟動該USB轉網(wǎng)絡驅動,以建立USB網(wǎng)絡,例如建立終端設備與開發(fā)板之間的USB網(wǎng)絡。
在本實施例中,內核文件包括內核鏡像;或者,內核文件包括除內核鏡像文件之外的其他內核文件,例如FDT(Flattened Device Tree,扁平設備樹)文件;或者,內核文件包括內核鏡像及其他內核文件。
S150,將所述內核文件存儲于指定的存儲地址。
在本實施例中,指定的存儲地址,例如指定的內存地址,例如指定的DRAM(Dynamic Random Access Memory,動態(tài)隨機存取存儲器)地址。
作為一種實施方式,根據(jù)加載命令將所述內核文件存儲于指定的存儲地址。例如,內核文件攜帶加載命令,通過解析該加載命令,獲取指定的存儲地址。例如,該加載命令為NFS命令或TFTP命令。
在一個實施例中,如圖2所示,步驟S110具體包括:
S111,初始化USB設備控制器的硬件資源。其中,初始化USB設備控制器的硬件資源,用于實現(xiàn)USB設備控制器的驅動。
S113,將所述USB設備控制器注冊為USB網(wǎng)絡設備,以調用所述硬件資源。
例如,在開發(fā)板系統(tǒng)將所述USB設備控制器注冊為USB網(wǎng)絡設備,又如,在Uboot(Universal Bootloader,引導加載程序)將所述USB設備控制器注冊為USB網(wǎng)絡設備。USB設備控制器注冊為USB網(wǎng)絡設備,用于實現(xiàn)USB轉網(wǎng)絡驅動,使得USB設備控制器能調用已初始化的硬件資源,建立與終端設備間的USB網(wǎng)絡。
在一個實施例中,終端設備具體根據(jù)預設命令通過所述USB網(wǎng)絡向所述開發(fā)板發(fā)送內核文件。例如,該預設命令為用戶輸入的命令;又如,該預設命令為用戶輸入的NFS命令。
具體實施中,內核中包括配置表,配置表中包括內核的配置信息,例如內核文件的存儲地址。在一個實施例中,終端設備在向開發(fā)板發(fā)送內核文件之前,還執(zhí)行如下步驟:
S321,根據(jù)所述內核文件中的配置表,獲取所述內核文件的存儲地址;
S323,將所述存儲地址封裝入預設加載命令中。例如將該存儲地址封裝為該預設加載命令的參數(shù)。例如,該預設加載命令為NFS命令或TFTP命令。
相應地,步驟S330具體為:通過所述USB網(wǎng)絡向所述開發(fā)板發(fā)送攜帶所述預設加載命令的內核文件。例如,將該預設加載命令與內核文件一起打包之后,通過USB網(wǎng)絡發(fā)送,以便于開發(fā)板接收到內核文件之后,能自動根據(jù)該加載命令,快速獲取上述存儲地址并按照該存儲地址存儲該內核文件,而無需用戶手動輸入加載命令,從而加快開發(fā)板側加載內核文件的速度。
上述內核文件的加載方法,通過USB網(wǎng)絡直接接收并存儲內核文件,即可加載內核文件,無需將內核文件打包編譯成固件,也無需通過特定的固件燒寫工具下載固件,從而提高內核文件的加載效率。在硬件上,開發(fā)板配置USB接口即可,由于USB接口較一般的網(wǎng)絡接口體積小,因此可節(jié)省電路板空間。
圖3是本發(fā)明又一實施例的內核文件的加載方法的流程示意圖,該加載方法應用于開發(fā)板及終端設備。例如,如圖3所示,該加載方法包括:
S310,開發(fā)板初始化預設的USB轉網(wǎng)絡驅動。
S320,終端設備檢測到通過USB連接開發(fā)板。
S330,所述終端設備通過USB網(wǎng)絡向所述開發(fā)板發(fā)送內核文件。例如發(fā)送內核鏡像。
在一個實施例中,終端設備具體根據(jù)預設命令通過所述USB網(wǎng)絡向所述開發(fā)板發(fā)送內核文件。例如,該預設命令為用戶輸入的命令;又如,該預設命令為用戶輸入的NFS命令。
具體實施中,內核中包括配置表,配置表中包括內核的配置信息,例如內核文件的存儲地址。在一個實施例中,終端設備在向開發(fā)板發(fā)送內核文件之前,還執(zhí)行如下步驟:根據(jù)所述內核文件中的配置表,獲取所述內核文件的存儲地址;將所述存儲地址封裝入預設加載命令中。例如將該存儲地址封裝為該預設加載命令的參數(shù)。例如,該預設加載命令為NFS命令或TFTP命令。
相應地,步驟S530具體為:通過所述USB網(wǎng)絡向所述開發(fā)板發(fā)送攜帶所述預設加載命令的內核文件。例如,將該預設加載命令與內核文件一起打包之后,通過USB網(wǎng)絡發(fā)送,以便于開發(fā)板接收到內核文件之后,能自動根據(jù)該加載命令,快速獲取上述存儲地址并按照該存儲地址存儲該內核文件,而無需用戶手動輸入加載命令,從而加快開發(fā)板側加載內核文件的速度。
S340,所述開發(fā)板通過所述USB網(wǎng)絡接收所述內核文件。例如接收內核鏡像。
S350,所述開發(fā)板將所述內核文件存儲于指定的存儲地址。例如將該內核文件寫到指定的DRAM地址。
上述內核文件的加載方法,開發(fā)板和終端設備之間通過USB網(wǎng)絡收發(fā)內核文件,無需將內核文件打包編譯成固件,也無需通過特定的固件燒寫工具下載固件,從而提高內核文件的加載效率。在硬件上,開發(fā)板配置USB接口即可,由于USB接口較一般的網(wǎng)絡接口體積小,因此可節(jié)省電路板空間。
請參閱圖4,其為本發(fā)明一實施例的內核文件的加載裝置的結構示意圖。所述加載裝置應用于開發(fā)板。例如,所述加載裝置采用上述任一實施例所述內核文件的加載方法實現(xiàn);如圖4所示,所述加載裝置400包括:
初始化模塊410,用于初始化預設的通用串行總線USB轉網(wǎng)絡驅動。
接收模塊430,用于通過USB網(wǎng)絡接收內核文件。
存儲模塊450,用于將所述內核文件存儲于指定的存儲地址。
在一個實施例中,所述內核文件攜帶加載命令;所述加載裝置還包括:
解析模塊,用于解析所述加載命令,以獲取所述指定的存儲地址。
在一個實施例中,所述初始化模塊410,包括:
初始化單元,用于初始化USB設備控制器的硬件資源;
注冊單元,用于將所述USB設備控制器注冊為USB網(wǎng)絡設備,以調用所述硬件資源。
在一個實施例中,所述內核文件包括內核鏡像。
上述內核文件的加載裝置,通過USB網(wǎng)絡直接接收并存儲內核文件,即可加載內核文件,無需將內核文件打包編譯成固件,也無需通過特定的固件燒寫工具下載固件,從而提高內核文件的加載效率。在硬件上,開發(fā)板配置USB接口即可,由于USB接口較一般的網(wǎng)絡接口體積小,因此可節(jié)省電路板空間。
本發(fā)明又一實施例是,一種內核文件的加載裝置,其采用上述任一實施例所述內核文件的加載方法;例如,一種內核文件的加載裝置,其采用上述任一實施例所述內核文件的加載方法實現(xiàn);又如,一種內核文件的加載裝置,其具有上述任一實施例所述內核文件的加載方法所對應的功能模塊。
本發(fā)明實施例還提供了一種內核文件的加載系統(tǒng),如圖5所示,該加載系統(tǒng)500包括開發(fā)板510及終端設備530,其中開發(fā)板810包括圖4所示實施例的內核文件的加載裝置。例如,所述加載系統(tǒng)采用上述任一實施例所述內核文件的加載方法和/或加載裝置實現(xiàn)。
在一個實施例中,如圖6所示,終端設備530包括檢測模塊531及發(fā)送模塊533,其中:
檢測模塊531,用于檢測是否通過USB連接開發(fā)板;
發(fā)送模塊533,用于在檢測到通過USB連接開發(fā)板時,通過USB網(wǎng)絡向所述開發(fā)板發(fā)送內核文件,以使所述開發(fā)板加載所述內核文件。
在一個實施例中,終端設備530還包括:
讀取模塊,用于讀取內核文件;
獲取模塊,用于根據(jù)所述內核文件中的配置表,獲取所述內核文件的存儲地址;
封裝模塊,用于將所述存儲地址封裝入預設加載命令中;
所述發(fā)送模塊533,具體用于通過USB網(wǎng)絡向所述開發(fā)板發(fā)送攜帶所述預設加載命令的內核文件。
在一個實施例中,所述內核文件包括內核鏡像。
在一個實施例中,所述內核文件包括FDT文件。
上述內核文件的加載系統(tǒng),終端設備和開發(fā)板之間通過USB網(wǎng)絡收發(fā)內核文件,即可加載內核文件,無需將內核文件打包編譯成固件,也無需通過特定的固件燒寫工具下載固件,從而提高內核文件的加載效率。在硬件上,開發(fā)板配置USB接口即可,由于USB接口較一般的網(wǎng)絡接口體積小,因此可節(jié)省電路板空間。
采用上述技術方案,還在開發(fā)板或者客戶板沒有以太網(wǎng)接口只有USB接口的開發(fā)環(huán)境中,實現(xiàn)了在Uboot中實現(xiàn)USB轉網(wǎng)絡的功能,通過在PC端采用NFS或者TFTP的USB網(wǎng)絡傳輸方式,把內核鏡像加載到開發(fā)板指定的DRAM地址上。
應該說明的是,上述裝置實施例中,所包括的各個模塊只是按照功能邏輯進行劃分的,但并不局限于上述的劃分,只要能夠實現(xiàn)相應的功能即可;另外,各功能模塊的具體名稱也只是為了便于相互區(qū)分,并不用于限制本發(fā)明的保護范圍。
另外,本領域普通技術人員可以理解實現(xiàn)上述各實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,相應的程序可以存儲于可讀取存儲介質中,所述存儲介質,如ROM/RAM、磁盤、光盤等。
上述各實施例的各技術特征相互組合所形成的可實現(xiàn)的內核文件的加載方法、加載裝置及/或加載系統(tǒng)。
以上所述實施例的各技術特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術特征所有可能的組合都進行描述,然而,只要這些技術特征的組合不存在矛盾,都應當認為是本說明書記載的范圍。
以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發(fā)明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權利要求為準。