欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于Bootloader的XFP光模塊升級(jí)方法

文檔序號(hào):6638512閱讀:278來源:國知局
一種基于Bootloader的XFP光模塊升級(jí)方法
【專利摘要】本發(fā)明公開了一種基于Bootloader的XFP光模塊升級(jí)方法,包括以下步驟:在XFP光模塊的微控制器的FLASH區(qū)域中,開辟出Bootloader存放區(qū)域,其中存儲(chǔ)有Bootloader啟動(dòng)程序;選擇啟動(dòng)Bootloader,對(duì)FLASH區(qū)域中的程序代碼區(qū)域內(nèi)的數(shù)據(jù)執(zhí)行升級(jí)操作。用戶可以根據(jù)目標(biāo)交換機(jī)、路由器的不同,通過光模塊總線接口進(jìn)行軟件升級(jí),也可以通過網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程控制升級(jí),使其達(dá)到兼容的目的,而不必返廠使用編程器燒錄程序,不會(huì)造成有效數(shù)據(jù)丟失或調(diào)測(cè)試參數(shù)丟失,是解決升級(jí)光模塊微控制器程序的有效解決方案。
【專利說明】-種基于Bootloader的XFP光模塊升級(jí)方法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通訊【技術(shù)領(lǐng)域】,尤其涉及一種基于Bootloader的XFP光模塊升級(jí)方 法。

【背景技術(shù)】
[0002] 光模塊是一種提供光電一電光轉(zhuǎn)換能力的集成化通訊配件,其內(nèi)部結(jié)構(gòu)框圖如圖 1所示。其中,微控制器主要功能是提供與主機(jī)端的通訊總線硬件接口和警告、告警硬件接 口。目前市場(chǎng)上主流光模塊均包含可編程的微控制器。XFP光模塊,是10G速率的市場(chǎng)主流 光模塊,常見于萬兆級(jí)網(wǎng)絡(luò)通訊。
[0003] 光模塊作為交換機(jī)、路由器的重要組件,廣泛應(yīng)用于網(wǎng)絡(luò)通訊硬件中。交換機(jī)和 路由器的生產(chǎn)廠商數(shù)量眾多,知名廠商包括:思科、華為、中興、阿爾卡特、惠普、TP-LINK、 D-LINK等等。雖然,IEEE和ITU等國際組織提出了標(biāo)準(zhǔn)的通訊協(xié)議,設(shè)備廠商也聯(lián)合制定 了 SFF8472、INF8077I等標(biāo)準(zhǔn)協(xié)議,但各主流設(shè)備商之間,也存在諸多互不兼容的自定義標(biāo) 準(zhǔn),這導(dǎo)致了一只符合協(xié)議標(biāo)準(zhǔn)的光模塊,無法同時(shí)取得主流設(shè)備商的交換機(jī)、路由器等設(shè) 備的兼容性。光模塊生產(chǎn)商為了讓光模塊獲得某設(shè)備的兼容性,往往單獨(dú)開發(fā)符合該設(shè)備 要求的微控制器程序,且這一階段是在光模塊出廠前完成。
[0004] Bootloader是嵌入式系統(tǒng)在加電后執(zhí)行的第一段代碼,在它完成CPU和相關(guān)硬件 的初始化之后,再將操作系統(tǒng)映像或固化的嵌入式應(yīng)用程序裝在到內(nèi)存中然后跳轉(zhuǎn)到操作 系統(tǒng)所在的空間,啟動(dòng)操作系統(tǒng)運(yùn)行。在嵌入式操作系統(tǒng)中,BootLoader是在操作系統(tǒng)內(nèi) 核運(yùn)行之前運(yùn)行,可以初始化硬件設(shè)備、建立內(nèi)存空間映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶 到一個(gè)合適狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。在嵌入式系統(tǒng)中,通常 并沒有像BIOS那樣的固件程序(注,有的嵌入式CPU也會(huì)內(nèi)嵌一段短小的啟動(dòng)程序),因此 整個(gè)系統(tǒng)的加載啟動(dòng)任務(wù)就完全由BootLoader來完成。
[0005] 目前,Bootloader適用于專用的嵌入式環(huán)境,例如其廣泛應(yīng)用于GNU/Linux系統(tǒng)。 一個(gè)嵌入式Linux系統(tǒng)從軟件的角度看通??梢苑譃樗膫€(gè)層次:
[0006] 1、引導(dǎo)加載程序。包括固化在固件(firmware)中的boot代碼(可選),和 BootLoader兩大部分。
[0007] 2、Linux內(nèi)核。特定于嵌入式板子的定制內(nèi)核以及內(nèi)核的啟動(dòng)參數(shù)。
[0008] 3、文件系統(tǒng)。包括根文件系統(tǒng)和建立于Flash內(nèi)存設(shè)備之上文件系統(tǒng)。通常用 ramdisk 來作為 rootfs〇
[0009] 4、用戶應(yīng)用程序。特定于用戶的應(yīng)用程序。有時(shí)在用戶應(yīng)用程序和內(nèi)核層之間可 能還會(huì)包括一個(gè)嵌入式圖形用戶界面。常用的嵌入式⑶I有:MicroWindows和Mini⑶I等。
[0010] 但是,Bootloader目前尚只在一些大型軟件項(xiàng)目或系統(tǒng)中使用,比如個(gè)人計(jì)算機(jī) (PC),手機(jī)操作系統(tǒng),智能交換機(jī)操作系統(tǒng),電視機(jī)機(jī)頂盒操作系統(tǒng)等;在一些小型軟件系 統(tǒng)或單片微機(jī)系統(tǒng)領(lǐng)域,幾乎沒有使用Bootloader的先例。Bootloader本身對(duì)于系統(tǒng)硬件 的依賴性很高,往往特定的硬件需要搭配特定的Bootloader程序。
[0011] 基于Bootloader,用戶可以使用給定的軟件接口,對(duì)現(xiàn)有軟件進(jìn)行升級(jí)。廠商也可 以通過網(wǎng)絡(luò)遠(yuǎn)程進(jìn)行軟件升級(jí)。
[0012] 普通的XFP光模塊,在出廠之后,其內(nèi)部程序不可以直接更改,必須返回工廠,針 對(duì)不同的微控制器型號(hào),使用專用的編程器對(duì)微控制器進(jìn)行程序燒錄。由于程序燒錄會(huì)破 壞現(xiàn)有程序和數(shù)據(jù),因此相當(dāng)于再次對(duì)該光模塊進(jìn)行了生產(chǎn),這樣的解決方案浪費(fèi)時(shí)間精 力,維護(hù)周期長(zhǎng),極其繁瑣。
[0013] 普通的光模塊返廠程序升級(jí)流程如圖2所示。由于外殼的拆卸,有可能造成產(chǎn)品 性能參數(shù)的改變,因此需要再次對(duì)光模塊性能做測(cè)試。這會(huì)引入極大的工作量,且因殼件拆 卸,會(huì)造成一定比例的物料損壞,也大大增加了程序升級(jí)的成本。
[0014] 部分光模塊生產(chǎn)廠商,通過電路板的設(shè)計(jì),避開了光模塊殼件拆卸和編程線纜的 連接問題,但必須搭配其特制的程序升級(jí)電路板,也使得客戶無法自行或無法在遠(yuǎn)程協(xié)助 下完成程序升級(jí)。同時(shí),此類電路的設(shè)計(jì),會(huì)帶來成本的提升,且降低光模塊可靠性。


【發(fā)明內(nèi)容】

[0015] 本發(fā)明的一個(gè)目的是針對(duì)現(xiàn)有技術(shù)的不足,提供一種基于Bootloader的XFP光模 塊升級(jí)方法,通過將Bootloader移植于XFP光模塊微控制器內(nèi),可通過光模塊總線接口進(jìn) 行軟件升級(jí),也可通過網(wǎng)絡(luò)對(duì)光模塊的微控制器程序進(jìn)行遠(yuǎn)程升級(jí)。
[0016] 本發(fā)明還有一個(gè)目的是提供一種將Bootloader移植于XFP光模塊微控制器內(nèi)的 方法,可以廣泛應(yīng)用于各類含有微控制器的光模塊。
[0017] 本發(fā)明的技術(shù)方案為:
[0018] 一種基于Bootloader的XFP光模塊升級(jí)方法,包括以下步驟:
[0019] 在XFP光模塊的微控制器的FLASH區(qū)域中,開辟出Bootloader存放區(qū)域,其中存 儲(chǔ)有Bootloader啟動(dòng)程序;
[0020] 選擇啟動(dòng)Bootloader,對(duì)FLASH區(qū)域中的程序代碼區(qū)域內(nèi)的數(shù)據(jù)執(zhí)行升級(jí)操作。
[0021] 優(yōu)選的是,所述的基于Bootloader的XFP光模塊升級(jí)方法中,所述XFP光模塊設(shè) 置有IIC接口,系統(tǒng)通過遠(yuǎn)程訪問IIC接口來啟動(dòng)Bootloader,執(zhí)行升級(jí)操作。
[0022] 優(yōu)選的是,所述的基于Bootloader的XFP光模塊升級(jí)方法中,選擇啟動(dòng) Bootloader,對(duì)FLASH區(qū)域中的程序代碼區(qū)域內(nèi)的數(shù)據(jù)執(zhí)行升級(jí)操作包括以下步驟:
[0023] 1)在微控制器中寫入"BOOT"的ASCII碼,啟動(dòng)Bootloader ;
[0024] 2)將新的程序數(shù)據(jù)寫入FLASH區(qū)域中的程序代碼區(qū)域;
[0025] 3)讀出寫入的新程序數(shù)據(jù),與目標(biāo)程序數(shù)據(jù)進(jìn)行比對(duì);
[0026] 4)如果正確,則運(yùn)行新程序數(shù)據(jù),完成升級(jí);如果不正確,則重復(fù)步驟2)和3),直 到正確為止。
[0027] 優(yōu)選的是,所述的基于Bootloader的XFP光模塊升級(jí)方法中,所述步驟2)中包 括:
[0028] 2. 1)查找待寫入新程序數(shù)據(jù)的FLASH區(qū)域中的映射地址;
[0029] 2. 2)將新程序數(shù)據(jù)中的512字節(jié)數(shù)據(jù)寫入微處理器的緩沖區(qū);
[0030] 2. 3)根據(jù)查找到的映射地址,擦除對(duì)應(yīng)的FLASH區(qū)域中的原始程序;
[0031] 2. 4)將緩沖區(qū)內(nèi)的新程序數(shù)據(jù)寫入根據(jù)映射地址對(duì)應(yīng)的FLASH區(qū)域中;
[0032] 2. 5)反復(fù)執(zhí)行步驟2. 2)-2. 4)直到將所有新程序數(shù)據(jù)全部寫入對(duì)應(yīng)的FLASH區(qū)域 中。
[0033] 優(yōu)選的是,所述的基于Bootloader的XFP光模塊升級(jí)方法中,所述步驟3)中包 括:
[0034] 3. 1)查找寫入了新程序數(shù)據(jù)的FLASH區(qū)域中的映射地址;
[0035] 3. 2)根據(jù)查找到的映射地址,將對(duì)應(yīng)的FLASH區(qū)域中的新程序數(shù)據(jù)讀取到緩沖 區(qū);
[0036] 3. 3)在緩沖區(qū)中讀出新程序數(shù)據(jù)中的512字節(jié)數(shù)據(jù),與目標(biāo)程序數(shù)據(jù)進(jìn)行比對(duì), 以校驗(yàn)寫入程序的正確性;
[0037] 3. 4)反復(fù)執(zhí)行步驟3. 3),直到完成校驗(yàn)。
[0038] 優(yōu)選的是,所述的基于Bootloader的XFP光模塊升級(jí)方法中,所述Bootloader啟 動(dòng)程序占用XFP光模塊的IIC從機(jī)地址為Α0Η。
[0039] 優(yōu)選的是,所述的基于Bootloader的XFP光模塊升級(jí)方法中,所述AOH區(qū)域的98、 99、和107字節(jié)作為自定義Bootloader的控制字節(jié);使用123、124、125和126字節(jié)作為進(jìn) 入Bootloader模式的密碼控制字節(jié);使用高128位的頁0xFC、0xFD、0xFE和OxFF四個(gè)頁地 址作為Bootloader升級(jí)的數(shù)據(jù)緩沖區(qū)。
[0040] 優(yōu)選的是,所述的基于Bootloader的XFP光模塊升級(jí)方法中,所述123-126字 節(jié)寫入"BOOT"的ASCII碼;98-99字節(jié)為FLASH映射地址字節(jié);107字節(jié)為Bootloader 控制字節(jié),命令有:'E'擦除微控制器的程序儲(chǔ)存區(qū),'W'將緩沖區(qū)數(shù)據(jù)寫入微控制器對(duì) 應(yīng)的FLASH區(qū)域,'R'讀取微控制器對(duì)應(yīng)的FLASH區(qū)域數(shù)據(jù)至緩沖區(qū),'S'開始運(yùn)行應(yīng)用 程序;高128位,按頁映射緩沖區(qū),OxFC頁,映射緩沖區(qū)〇 X〇0〇-〇X〇7F字節(jié);ΟχΠ )頁,映射 緩沖區(qū)0x080-0x0FF字節(jié);OxFE頁,映射緩沖區(qū)0xl00-0xl7F字節(jié);OxFC頁,映射緩沖區(qū) 0xl80-0xlFF 字節(jié)。
[0041] 本發(fā)明具有以下有益效果:本發(fā)明通過將Bootloader移植于XFP光模塊微控制器 內(nèi),用戶可以通過光模塊總線接口進(jìn)行軟件升級(jí),也可以通過網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程控制升級(jí),可以 根據(jù)目標(biāo)交換機(jī)、路由器的不同,來升級(jí)光模塊內(nèi)部程序,使其達(dá)到兼容的目的,而不必返 廠使用編程器燒錄程序,同時(shí),無須借助任何編程線纜,也不用拆卸光模塊殼件,光模塊升 級(jí)技術(shù)將保留光模塊的現(xiàn)有廠商、用戶數(shù)據(jù),不會(huì)造成有效數(shù)據(jù)丟失或調(diào)測(cè)試參數(shù)丟失,是 解決升級(jí)光模塊微控制器程序的有效解決方案。

【專利附圖】

【附圖說明】:
[0042] 圖1為本發(fā)明中所述的光模塊的內(nèi)部結(jié)構(gòu)框圖;
[0043] 圖2為一般的光模塊返廠程序升級(jí)流程圖;
[0044] 圖3為本發(fā)明所述的XFP光模塊硬件連接示意圖;
[0045] 圖4為INF-8077i定義的AOH寄存器結(jié)構(gòu)圖;
[0046] 圖5為本發(fā)明所述的微控制器C8051F330內(nèi)部FLASH規(guī)劃圖;
[0047] 圖6為本發(fā)明所述的微控制器Bootloader程序工作流程圖。

【具體實(shí)施方式】:
[0048] 下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的詳細(xì)說明,以令本領(lǐng)域技術(shù)人員參照說明書文 字能夠據(jù)以實(shí)施。
[0049] -種基于Bootloader的XFP光模塊升級(jí)方法,包括以下步驟:
[0050] 在XFP光模塊的微控制器的FLASH區(qū)域中,開辟出Bootloader存放區(qū)域,其中存 儲(chǔ)有Bootloader啟動(dòng)程序;
[0051] 選擇啟動(dòng)Bootloader,對(duì)FLASH區(qū)域中的程序代碼區(qū)域內(nèi)的數(shù)據(jù)執(zhí)行升級(jí)操作。 光模塊是一種提供光電一電光轉(zhuǎn)換能力的集成化通訊配件,所述光模塊的內(nèi)部結(jié)構(gòu)框圖如 圖1所示。普通的XFP光模塊,在出廠之后,其內(nèi)部程序不可以直接更改,必須返回工廠,針 對(duì)不同的微控制器型號(hào),使用專用的編程器對(duì)微控制器進(jìn)行程序燒錄,普通的光模塊返廠 程序升級(jí)流程如圖2所示。本發(fā)明中,通過將Boot loader啟動(dòng)程序存儲(chǔ)到微控制器的FLASH 的一定區(qū)域中,客戶可以通過光模塊總線接口進(jìn)行軟件升級(jí),無須拆卸殼件或使用特殊的 下載線纜;也可以由廠商通過網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程控制升級(jí),這使得光模塊出廠后,不必返廠,即 可完成程序的更新,以達(dá)到兼容不同類型和要求的交換機(jī)的目的。
[0052] 所述的基于Bootloader的XFP光模塊升級(jí)方法中,所述XFP光模塊設(shè)置有IIC接 口,系統(tǒng)通過遠(yuǎn)程訪問IIC接口來啟動(dòng)Bootloader,執(zhí)行升級(jí)操作。本發(fā)明將Bootloader 移植于XFP光模塊微控制器內(nèi),使用光模塊標(biāo)準(zhǔn)總線接口 IIC,兼容光模塊INF-8077i、 XFP-MSA等協(xié)議,可以廣泛應(yīng)用于各類含有微控制器的光模塊。
[0053] 圖3為XFP光模塊硬件連接示意圖,按照XFP-MSA規(guī)范,XFP光模塊提供IIC總線 接口與設(shè)備通訊。本專利將詳細(xì)說明基于自定義Bootloader的XFP光模塊遠(yuǎn)程升級(jí)技術(shù) 的實(shí)現(xiàn)方式。XFP光模塊提供IIC總線接口,IIC從機(jī)地址為Α0Η,按照INF-8077i協(xié)議規(guī) 定,AOH寄存器結(jié)構(gòu)如圖4所示。其中,AOH區(qū)域的98、99、107字節(jié)為廠商保留區(qū),123、124、 125、126字節(jié)為密碼入口區(qū),127字節(jié)為高128位寄存器映射頁選擇寄存器,如下表所示:
[0054]

【權(quán)利要求】
1. 一種基于Bootloader的XFP光模塊升級(jí)方法,其特征在于,包括W下步驟: 在XFP光模塊的微控制器的FLA甜區(qū)域中,開辟出Bootloader存放區(qū)域,其中存儲(chǔ)有 Bootloader啟動(dòng)程序; 選擇啟動(dòng)Bootloader,對(duì)FLA甜區(qū)域中的程序代碼區(qū)域內(nèi)的數(shù)據(jù)執(zhí)行升級(jí)操作。
2. 如權(quán)利要求1所述的基于Bootloader的XFP光模塊升級(jí)方法,其特征在于, 所述XFP光模塊設(shè)置有IIC接口,系統(tǒng)通過遠(yuǎn)程訪問IIC接口來啟動(dòng)Bootloader,執(zhí)行 升級(jí)操作。
3. 如權(quán)利要求2所述的基于Bootloader的XFP光模塊升級(jí)方法,其特征在于,選擇啟 動(dòng)Bootloader,對(duì)FLA甜區(qū)域中的程序代碼區(qū)域內(nèi)的數(shù)據(jù)執(zhí)行升級(jí)操作包括W下步驟: 1) 在微控制器中寫入"BOOT"的ASCII碼,啟動(dòng)Bootloader ; 2) 將新的程序數(shù)據(jù)寫入FLA甜區(qū)域中的程序代碼區(qū)域; 3) 讀出寫入的新程序數(shù)據(jù),與目標(biāo)程序數(shù)據(jù)進(jìn)行比對(duì); 4) 如果正確,則運(yùn)行新程序數(shù)據(jù),完成升級(jí);如果不正確,則重復(fù)步驟2)和3),直到正 確為止。
4. 如權(quán)利要求3所述的基于Bootloader的XFP光模塊升級(jí)方法,其特征在于, 所述步驟2)中包括: 2. 1)查找待寫入新程序數(shù)據(jù)的FLA甜區(qū)域中的映射地址; 2. 2)將新程序數(shù)據(jù)中的512字節(jié)數(shù)據(jù)寫入微處理器的緩沖區(qū); 2. 3)根據(jù)查找到的映射地址,擦除對(duì)應(yīng)的FLA甜區(qū)域中的原始程序; 2.4)將緩沖區(qū)內(nèi)的新程序數(shù)據(jù)寫入根據(jù)映射地址對(duì)應(yīng)的FLA甜區(qū)域中; 2. 5)反復(fù)執(zhí)行步驟2. 2)-2. 4)直到將所有新程序數(shù)據(jù)全部寫入對(duì)應(yīng)的FLASH區(qū)域中。
5. 如權(quán)利要求4所述的基于Bootloader的XFP光模塊升級(jí)方法,其特征在于, 所述步驟3)中包括: 3. 1)查找寫入了新程序數(shù)據(jù)的FLA甜區(qū)域中的映射地址; 3. 2)根據(jù)查找到的映射地址,將對(duì)應(yīng)的FLA甜區(qū)域中的新程序數(shù)據(jù)讀取到緩沖區(qū); 3. 3)在緩沖區(qū)中讀出新程序數(shù)據(jù)中的512字節(jié)數(shù)據(jù),與目標(biāo)程序數(shù)據(jù)進(jìn)行比對(duì),W校 驗(yàn)寫入程序的正確性; 3. 4)反復(fù)執(zhí)行步驟3. 3),直到完成校驗(yàn)。
6. 如權(quán)利要求5所述的基于Bootloader的XFP光模塊升級(jí)方法,其特征在于,所述 Bootloader啟動(dòng)程序占用XFP光模塊的IIC從機(jī)地址為A0H。
7. 如權(quán)利要求6所述的基于Bootloader的XFP光模塊升級(jí)方法,其特征在于,所述A0H 區(qū)域的98、99、和107字節(jié)作為自定義Bootloader的控制字節(jié);使用123、124、125和126字 節(jié)作為進(jìn)入Bootloader模式的密碼控制字節(jié);使用高128位的頁0xFC、0x抑、Ox陽和OxFF 四個(gè)頁地址作為Bootloader升級(jí)的數(shù)據(jù)緩沖區(qū)。
8. 如權(quán)利要求7所述的基于Bootloader的XFP光模塊升級(jí)方法,其特征在于,所述 123-126字節(jié)寫入"BOOT"的ASCII碼;98-99字節(jié)為FLA甜映射地址字節(jié);107字節(jié)為 Bootloader控制字節(jié),命令有;'E'擦除微控制器的程序儲(chǔ)存區(qū),'W'將緩沖區(qū)數(shù)據(jù)寫入微 控制器對(duì)應(yīng)的FLA甜區(qū)域,'R'讀取微控制器對(duì)應(yīng)的FLA甜區(qū)域數(shù)據(jù)至緩沖區(qū),'S'開始運(yùn) 行應(yīng)用程序;高128位,按頁映射緩沖區(qū),OxFC頁,映射緩沖區(qū)0x000-0x07F字節(jié);OxFD頁, 映射緩沖區(qū)0x080-0x0FF字節(jié);OxFE頁,映射緩沖區(qū)0xl00-0xl7F字節(jié);OxFC頁,映射緩沖 區(qū) 0xl80-0xlFF 字節(jié)。
【文檔編號(hào)】G06F9/445GK104461638SQ201410767284
【公開日】2015年3月25日 申請(qǐng)日期:2014年12月12日 優(yōu)先權(quán)日:2014年12月12日
【發(fā)明者】范巍, 侯羿 申請(qǐng)人:四川華拓光通信股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
隆子县| 麦盖提县| 施甸县| 闽清县| 东明县| 隆尧县| 门源| 会泽县| 丹凤县| 永新县| 白玉县| 怀远县| 保靖县| 独山县| 五家渠市| 威信县| 浪卡子县| 秭归县| 原阳县| 蓝田县| 当阳市| 桃园县| 张家界市| 曲沃县| 安宁市| 赞皇县| 岑巩县| 和平县| 安平县| 潍坊市| 钦州市| 榆林市| 林芝县| 凤山市| 大名县| 阿合奇县| 延吉市| 蚌埠市| 永年县| 鹤峰县| 泰顺县|