一種固件程序燒寫方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于計(jì)算機(jī)領(lǐng)域,尤其涉及一種固件程序燒寫方法及裝置。
【背景技術(shù)】
[0002] 在計(jì)算機(jī)硬件中,通常采用flash芯片存儲(chǔ)著bios(BasicInputOutputSystem) 基本輸入輸出系統(tǒng)的固件程序,開機(jī)時(shí)bios程序會(huì)檢測系統(tǒng)硬件的狀態(tài),顯示開機(jī)圖等, flash芯片是計(jì)算機(jī)引導(dǎo)過程的重要模塊,在飛騰計(jì)算機(jī)平臺(tái)的bios程序開發(fā)過程中,每 次更新代碼,都需要把flash芯片從計(jì)算機(jī)主板上卸載下來,然后通過專用的燒寫工具,把 新的代碼寫進(jìn)flash芯片。而拆卸的過程比較麻煩,會(huì)大大影響工作效率。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明實(shí)施例的目的在于提供一種固件程序燒寫方法及裝置,旨在提供一種固件 程序燒寫方法,在內(nèi)核程序中添加固件程序調(diào)用接口,通過在應(yīng)用程序中添加讀寫函數(shù)接 口,讀寫函數(shù)調(diào)用內(nèi)核程序中的固件程序調(diào)用接口直接將固件程序?qū)懭氲絝lash芯片中, 省去了通過專用燒寫工具燒寫飛騰平臺(tái)固件程序的麻煩。
[0004] 本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種固件程序和開機(jī)圖的燒寫方法,所述方法包括 下述步驟:
[0005] 在內(nèi)核程序中添加固件程序調(diào)用接口;
[0006] 在應(yīng)用程序的驅(qū)動(dòng)模塊中添加調(diào)用固件程序接口的讀寫函數(shù)接口;
[0007] 應(yīng)用程序通過所述調(diào)用固件程序接口的讀寫函數(shù)接口調(diào)用內(nèi)核程序,應(yīng)用程序通 過所述調(diào)用的內(nèi)核程序?qū)⒐碳绦驅(qū)懭氲絝lash芯片中。
[0008] 進(jìn)一步的,所述在應(yīng)用程序的驅(qū)動(dòng)模塊中添加調(diào)用固件程序接口的讀寫函數(shù)接口 的步驟包括:
[0009] 在應(yīng)用程序內(nèi)定義與內(nèi)核結(jié)構(gòu)相同的結(jié)構(gòu)體;
[0010] 在應(yīng)用程序的驅(qū)動(dòng)模塊中添加預(yù)設(shè)函數(shù),所述預(yù)設(shè)函數(shù)用于調(diào)用讀寫函數(shù)接口, 所述讀寫函數(shù)接口用于調(diào)用固件程序接口。
[0011] 進(jìn)一步的,所述應(yīng)用程序通過所述調(diào)用固件程序接口的讀寫函數(shù)接口調(diào)用內(nèi)核程 序,應(yīng)用程序通過所述調(diào)用的內(nèi)核程序?qū)⒐碳绦驅(qū)懭氲絝lash芯片中的步驟包括:
[0012] 應(yīng)用程序通過所述調(diào)用固件程序接口的讀寫函數(shù)接口調(diào)用內(nèi)核程序;
[0013] 選擇要燒寫的固件程序文件的和固件程序文件寫入的模式,應(yīng)用程序通過所述調(diào) 用的內(nèi)核程序?qū)⒐碳绦驅(qū)懭氲絝lash芯片中。
[0014] 進(jìn)一步的,所述方法在在應(yīng)用程序的驅(qū)動(dòng)模塊中添加調(diào)用固件程序接口的讀寫函 數(shù)接口步驟之后還包括:
[0015] 將固件程序代碼進(jìn)行編譯,并編譯成預(yù)定文件格式的文件
[0016] 本發(fā)明實(shí)施例的另一目的在于提供一種固件程序燒寫裝置,所述裝置包括:
[0017] 調(diào)用接口添加單元,用于在內(nèi)核程序中添加固件程序調(diào)用接口;
[0018] 讀寫接口添加單元,用于在應(yīng)用程序的驅(qū)動(dòng)模塊中添加調(diào)用固件程序接口的讀寫 函數(shù)接口;
[0019] 燒寫單元,用于應(yīng)用程序通過所述調(diào)用固件程序接口的讀寫函數(shù)接口調(diào)用內(nèi)核程 序,應(yīng)用程序通過所述調(diào)用的內(nèi)核程序?qū)⒐碳绦驅(qū)懭氲絝lash芯片中。
[0020] 進(jìn)一步的,所述讀寫接口添加單元包括:
[0021] 結(jié)構(gòu)體定義單元,用于在應(yīng)用程序內(nèi)定義與內(nèi)核結(jié)構(gòu)相同的結(jié)構(gòu)體;
[0022] 函數(shù)添加單元,用于在應(yīng)用程序的驅(qū)動(dòng)模塊中添加預(yù)設(shè)函數(shù),所述預(yù)設(shè)函數(shù)用于 調(diào)用讀寫函數(shù)接口,所述讀寫函數(shù)接口用于調(diào)用固件程序接口。
[0023] 進(jìn)一步的,所述燒寫單元包括:
[0024] 內(nèi)核調(diào)用單元,用于應(yīng)用程序通過所述調(diào)用固件程序接口的讀寫函數(shù)接口調(diào)用內(nèi) 核程序;
[0025] 寫入單元,用于選擇要燒寫的固件程序文件的和固件程序文件寫入的模式,應(yīng)用 程序通過所述調(diào)用的內(nèi)核程序?qū)⒐碳绦驅(qū)懭氲絝lash芯片中。
[0026] 進(jìn)一步的,所述裝置還包括:
[0027] 編譯單元,用于將固件程序代碼進(jìn)行編譯,并編譯成預(yù)定文件格式的文件。
[0028] 本發(fā)明實(shí)施例通過一種固件程序燒寫方法及裝置,通過在內(nèi)核程序中添加調(diào)用接 口,在應(yīng)用程序中添加函數(shù)讀寫接口,通過應(yīng)用程序的讀寫接口調(diào)用內(nèi)核的接口,應(yīng)用程序 直接將需要燒寫的固件程序燒寫到flash芯片中,完成對(duì)bios的更新,由于直接通過應(yīng)用 程序調(diào)用內(nèi)核程序可以直接在本機(jī)上進(jìn)行燒寫,不必再將飛騰平臺(tái)的flash芯片卸載下來 通過專用的燒寫工具進(jìn)行燒寫,提高燒寫固件程序的效率。
【附圖說明】
[0029] 圖1是本發(fā)明第一實(shí)施例提供的一種固件程序燒寫方法的實(shí)現(xiàn)流程圖;
[0030] 圖2是本發(fā)明第二實(shí)施例提供的一種固件程序燒寫方法的實(shí)現(xiàn)流程圖;
[0031] 圖3是本發(fā)明第三實(shí)施例提供的一種固件程序燒寫裝置的結(jié)構(gòu)圖;以及
[0032] 圖4是本發(fā)明第四實(shí)施例提供的一種固件程序燒寫裝置的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0033] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì) 本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。
[0034] 以下結(jié)合具體實(shí)施例對(duì)本發(fā)明的具體實(shí)現(xiàn)進(jìn)行詳細(xì)描述:
[0035] 實(shí)施例一:
[0036] 圖1示出了本發(fā)明第一實(shí)施例提供的一種固件程序燒寫方法的實(shí)現(xiàn)流程,詳述如 下:
[0037]S101,在內(nèi)核程序中添加固件程序調(diào)用接口。
[0038] 在飛騰平臺(tái)上,在飛騰平臺(tái)的內(nèi)核程序中添加一固件程序接口,其中內(nèi)核程序?yàn)?飛騰平臺(tái)的主板內(nèi)核程序。
[0039] S102,在應(yīng)用程序的驅(qū)動(dòng)模塊中添加調(diào)用固件程序接口的讀寫函數(shù)接口。
[0040] 在應(yīng)用程序的驅(qū)動(dòng)模塊中添加可以調(diào)用固件程序接口的函數(shù)接口,具體的函數(shù)接 口為讀寫函數(shù)接口,通過添加的讀寫函數(shù)接口,可以實(shí)現(xiàn)調(diào)用固件程序接口。
[0041] S103,應(yīng)用程序通過所述調(diào)用固件程序接口的讀寫函數(shù)接口調(diào)用內(nèi)核程序,應(yīng)用 程序通過所述調(diào)用的內(nèi)核程序?qū)⒐碳绦驅(qū)懭氲絝lash芯片中。
[0042] 在飛騰平臺(tái)上運(yùn)行應(yīng)用程序,應(yīng)用程序存儲(chǔ)在外接存儲(chǔ)設(shè)備上,通過在外接存儲(chǔ) 設(shè)備上運(yùn)行應(yīng)用程序,應(yīng)用程序通過調(diào)用固件程序接口的讀寫函數(shù)接口直接調(diào)用內(nèi)核程 序,通過調(diào)用內(nèi)核程序?qū)⒐碳绦驅(qū)懭氲絝lash的芯片中,完成對(duì)flash的升級(jí)更新。
[0043] 本發(fā)明實(shí)施例通過上述方式,一種固件程序燒寫方法,在飛騰平臺(tái)上,通過對(duì)飛騰 平臺(tái)的內(nèi)核程序添加固件程序調(diào)用接口,同時(shí)在應(yīng)用程序的驅(qū)動(dòng)模塊中添加調(diào)用固件程序 接口的讀寫函數(shù)接口,在運(yùn)行應(yīng)用程序時(shí),直接通過應(yīng)用程序中的讀寫函數(shù)接口調(diào)用內(nèi)核 程序中的固件程序調(diào)用接口完成對(duì)內(nèi)核程序的調(diào)用,通過對(duì)內(nèi)核程序的調(diào)用,可以直接將 需要燒寫的固件程序少寫入flash芯片中,完成對(duì)固件程序的燒寫,由于只需要在內(nèi)核和 應(yīng)用程序中添加對(duì)應(yīng)的接口,可以直接在本機(jī)上完成操作,在進(jìn)行燒寫時(shí)就不必再將flash 卸載下來通過專有的燒寫設(shè)備進(jìn)行燒寫,提高了更新固件程序時(shí)燒寫固件程序的效率。
[0044] 實(shí)施例二:
[0045] 圖2示出了本發(fā)明第二實(shí)施例提供的一種固件程序燒寫方法的實(shí)現(xiàn)流程,詳述如 下:
[0046] S201,在內(nèi)核程序中添加固件程序調(diào)用接口。
[0047] 首先對(duì)飛騰平臺(tái)的內(nèi)核程序進(jìn)行處理,在飛騰平臺(tái)的內(nèi)核中添加固件程序調(diào)用接 口,添加的固件程序在具體實(shí)施時(shí)可以通過以下函數(shù)進(jìn)行:
[0048]
【主權(quán)項(xiàng)】
1. 一種固件程序燒寫方法,其特征在于,所述方法包括下述步驟: 在內(nèi)核程序中添加固件程序調(diào)用接口; 在應(yīng)用程序的驅(qū)動(dòng)模塊中添加調(diào)用固件程序接口的讀寫函數(shù)接口; 應(yīng)用程序通過所述調(diào)用固件程序接口的讀寫函數(shù)接口調(diào)用內(nèi)核程序,應(yīng)用程序通過所 述調(diào)用的內(nèi)核程序?qū)⒐碳绦驅(qū)懭氲絝lash芯片中。
2. 如權(quán)利要求1所述的方法,其特征在于,所述在應(yīng)用程序的驅(qū)動(dòng)模塊中添加調(diào)用固 件程序接口的讀寫函數(shù)接口的步驟包括: 在應(yīng)用程序內(nèi)定義與內(nèi)核結(jié)構(gòu)相同的結(jié)構(gòu)體; 在應(yīng)用程序的驅(qū)動(dòng)模塊中添加預(yù)設(shè)函數(shù),所述預(yù)設(shè)函數(shù)用于調(diào)用讀寫函數(shù)接口,所述 讀寫函數(shù)接口用于調(diào)用固件程序接口。
3. 如權(quán)利要求1所述的方法,其特征在于,所述應(yīng)用程序通過所述調(diào)用固件程序接 口的讀寫函數(shù)接口調(diào)用內(nèi)核程序,應(yīng)用程序通過所述調(diào)用的內(nèi)核程序?qū)⒐碳绦驅(qū)懭氲?flash芯片中的步驟包括: 應(yīng)用程序通過所述調(diào)用固件程序接口的讀寫函數(shù)接口調(diào)用內(nèi)核程序; 選擇要燒寫的固件程序文件的和固件程序文件寫入的模式,應(yīng)用程序通過所述調(diào)用的 內(nèi)核程序?qū)⒐碳绦驅(qū)懭氲絝lash芯片中。
4. 如權(quán)利要求1所述的方法,其特征在于,所述方法在在應(yīng)用程序的驅(qū)動(dòng)模塊中添加 調(diào)用固件程序接口的讀寫函數(shù)接口步驟之后還包括: 將固件程序代碼進(jìn)行編譯,并編譯成預(yù)定文件格式的文件。
5. -種固件程序燒寫裝置,其特征在于,所述裝置包括: 調(diào)用接口添加單元,用于在內(nèi)核程序中添加固件程序調(diào)用接口; 讀寫接口添加單元,用于在應(yīng)用程序的驅(qū)動(dòng)模塊中添加調(diào)用固件程序接口的讀寫函數(shù) 接口; 燒寫單元,用于應(yīng)用程序通過所述調(diào)用固件程序接口的讀寫函數(shù)接口調(diào)用內(nèi)核程序, 應(yīng)用程序通過所述調(diào)用的內(nèi)核程序?qū)⒐碳绦驅(qū)懭氲絝lash芯片中。
6. 如權(quán)利要求6所述的裝置,其特征在于,所述讀寫接口添加單元包括: 結(jié)構(gòu)體定義單元,用于在應(yīng)用程序內(nèi)定義與內(nèi)核結(jié)構(gòu)相同的結(jié)構(gòu)體; 函數(shù)添加單元,用于在應(yīng)用程序的驅(qū)動(dòng)模塊中添加預(yù)設(shè)函數(shù),所述預(yù)設(shè)函數(shù)用于調(diào)用 讀寫函數(shù)接口,所述讀寫函數(shù)接口用于調(diào)用固件程序接口。
7. 如權(quán)利要求6所述的裝置,其特征在于,所述燒寫單元包括: 內(nèi)核調(diào)用單元,用于應(yīng)用程序通過所述調(diào)用固件程序接口的讀寫函數(shù)接口調(diào)用內(nèi)核程 序; 寫入單元,用于選擇要燒寫的固件程序文件的和固件程序文件寫入的模式,應(yīng)用程序 通過所述調(diào)用的內(nèi)核程序?qū)⒐碳绦驅(qū)懭氲絝lash芯片中。
8. 如權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 編譯單元,用于將固件程序代碼進(jìn)行編譯,并編譯成預(yù)定文件格式的文件。
【專利摘要】本發(fā)明適用于計(jì)算機(jī)領(lǐng)域,提供了一種固件程序和開機(jī)圖的燒寫方法及裝置,所述方法包括下述步驟:在內(nèi)核程序中添加固件程序調(diào)用接口;在應(yīng)用程序的驅(qū)動(dòng)模塊中添加調(diào)用固件程序接口的讀寫函數(shù)接口;應(yīng)用程序通過所述調(diào)用固件程序接口的讀寫函數(shù)接口調(diào)用內(nèi)核程序,應(yīng)用程序通過所述調(diào)用的內(nèi)核程序?qū)⒐碳绦驅(qū)懭氲絝lash芯片中。本發(fā)明通過在內(nèi)核程序中添加固件程序調(diào)用接口,通過在應(yīng)用程序中添加讀寫函數(shù)接口,讀寫函數(shù)調(diào)用內(nèi)核程序中的固件程序調(diào)用接口直接將固件程序?qū)懭氲絝lash芯片中,省去了通過專用燒寫工具燒寫飛騰平臺(tái)固件程序的麻煩。
【IPC分類】G06F9-445
【公開號(hào)】CN104765626
【申請(qǐng)?zhí)枴緾N201410008219
【發(fā)明人】陳俊偉, 張偉進(jìn), 賈兵, 石明, 傅子奇
【申請(qǐng)人】深圳中電長城信息安全系統(tǒng)有限公司
【公開日】2015年7月8日
【申請(qǐng)日】2014年1月8日