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

一種固件安全升級(jí)方法及路由設(shè)備的制造方法

文檔序號(hào):9727688閱讀:517來(lái)源:國(guó)知局
一種固件安全升級(jí)方法及路由設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,特別是涉及一種固件安全升級(jí)方法及路由設(shè)備。
【背景技術(shù)】
[0002]目前openwrt路由器和傳統(tǒng)路由器固件升級(jí)方法基本類(lèi)似,可以通過(guò)串口或者web服務(wù)器將固件首先讀入到SDRAM當(dāng)中,然后擦除flash,將固件寫(xiě)入到flash當(dāng)中,最后重啟路由器。
[0003]與傳統(tǒng)路由器不同,openwrt的flash中的固件區(qū)域分為SquashFS和JFFS2兩種文件系統(tǒng),其中SquashFS是只讀區(qū)域,而JFFS2具有可讀寫(xiě)的特性。
[0004]OpenWrt的包管理提供了一個(gè)完全可寫(xiě)的文件系統(tǒng)。用戶(hù)可以從遠(yuǎn)程倉(cāng)庫(kù)下載ipk,并安裝到路由器當(dāng)中,擴(kuò)展自己的功能,這點(diǎn)與安卓手機(jī)在應(yīng)用市場(chǎng)下載apk應(yīng)用相類(lèi)似。利用這個(gè)特性用戶(hù)可以便捷地升級(jí)部分功能,然而在軟件快速迭代的現(xiàn)在,用戶(hù)還是有相當(dāng)多地場(chǎng)景是需要升級(jí)整個(gè)固件的。
[0005]在目前絕大多數(shù)的路由器中,是不支持固件升級(jí)失敗回退功能的,用戶(hù)在升級(jí)固件的過(guò)程中,往往是小心翼翼.這限制了我司的固件快速推廣.同時(shí)用戶(hù)一旦因?yàn)橐馔馇闆r,固件升級(jí)失敗,由于無(wú)法再次進(jìn)入web配置頁(yè)面,導(dǎo)致用戶(hù)路由器只能返廠維修或者自認(rèn)倒霉。
[0006]當(dāng)前針對(duì)固件安全升級(jí),解決方案主要是通過(guò)在flash中劃定一塊區(qū)域存放備份固件,當(dāng)升級(jí)過(guò)程中發(fā)生意外情況,要么將備份區(qū)域的固件拷貝到uboot的啟動(dòng)位置,要么將uboo t的啟動(dòng)位置換到備份固件的首地址。
[0007]總之,當(dāng)前方案都會(huì)對(duì)flash空間造成一定的浪費(fèi)。

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

[0008]本發(fā)明的目的是提供一種安全的固件升級(jí)的方法,能夠保證用戶(hù)升級(jí)順利完成,同時(shí)flash存儲(chǔ)空間可以正確釋放。
[0009]本發(fā)明提供的技術(shù)方案如下:
[0010]本發(fā)明提供一種固件安全升級(jí)方法,包括:S10保存固件至flash中;S20從flash中將固件讀入到SDRAM(Synchronous Dynamic Random Access Memory,同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器)中;S30升級(jí)固件;S40當(dāng)固件升級(jí)完成后,清理flash空間。
[0011]本發(fā)明還提供另一種固件安全升級(jí)方法,包括S00:判斷flash的存儲(chǔ)空間是否大于固件所需空間;若判斷結(jié)果為否,則清理部分flash空間;否則,執(zhí)行步驟S20; S10保存固件至f lash中;S20從f lash中將固件讀入到SDRAM中;S30升級(jí)固件;S40當(dāng)固件升級(jí)完成后,清理flash空間。
[0012]進(jìn)一步優(yōu)選的,所述步驟S10保存固件至flash中是指將固件分段式地保存到flash中。
[0013]本發(fā)明還提供另一種固件安全升級(jí)方法,包括S00:判斷flash的存儲(chǔ)空間是否大于固件所需空間;若判斷結(jié)果為否,則清理部分flash空間;否則,執(zhí)行步驟S20;S10將固件分段式地保存到flash中;S12判斷固件完整性;若判斷為否,則返回執(zhí)行步驟S10;否則,將flag區(qū)域中的標(biāo)志位置1,保存固件首地址;S20從flash中將固件讀入到SDRAM中;S30升級(jí)固件;S40當(dāng)固件升級(jí)完成后,清理flash空間。
[0014]本發(fā)明還提供另一種固件安全升級(jí)方法,包括S00:判斷flash的存儲(chǔ)空間是否大于固件所需空間;若判斷結(jié)果為否,則清理部分flash空間;否則,執(zhí)行步驟S20;S10將固件分段式地保存到flash中;S12判斷固件完整性;若判斷為否,則返回執(zhí)行步驟S10;否則,將flag區(qū)域中的標(biāo)志位置1,保存固件首地址;S14讀取并判斷flag標(biāo)志位;若flag的標(biāo)志位為1,執(zhí)行步驟S20;若flag的標(biāo)志位為0,則讀取flag地址位,進(jìn)一步判斷所述地址位是否為有效地址位;當(dāng)flag地址位為有效地址,清理flash空間;S20從flash中將固件讀入到SDRAM中;S30升級(jí)固件;S40當(dāng)固件升級(jí)完成后,清理flash空間。
[0015]本發(fā)明還提供另一種固件安全升級(jí)方法,包括S00:判斷flash的存儲(chǔ)空間是否大于固件所需空間;若判斷結(jié)果為否,則清理部分flash空間;否則,執(zhí)行步驟S20;S10將固件分段式地保存到flash中;S12判斷固件完整性;若判斷為否,則返回執(zhí)行步驟S10;否則,將flag區(qū)域中的標(biāo)志位置1,保存固件首地址;S14讀取并判斷flag標(biāo)志位;若flag的標(biāo)志位為1,執(zhí)行步驟S20;若flag的標(biāo)志位為0,則讀取flag地址位,進(jìn)一步判斷所述地址位是否為有效地址位;當(dāng)flag地址位為有效地址,清理flash空間;S16判斷清理flash空間是否完畢;若是,升級(jí)結(jié)束;否則,返回執(zhí)行步驟S14;S20從flash中將固件讀入到SDRAM中;S30升級(jí)固件;S40當(dāng)固件升級(jí)完成后,清理flash空間。
[0016]進(jìn)一步優(yōu)選的,所述步驟S30升級(jí)固件還包括:判斷升級(jí)是否完成;若是,執(zhí)行步驟S40 ;否則,重復(fù)執(zhí)行步驟S14。
[0017]進(jìn)一步優(yōu)選的,所述步驟S40當(dāng)固件升級(jí)完成后,清理flash空間還包括:將flag標(biāo)志位置0,返回執(zhí)行步驟S16。
[0018]本發(fā)明還提供一種路由設(shè)備,應(yīng)用上述固件安全升級(jí)方法。
[0019]與現(xiàn)有技術(shù)相比,本發(fā)明利用openwrt的JFFS2文件系統(tǒng)的可讀寫(xiě)特性,在升級(jí)過(guò)程中在flash中暫時(shí)保存固件,在升級(jí)完成后自動(dòng)刪除固件.保證了升級(jí)過(guò)程可以順利完成,同時(shí)flash空間可以正確釋放。
【附圖說(shuō)明】
[0020]下面將以明確易懂的方式,結(jié)合【附圖說(shuō)明】?jī)?yōu)選實(shí)施方式,對(duì)一種固件安全升級(jí)方法及路由設(shè)備的上述特性、技術(shù)特征、優(yōu)點(diǎn)及其實(shí)現(xiàn)方式予以進(jìn)一步說(shuō)明。
[0021]圖1為本發(fā)明一種固件安全升級(jí)方法的步驟示意圖;
[0022]圖2為本發(fā)明一種固件安全升級(jí)方法的固件的flash分布圖;
[0023]圖3為本發(fā)明一種固件安全升級(jí)方法的固件在flash中保存形式圖;
[0024]圖4為本發(fā)明一種固件安全升級(jí)方法的流程圖。
【具體實(shí)施方式】
[0025]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)照【附圖說(shuō)明】本發(fā)明的【具體實(shí)施方式】。顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖,并獲得其他的實(shí)施方式。
[0026]為使圖面簡(jiǎn)潔,各圖中只示意性地表示出了與本發(fā)明相關(guān)的部分,它們并不代表其作為產(chǎn)品的實(shí)際結(jié)構(gòu)。另外,以使圖面簡(jiǎn)潔便于理解,在有些圖中具有相同結(jié)構(gòu)或功能的部件,僅示意性地繪示了其中的一個(gè),或僅標(biāo)出了其中的一個(gè)。在本文中,“一個(gè)”不僅表示“僅此一個(gè)”,也可以表示“多于一個(gè)”的情形。
[0027]圖1為本發(fā)明一種固件安全升級(jí)方法的步驟示意圖,作為本發(fā)明的一個(gè)具體實(shí)施例,如圖1所示,包括:S10保存固件至flash中;S20從flash中將固件讀入到SDRAM中;S30升級(jí)固件;S40當(dāng)固件升級(jí)完成后,清理flash空間。
[0028]對(duì)上述實(shí)施例進(jìn)行改進(jìn),得到另一種固件安全升級(jí)方法,包括S00:判斷flash的存儲(chǔ)空間是否大于固件所需空間;若判斷結(jié)果為否,則清理部分flash空間;否則,執(zhí)行步驟S20 ; S10保存固件至flash中;S20從flash中將固件讀入到SDRAM中;S30升級(jí)固件;S40當(dāng)固件升級(jí)完成后,清理flash空間。
[0029]進(jìn)一步優(yōu)選的,所述步驟S10保存固件至flash中是指將固件分段式地保存到flash中。
[°03°]圖2為本發(fā)明一種固件安全升級(jí)方法的固件的flash分布圖。如圖2所不:
[0031 ] flash 被分為5 個(gè)區(qū)域:uboot; uboot -env;factory;firmware;config.
[0032]Firmware被分為kernel和rootfs兩個(gè)區(qū)域。其中rootfs又可以分為SquashFS和JFFS2兩種文件類(lèi)型。
[0033]用戶(hù)通過(guò)串口或者web頁(yè)面將用于升級(jí)的臨時(shí)備份固件分段式地保存到flash中的rootfs_data區(qū)域,這個(gè)區(qū)域的文件類(lèi)型是JFFS2類(lèi)型,可以自由地擦寫(xiě)。標(biāo)志位flag將會(huì)保存在uboot-env區(qū)域中,供uboot來(lái)讀取。
[0034]在flag區(qū)域中將會(huì)保存兩個(gè)數(shù)據(jù):
[0035]Bool update-prepared//用于保存固件是否需要升級(jí)的標(biāo)志位
[0036]Unsigned int address//用于保存固件在flash中的首地址
[0
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
垫江县| 阜南县| 六盘水市| 锦屏县| 马尔康县| 韶关市| 万安县| 会东县| 富阳市| 广饶县| 屯门区| 沙湾县| 武宁县| 喜德县| 萨嘎县| 兴业县| 弋阳县| 福州市| 县级市| 邹城市| 遂昌县| 清镇市| 汕尾市| 灵丘县| 洛扎县| 海阳市| 息烽县| 若尔盖县| 共和县| 屏东市| 蓬莱市| 定襄县| 乌拉特前旗| 巴楚县| 永靖县| 哈巴河县| 宁强县| 黄骅市| 新巴尔虎左旗| 宾川县| 汉阴县|