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

一種光模塊固件在線升級(jí)的方法及升級(jí)系統(tǒng)的制作方法

文檔序號(hào):6370247閱讀:335來源:國知局
專利名稱:一種光模塊固件在線升級(jí)的方法及升級(jí)系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及光通信領(lǐng)域,特別涉及一種光模塊固件在線升級(jí)的方法,包括ΕΡ0Ν、 GPON光模塊的固件升級(jí)方法。
背景技術(shù)
光模塊ffioWe」由光電子器件、功能電路和光接口等組成,簡單的說,光模塊的作用就是光電轉(zhuǎn)換,發(fā)送端把電信號(hào)轉(zhuǎn)換成光信號(hào),通過光纖傳送后,接收端再把光信號(hào)轉(zhuǎn)換成電信號(hào)。
固件(Firmware)就是寫入EROM或EPROM (可編程只讀存儲(chǔ)器)中的程序,通俗的理解就是“固化的軟件”。一般可認(rèn)為固件就是BIOS的軟件,但又與普通軟件完全不同, 它是固化在集成電路內(nèi)部的程序代碼,負(fù)責(zé)控制和協(xié)調(diào)集成電路的功能。固件(firmware) 一般存儲(chǔ)于設(shè)備中的電可擦除只讀存儲(chǔ)器EEPROM(ElectricalIy Erasable Programmable ROM)或FLASH芯片中,一般可由用戶通過特定的刷新程序進(jìn)行升級(jí)的程序。一般來說,擔(dān)任著一個(gè)數(shù)碼產(chǎn)品最基礎(chǔ)、最底層工作的軟件才可以稱之為固件,比如計(jì)算機(jī)主板上的基本輸入/輸出系統(tǒng)BIOS (Basic Input/output System),在以前其實(shí)更多的專業(yè)人士叫它固件。通常這些硬件內(nèi)所保存的程序是無法被用戶直接讀出或修改的。在以前,一般情況下是沒有必要對(duì)固件進(jìn)行升級(jí)操作的,即使在固件內(nèi)發(fā)現(xiàn)了嚴(yán)重的Bug也必須由專業(yè)人員帶著寫好程序的芯片把原來機(jī)器上的更換下來。早期固件芯片一般采用了 ROM設(shè)計(jì),它的 Firmware代碼是在生產(chǎn)過程中固化的,用任何手段都無法修改。隨著技術(shù)的不斷發(fā)展,修改固件以適應(yīng)不斷更新的硬件環(huán)境成了用戶們的迫切要求,所以,可重復(fù)寫入的可編程可擦除只讀存儲(chǔ)器 EPROM (Erasable Programmable ROM), EEPROM 和 flash 出現(xiàn)了。這些芯片是可以重復(fù)刷寫的,讓固件得以修改和升級(jí)。光模塊固件就是固化在光模塊內(nèi)的系統(tǒng)軟件,主要包括引導(dǎo)區(qū)程序(Bootloader) 及應(yīng)用代碼(Application Code),光模塊通過存儲(chǔ)在flash或者EPROM內(nèi)的程序?qū)崿F(xiàn)模塊本身的初始化和其它控制功能。對(duì)固件進(jìn)行升級(jí)只能升級(jí)Application Code,而引導(dǎo)部分代碼是始終不允許改變的。在FTTX日益普及的今天,對(duì)光模塊的需求量也呈現(xiàn)高速增長,由于性能和功能等原因,光模塊的固件免不了需要在線升級(jí)?,F(xiàn)在的光模塊應(yīng)用中,固件的升級(jí)有如下方法
利用IAP功能(IAP是在應(yīng)用升級(jí)的縮寫In Application Programming)通過將MCU內(nèi)部FLASH分為引導(dǎo)區(qū)(Bootloader)及工作區(qū)(Application Code),燒錄的時(shí)候,通過燒錄器將 Bootloader 燒錄到 FLASH,然后通過 Bootloader 將 Application Code 寫入到 FLASH。 當(dāng)MCU正常啟動(dòng)的時(shí)候也需要先啟動(dòng)Bootloader,如果在Bootloader運(yùn)行期間內(nèi)檢測到升級(jí)命令,則開始進(jìn)入升級(jí)模式升級(jí)Application C ode ;如果在該段時(shí)間內(nèi)未收到升級(jí)命令則進(jìn)入正常工作模式。此方法雖然解決了固件的在線升級(jí),但存在如下缺陷A :只能對(duì)Application Code進(jìn)行在線升級(jí),不能對(duì)Bootloader部分進(jìn)行在線升級(jí), Bootloader部分需要先燒錄,然后通過Bootloader來寫Application Code,復(fù)雜了程序的出廠寫入環(huán)節(jié)由原有的只需要燒錄器通過JTAC 口燒錄,增加了通訊口通過Bootloader寫 Application Code 環(huán)節(jié)。B :由于MCU初始先運(yùn)行Bootloader部分,則增加了 MCU的啟動(dòng)時(shí)間,對(duì)于某些對(duì)系統(tǒng)啟動(dòng)時(shí)間有要求的設(shè)計(jì)不適用。

發(fā)明內(nèi)容
為解決目光端機(jī)中,光模塊固件升級(jí)所帶來的不便,本發(fā)明提供一種光模塊固件在線升級(jí)的方法。本發(fā)明為了完成其技術(shù)目的所采用的技術(shù)方案是一種光模塊固件在線升級(jí)的方法,系統(tǒng)通過與光模塊進(jìn)行通信完成光模塊固件在線升級(jí),將光模塊固件分成升級(jí)引導(dǎo)程序和系統(tǒng)軟件兩部分,在進(jìn)行光模塊固件升級(jí)時(shí)包括以下步驟
步驟A、系統(tǒng)向正在運(yùn)行的光模塊發(fā)送在線升級(jí)命令的步驟;
步驟B、光模塊進(jìn)行自動(dòng)復(fù)位步驟,在復(fù)位后運(yùn)行升級(jí)引導(dǎo)程序,進(jìn)入固件升級(jí)模式的步驟;
步驟C、系統(tǒng)將待升級(jí)的固件通過通訊接口以頁為單位寫入到光模塊的步驟;
步驟D、光模塊內(nèi)升級(jí)引導(dǎo)程序接收到數(shù)據(jù)后,按頁為單位連續(xù)更改存儲(chǔ)的固件系統(tǒng)軟件部分的數(shù)據(jù),對(duì)于不滿一頁的數(shù)據(jù)用0x00補(bǔ)齊;待整個(gè)待升級(jí)固件部分寫滿后,完成固件升級(jí);
步驟E、系統(tǒng)向完成固件升級(jí)的光模塊發(fā)送升級(jí)結(jié)束命令,光模塊復(fù)位,復(fù)位后運(yùn)行升級(jí)后的固件。進(jìn)一步的,上述的光模塊固件在線升級(jí)的方法中在步驟B中進(jìn)入固件升級(jí)模式的步驟后還包括以下步驟
BI、系統(tǒng)通過通訊接口發(fā)送讀取當(dāng)前光模塊狀態(tài)命令,光模塊反饋當(dāng)前光模塊狀態(tài);
B2、系統(tǒng)通過通訊接口將當(dāng)前光模塊內(nèi)部固件中系統(tǒng)軟件整體讀出,以512字節(jié)為一頁連續(xù)存儲(chǔ)形成BIN文件。進(jìn)一步的,上述的光模塊固件在線升級(jí)的方法中所述的系統(tǒng)軟件包括包括引導(dǎo)區(qū)程序及應(yīng)用代碼。進(jìn)一步的,上述的光模塊固件在線升級(jí)的方法中所述的步驟A和步驟E中,系統(tǒng)向光模塊發(fā)送升級(jí)命令和升級(jí)結(jié)束命令是按如下方式實(shí)現(xiàn)的,在光模塊中,設(shè)置一個(gè)由系統(tǒng)通過通信方式賦值的變量,光模塊的MCU獲得該變量改變時(shí)進(jìn)行復(fù)位,同時(shí),按該變量的指引,引導(dǎo)升級(jí)引導(dǎo)程序或者系統(tǒng)軟件工作程序。本發(fā)明通過在固件中設(shè)置升級(jí)引導(dǎo)程序,通過在線控制光模塊復(fù)位時(shí)選擇固件升級(jí)還是正常使用,使得系統(tǒng)可以通過通信接口對(duì)光模塊固件中所有的系統(tǒng)程序進(jìn)行升級(jí)。下面通過結(jié)合具體實(shí)施例和附圖對(duì)本發(fā)明進(jìn)行進(jìn)一步的說明。


附圖I是本發(fā)明系統(tǒng)升級(jí)的流程圖。
附圖2是本發(fā)明的升級(jí)引導(dǎo)程序流程圖。
具體實(shí)施例方式如圖I所示,本實(shí)施例是系統(tǒng)通過通信接口控制光模塊進(jìn)行在線升級(jí)的方法,該方法中將光模塊MCU內(nèi)部FLASH分為正常的程序運(yùn)行部分APROM以及升級(jí)程序部分LDR0M, 其中正常的程序運(yùn)行部分APROM也稱系統(tǒng)程序部分,包括系統(tǒng)引導(dǎo)區(qū)程序Bootloader及工作區(qū)代碼Application Code,我們平常對(duì)光模塊升級(jí),主要就是用新的Application Code 代替現(xiàn)有的Application Code。升級(jí)程序部分LDROM則是為了進(jìn)行在線升級(jí)而設(shè)定的程序代碼,該部分程序代碼為引導(dǎo)區(qū)程序Bootloader,它的流程圖如圖2所示。在出廠時(shí),APROM和LDROM這兩部分程序可以通過燒錄器一次寫入。同時(shí)設(shè)置變量ISPC0N,該變量存儲(chǔ)在FLASH中,每次MCU啟動(dòng)都會(huì)先讀取ISPCON值,根據(jù)ISPCON值來選擇從APROM啟動(dòng)還是LDROM啟動(dòng)。正常啟動(dòng)光模塊運(yùn)行APROM內(nèi)程序進(jìn)行正常光模塊功能。當(dāng)需要光模塊升級(jí)時(shí),通過通訊接口發(fā)送啟動(dòng)命令更改ISPCON內(nèi)的值為LDROM啟動(dòng), 復(fù)位MCU切換到LDROM運(yùn)行。當(dāng)程序在LDROM中運(yùn)行時(shí),可以通過通訊接口對(duì)APROM的程序進(jìn)行讀取和更改,通過對(duì)APROM的更改達(dá)到更新光模塊固件的功能。當(dāng)完成APROM更新后,通過通訊命令修改ISPCON值為APROM啟動(dòng),復(fù)位MCU后從APROM啟動(dòng)完成了此次固件更新。
本實(shí)施例固件升級(jí)方法具體步驟如下
第I步將FLASH分為APROM和LDROM兩部分,其中APROM為正常程序存儲(chǔ)部分,LDROM 為升級(jí)程序存儲(chǔ)部分。APROM內(nèi)的程序完成光模塊的基本功能,LDROM內(nèi)程序完成對(duì)APROM 的讀取擦除更改的操作。這兩部分程序可以通過燒錄器一次寫入,減少了出廠寫程序的環(huán)節(jié)。程序正常啟動(dòng)由APROM啟動(dòng)運(yùn)行,減少了程序啟動(dòng)時(shí)間。第2步當(dāng)系統(tǒng)需要對(duì)光模塊進(jìn)行固件升級(jí)時(shí),通過通訊接口向光模塊發(fā)送進(jìn)入升級(jí)模式命令,光模塊收到后更改ISPCON內(nèi)的值,修改為LDROM啟動(dòng),并復(fù)位光模塊,當(dāng)光模塊再次啟動(dòng)時(shí),程序進(jìn)入LDROM運(yùn)行,進(jìn)入固件升級(jí)模式。第3步系統(tǒng)通過通訊接口發(fā)送讀取當(dāng)前光模塊狀態(tài)命令,光模塊反饋當(dāng)前光模塊狀態(tài),包括當(dāng)前APROM大小、RAM大小、MCU型號(hào)、固件版本號(hào)等信息。第4步系統(tǒng)通過通訊接口將當(dāng)前光模塊內(nèi)部APROM整體讀出,以512字節(jié)為一頁連續(xù)存儲(chǔ)形成BIN文件,保存到系統(tǒng)端方便后續(xù)的程序回退。第5步系統(tǒng)將待升級(jí)的固件(.BIN格式文件),通過通訊接口以頁為單位寫入到光模塊,光模塊內(nèi)LDROM程序接收到數(shù)據(jù)后,按頁為單位連續(xù)更改APROM內(nèi)的數(shù)據(jù),對(duì)于不滿一頁的數(shù)據(jù)用0x00補(bǔ)齊。待整個(gè)APROM寫滿后當(dāng)次APROM升級(jí)完成。第6步當(dāng)APROM內(nèi)程序更新完成后,系統(tǒng)通過通訊口發(fā)送命令修改ISPCON內(nèi)的值,修改為APROM啟動(dòng),并復(fù)位光模塊。當(dāng)復(fù)位后光模塊會(huì)切換到APROM進(jìn)行工作,此時(shí)已經(jīng)按更新后的固件進(jìn)行程序運(yùn)行,完成了固件升級(jí)。采用本方法進(jìn)行固件在線升級(jí),由于整個(gè)程序可以出廠時(shí)一次燒錄完成,簡化了出廠寫程序操作,同時(shí)由于正常啟動(dòng)就已經(jīng)工作在工作區(qū),縮短了程序的啟動(dòng)時(shí)間。
權(quán)利要求
1.一種光模塊固件在線升級(jí)的方法,系統(tǒng)通過與光模塊進(jìn)行通信完成光模塊固件在線升級(jí),其特征在于,將光模塊固件分成升級(jí)引導(dǎo)程序和系統(tǒng)軟件兩部分,在進(jìn)行光模塊固件升級(jí)時(shí)包括以下步驟步驟A、系統(tǒng)向正在運(yùn)行的光模塊發(fā)送在線升級(jí)命令的步驟;步驟B、光模塊進(jìn)行自動(dòng)復(fù)位步驟,在復(fù)位后運(yùn)行升級(jí)引導(dǎo)程序,進(jìn)入固件升級(jí)模式的步驟;步驟C、系統(tǒng)將待升級(jí)的固件通過通訊接口以頁為單位寫入到光模塊的步驟;步驟D、光模塊內(nèi)升級(jí)引導(dǎo)程序接收到數(shù)據(jù)后,按頁為單位連續(xù)更改存儲(chǔ)的固件系統(tǒng)軟件部分的數(shù)據(jù),對(duì)于不滿一頁的數(shù)據(jù)用OxOO補(bǔ)齊;待整個(gè)待升級(jí)固件部分寫滿后,完成固件升級(jí);步驟E、系統(tǒng)向完成固件升級(jí)的光模塊發(fā)送升級(jí)結(jié)束命令,光模塊復(fù)位,復(fù)位后運(yùn)行升級(jí)后的固件。
2.根據(jù)權(quán)利要求I所述的光模塊固件在線升級(jí)的方法,其特征在于在步驟B中進(jìn)入固件升級(jí)模式的步驟后還包括以下步驟BI、系統(tǒng)通過通訊接口發(fā)送讀取當(dāng)前光模塊狀態(tài)命令,光模塊反饋當(dāng)前光模塊狀態(tài);B2、系統(tǒng)通過通訊接口將當(dāng)前光模塊內(nèi)部固件中系統(tǒng)軟件整體讀出,以512字節(jié)為一頁連續(xù)存儲(chǔ)形成BIN文件。
3.根據(jù)權(quán)利要求I所述的光模塊固件在線升級(jí)的方法,其特征在于所述的系統(tǒng)軟件包括包括引導(dǎo)區(qū)程序及應(yīng)用代碼程序。
4.根據(jù)權(quán)利要求I至3中任一所述的光模塊固件在線升級(jí)的方法,其特征在于所述的步驟A和步驟E中,系統(tǒng)向光模塊發(fā)送升級(jí)命令和升級(jí)結(jié)束命令是按如下方式實(shí)現(xiàn)的,在光模塊中,設(shè)置一個(gè)由系統(tǒng)通過通信方式賦值的變量,光模塊的MCU獲得該變量改變時(shí)進(jìn)行復(fù)位,同時(shí),按該變量的指引,引導(dǎo)升級(jí)引導(dǎo)程序或者系統(tǒng)軟件。
全文摘要
本發(fā)明提供了一種光模塊固件在線升級(jí)的方法,系統(tǒng)通過與光模塊進(jìn)行通信完成光模塊固件在線升級(jí),將光模塊固件分成升級(jí)引導(dǎo)程序和系統(tǒng)軟件兩部分,在進(jìn)行光模塊固件升級(jí)時(shí),光模塊的MCU運(yùn)行升級(jí)引導(dǎo)程序,升級(jí)引導(dǎo)程序通過通信方式從系統(tǒng)處獲得新的系統(tǒng)軟件,將新的系統(tǒng)軟件更換原來的系統(tǒng)軟件。采用本方法進(jìn)行固件在線升級(jí),由于整個(gè)程序可以出廠時(shí)一次燒錄完成,簡化了出廠寫程序操作,同時(shí)由于正常啟動(dòng)就已經(jīng)工作在工作區(qū),縮短了程序的啟動(dòng)時(shí)間。
文檔編號(hào)G06F9/445GK102722384SQ201210165819
公開日2012年10月10日 申請(qǐng)日期2012年5月25日 優(yōu)先權(quán)日2012年5月25日
發(fā)明者李元謀, 李耀威, 王彥偉, 王志波, 許建銳, 鄧永堅(jiān), 郭小東 申請(qǐng)人:深圳市共進(jìn)電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
泰州市| 阿拉善盟| 新泰市| 靖边县| 乌恰县| 临桂县| 常熟市| 门头沟区| 礼泉县| 富顺县| 腾冲县| 平遥县| 台北市| 从江县| 秭归县| 门头沟区| 垦利县| 巴里| 尤溪县| 北票市| 惠东县| 襄城县| 太保市| 武功县| 徐州市| 获嘉县| 临城县| 怀集县| 焦作市| 松潘县| 砚山县| 秭归县| 黑龙江省| 山东| 鹿邑县| 塔河县| 当阳市| 汽车| 安吉县| 天镇县| 威远县|