[發(fā)明專利]控制Uboot進(jìn)入下載操作模式的方法及系統(tǒng)在審
| 申請(qǐng)?zhí)枺?/td> | 201110397986.7 | 申請(qǐng)日: | 2011-12-05 |
| 公開(公告)號(hào): | CN103136015A | 公開(公告)日: | 2013-06-05 |
| 發(fā)明(設(shè)計(jì))人: | 韋志彤 | 申請(qǐng)(專利權(quán))人: | 深圳長城開發(fā)科技股份有限公司 |
| 主分類號(hào): | G06F9/445 | 分類號(hào): | G06F9/445 |
| 代理公司: | 深圳市隆天聯(lián)鼎知識(shí)產(chǎn)權(quán)代理有限公司 44232 | 代理人: | 劉抗美;周惠來 |
| 地址: | 518000 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 控制 uboot 進(jìn)入 下載 操作 模式 方法 系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明涉及BootLoader的實(shí)現(xiàn),尤其涉及對(duì)Uboot進(jìn)入下載操作模式的控制。
背景技術(shù)
BootLoader是在操作系統(tǒng)內(nèi)核運(yùn)行起來之前運(yùn)行的一段小程序,通過這段小程序,可初始化硬件設(shè)備、建立內(nèi)存空間映射圖,為操作系統(tǒng)啟動(dòng)提供基本的運(yùn)行環(huán)境。在嵌入式系統(tǒng)中,整個(gè)軟件系統(tǒng)的加載啟動(dòng)任務(wù)都是由BootLoader來完成的。BootLoader有很多種的實(shí)現(xiàn)方式,其中Uboot(universal?Boot?Loader)是一種開源的且能支持多種目標(biāo)平臺(tái)的bootLoader,目前廣泛應(yīng)用在嵌入式系統(tǒng)開發(fā)中。
以機(jī)頂盒為例,?BootLoader也稱為機(jī)頂盒下載器,主要用于對(duì)軟件進(jìn)行下載升級(jí)更新,可分為Booter(啟動(dòng)加載)和Loader(下載)兩個(gè)模塊。一般地,可將只運(yùn)行Booter的狀態(tài)稱為Uboot的啟動(dòng)加載模式,而將運(yùn)行Loader的狀態(tài)稱為Uboot的下載操作模式,因此,Uboot進(jìn)入下載操作模式也就是指啟動(dòng)Loader。在Uboot中,Booter一般存儲(chǔ)在OTP(一次性編程)區(qū),在機(jī)頂盒上電時(shí)最先載入,負(fù)責(zé)系統(tǒng)的啟動(dòng),并對(duì)Loader和應(yīng)用軟件的代碼進(jìn)行相關(guān)校驗(yàn);Loader存儲(chǔ)在寫保護(hù)Flash區(qū)域(RO區(qū)域,只讀區(qū)域),負(fù)責(zé)應(yīng)用軟件的下載升級(jí)操作,用來升級(jí)機(jī)頂盒軟件且獨(dú)立與應(yīng)用軟件的代碼。
現(xiàn)有的控制Uboot進(jìn)入下載操作模式的系統(tǒng)架構(gòu),參見圖1,機(jī)頂盒的軟件系統(tǒng)是只有一個(gè)Kernel(內(nèi)核)和Rootfs(文件系統(tǒng))及App(應(yīng)用程序)的單操作系統(tǒng)結(jié)構(gòu),Booter和Loader放置在一起,并且是在Booter中直接啟動(dòng)Loader,以完成數(shù)據(jù)的下載升級(jí)功能。參見圖2所示,Booter啟動(dòng)Loader的過程中不涉及到操作系統(tǒng)的運(yùn)行,該過程的具體的流程大致包括:通電開機(jī),運(yùn)行啟動(dòng)Uboot(也就是運(yùn)行Booter)后,CPU首先運(yùn)行Loader,如果Loader被破壞,系統(tǒng)將無法啟動(dòng);如Loader沒有被破壞,則在Loader中檢測是否有升級(jí)需求;如有升級(jí)要求,則直接啟動(dòng)升級(jí)功能,進(jìn)行下載更新;否則的話,啟動(dòng)操作系統(tǒng),執(zhí)行有關(guān)App。
可見,現(xiàn)有的這種系統(tǒng)架構(gòu),在從Booter中引導(dǎo)啟動(dòng)Loader進(jìn)行數(shù)據(jù)下載接收功能的過程中,操作系統(tǒng)并未啟動(dòng)。因此,在進(jìn)行數(shù)據(jù)接收下載時(shí)所需的相關(guān)驅(qū)動(dòng)(demux/demod/tuner),都需在Loader模塊中得到實(shí)現(xiàn)。這就引發(fā)了一個(gè)問題:如果這些驅(qū)動(dòng)較為復(fù)雜,則重新在Loader中實(shí)現(xiàn)勢必會(huì)帶來較大的工作量,從而影響到諸如機(jī)頂盒之類的嵌入式系統(tǒng)的軟件系統(tǒng)的開發(fā)效率。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于克服上述現(xiàn)有技術(shù)存在的不足,而提出一種控制Uboot進(jìn)入下載操作模式的方法及系統(tǒng),能夠省去在Loader中實(shí)現(xiàn)相關(guān)驅(qū)動(dòng)的必要,從而提高嵌入式產(chǎn)品的軟件系統(tǒng)的開發(fā)效率。
本發(fā)明針對(duì)上述技術(shù)問題而提出的技術(shù)方案包括,提出一種控制Uboot進(jìn)入下載操作模式的方法,包括構(gòu)建一Booter以及一第一操作系統(tǒng),該第一操作系統(tǒng)包括第一內(nèi)核、第一文件系統(tǒng)以及用戶App程序;還包括:構(gòu)建一第二操作系統(tǒng),其包括第二內(nèi)核、第二文件系統(tǒng)以及一Loader,該第二內(nèi)核能夠?qū)⒃揕oader作為一個(gè)App程序進(jìn)行加載;在開機(jī)后,該Booter判斷是否有升級(jí)要求,如果有,啟動(dòng)該第二操作系統(tǒng),通過加載該Loader進(jìn)行升級(jí)操作;如果沒有,啟動(dòng)該第一操作系統(tǒng)。
在啟動(dòng)該第一操作系統(tǒng)時(shí),如果第一內(nèi)核啟動(dòng)成功,則正常加載相應(yīng)的第一文件系統(tǒng)和用戶App程序;如果第一內(nèi)核啟動(dòng)失敗,則轉(zhuǎn)為啟動(dòng)該第二操作系統(tǒng),通過加載該Loader進(jìn)行升級(jí)操作。
在該啟動(dòng)加載模塊的啟動(dòng)bootm參數(shù)中,攜帶有該第一內(nèi)核和第二內(nèi)核的地址。
該Booter直接訪問存儲(chǔ)地址以檢測一升級(jí)標(biāo)識(shí)符。
在該Booter中設(shè)有一內(nèi)核啟動(dòng)單元,該內(nèi)核啟動(dòng)單元根據(jù)該升級(jí)標(biāo)識(shí)符來選擇性地啟動(dòng)第一內(nèi)核或第二內(nèi)核。
在該第一內(nèi)核的配置文件中指定該第一文件系統(tǒng)的根地址;在該第二內(nèi)核的配置文件中指定該第二文件系統(tǒng)的根地址。
在該第一文件系統(tǒng)的配置文件中掛載該用戶App程序;在該第二文件系統(tǒng)的配置文件中掛載該Loader。
將該Booter和第二操作系統(tǒng)存儲(chǔ)在寫保護(hù)存儲(chǔ)區(qū)域中。
選用Flash存儲(chǔ)器,將該Booter、第一操作系統(tǒng)和第二操作系統(tǒng)存儲(chǔ)在該Flash存儲(chǔ)器的三個(gè)區(qū)域中。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于深圳長城開發(fā)科技股份有限公司,未經(jīng)深圳長城開發(fā)科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110397986.7/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 一種基于uboot實(shí)現(xiàn)用戶界面圖形顯示的方法
- 一種在Uboot中實(shí)現(xiàn)觸摸屏驅(qū)動(dòng)的方法
- 一種嵌入式操作系統(tǒng)啟動(dòng)的方法及裝置
- Uboot升級(jí)方法、系統(tǒng)及終端設(shè)備
- 一種基于ubl的uboot解壓縮方法及系統(tǒng)
- 網(wǎng)關(guān)服務(wù)器主備系統(tǒng)恢復(fù)方法
- 一種uboot下網(wǎng)頁升級(jí)系統(tǒng)的方法
- 一種uboot下恢復(fù)系統(tǒng)的方法
- 一種uboot啟動(dòng)方法、系統(tǒng)、設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 系統(tǒng)uboot損壞檢測及恢復(fù)方法





