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

一種u-boot啟動(dòng)過(guò)程中Linux基址動(dòng)態(tài)更新方法及系統(tǒng)的制作方法

文檔序號(hào):9765818閱讀:479來(lái)源:國(guó)知局
一種u-boot啟動(dòng)過(guò)程中Linux基址動(dòng)態(tài)更新方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及Linux應(yīng)用領(lǐng)域,特別是涉及一種U-boot啟動(dòng)過(guò)程中Linux基址動(dòng)態(tài)更新的方法及系統(tǒng)。
【背景技術(shù)】
[0002]采用u-boot引導(dǎo)Linux的嵌入式產(chǎn)品,一般通過(guò)引導(dǎo)腳本來(lái)自動(dòng)引導(dǎo)Linux。引導(dǎo)腳本一般負(fù)責(zé)把Linux程序從保存在flash的基址處搬移到內(nèi)存中,然后跳轉(zhuǎn)到內(nèi)存中執(zhí)行Linux程序?,F(xiàn)有技術(shù)中,Linux-base通常需要在代碼中根據(jù)產(chǎn)品規(guī)格,在u-boot編譯前靜態(tài)配置寫死。每款產(chǎn)品都要做配置,容易出錯(cuò),維護(hù)麻煩。

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

[0003]鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種u-boot啟動(dòng)過(guò)程中Linux基址動(dòng)態(tài)更新方法及系統(tǒng),用于解決現(xiàn)有技術(shù)中不能動(dòng)態(tài)更新Linux基址,而需要針對(duì)每款產(chǎn)品做Linux基址的靜態(tài)配置的問(wèn)題。
[0004]為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種u-boot啟動(dòng)過(guò)程中Linux基址動(dòng)態(tài)更新方法,包括:預(yù)先設(shè)定u-boot程序和Linux程序的約束關(guān)系;在u-boot程序啟動(dòng)過(guò)程中動(dòng)態(tài)解析flash基址;根據(jù)所述flash基址和所述約束關(guān)系,計(jì)算Linux基址;將所述Linux基址更新到環(huán)境變量中。
[0005]于本發(fā)明的一具體實(shí)施例中,所述預(yù)先設(shè)定u和Linux程序的約束關(guān)系的步驟包括:將Linux程序和u-boot程序保存在同一flash中;其中,u-boot程序從flash基址處開(kāi)始保存,Linux程序在相對(duì)flash基址的固定偏移0x100000處開(kāi)始保存。
[0006]于本發(fā)明的一具體實(shí)施例中,在u-boot程序啟動(dòng)過(guò)程中動(dòng)態(tài)解析flash基址的步驟包括:在所述u-boot程序啟動(dòng)過(guò)程中,將所述u-boot程序從flash搬移到內(nèi)存的內(nèi)存基址處。
[0007]于本發(fā)明的一具體實(shí)施例中,將所述u-boot程序從flash搬移到內(nèi)存的內(nèi)存基址處的步驟包括:將搬移到的內(nèi)存基址保存到全局?jǐn)?shù)據(jù)gd的重定位地址成員;將內(nèi)存基址和flash基址的差值保存到全局?jǐn)?shù)據(jù)gd的重定位偏移成員;根據(jù)flash基址計(jì)算公式解析所述flash基址;其中所述flash基址計(jì)算公式為:flash基址=(重定位地址-重定位偏移)。
[0008]于本發(fā)明的一具體實(shí)施例中,根據(jù)公式:Linux基址= (flash基址+0x100000),計(jì)算所述Linux基址。
[0009]為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明還提供一種u-boot啟動(dòng)過(guò)程中Linux基址動(dòng)態(tài)更新系統(tǒng),包括:預(yù)設(shè)模塊,用以預(yù)先設(shè)定u-boot程序和Linux程序的約束關(guān)系;解析模塊,用以在u-boot程序啟動(dòng)過(guò)程中動(dòng)態(tài)解析flash基址;計(jì)算模塊,用以根據(jù)所述flash基址和所述約束關(guān)系,計(jì)算Linux基址;更新模塊,用以將所述Linux基址更新到環(huán)境變量中。
[0010]于本發(fā)明的一具體實(shí)施例中,所述預(yù)設(shè)模塊還用以將Linux程序和U-boot程序保存在同一flash中;其中,u_boot程序從flash基址處開(kāi)始保存,Linux程序在相對(duì)flash基址的固定偏移Oxl OOOOO處開(kāi)始保存。
[0011]于本發(fā)明的一具體實(shí)施例中,所述解析模塊:用以在所述U-boot程序啟動(dòng)過(guò)程中,將所述u-boot程序從flash搬移到內(nèi)存的內(nèi)存基址處。
[0012]于本發(fā)明的一具體實(shí)施例中,將所述u-boot程序從flash搬移到內(nèi)存的內(nèi)存基址處的方式包括:將搬移到的內(nèi)存基址保存到全局?jǐn)?shù)據(jù)gd的重定位地址成員;將內(nèi)存基址和flash基址的差值保存到全局?jǐn)?shù)據(jù)gd的重定位偏移成員;根據(jù)flash基址計(jì)算公式解析所述flash基址;其中所述flash基址計(jì)算公式為:flash基址=(重定位地址-重定位偏移)。
[0013]于本發(fā)明的一具體實(shí)施例中,所述計(jì)算模塊根據(jù)公式:Linux基址=(flash基址+0x100000),計(jì)算所述Linux基址。
[OOM]如上所述,本發(fā)明的u-boot啟動(dòng)過(guò)程中Linux基址動(dòng)態(tài)更新方法及系統(tǒng),可預(yù)先設(shè)定u-boot程序和Linux程序的約束關(guān)系;在u-boot程序啟動(dòng)過(guò)程中動(dòng)態(tài)解析flash基址;根據(jù)所述flash基址和所述約束關(guān)系,計(jì)算Linux基址;將所述Linux基址更新到環(huán)境變量中。通過(guò)增加約束關(guān)系,實(shí)現(xiàn)在u-boot啟動(dòng)過(guò)程中對(duì)Linux基址進(jìn)行動(dòng)態(tài)更新,無(wú)需預(yù)先靜態(tài)配置,運(yùn)行靈活、簡(jiǎn)化配置、且降低系統(tǒng)的維護(hù)難度。
【附圖說(shuō)明】
[0015]圖1顯示為現(xiàn)有技術(shù)中Linux程序的引導(dǎo)流程示意圖。
[0016]圖2顯示為本發(fā)明的U-boot啟動(dòng)過(guò)程中Linux基址動(dòng)態(tài)更新方法在一具體實(shí)施例中的流程示意圖。
[0017]圖3顯示為應(yīng)用為本發(fā)明的u-boot啟動(dòng)過(guò)程中Linux基址動(dòng)態(tài)更新方法或系統(tǒng)的一具體實(shí)施例的Linux程序引導(dǎo)的流程示意圖。
[00?8]圖4顯示為本發(fā)明的u-boo t啟動(dòng)過(guò)程中L i nux基址動(dòng)態(tài)更新系統(tǒng)在一具體實(shí)施例中的流程示意圖。
[0019]元件標(biāo)號(hào)說(shuō)明
[°02°] IU-boot啟動(dòng)過(guò)程中Linux基址動(dòng)態(tài)更新系統(tǒng)
[0021]11預(yù)設(shè)模塊
[0022]12解析模塊
[0023]13計(jì)算模塊
[0024]14更新模塊
[0025]Sll ?S14 步驟
【具體實(shí)施方式】
[0026]以下通過(guò)特定的具體實(shí)例說(shuō)明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說(shuō)明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過(guò)另外不同的【具體實(shí)施方式】加以實(shí)施或應(yīng)用,本說(shuō)明書中的各項(xiàng)細(xì)節(jié)也可以基于不同觀點(diǎn)與應(yīng)用,在沒(méi)有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。需說(shuō)明的是,在不沖突的情況下,以下實(shí)施例及實(shí)施例中的特征可以相互組合。
[0027]需要說(shuō)明的是,以下實(shí)施例中所提供的圖示僅以示意方式說(shuō)明本發(fā)明的基本構(gòu)想,遂圖示中僅顯示與本發(fā)明中有關(guān)的組件而非按照實(shí)際實(shí)施時(shí)的組件數(shù)目、形狀及尺寸繪制,其實(shí)際實(shí)施時(shí)各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。
[0028]采用U-boot引導(dǎo)Linux的嵌入式產(chǎn)品,一般通過(guò)引導(dǎo)腳本來(lái)自動(dòng)引導(dǎo)Linux。引導(dǎo)腳本一般負(fù)責(zé)把Linux程序從保存在flash的基址處搬移到內(nèi)存中,然后跳轉(zhuǎn)到內(nèi)存中執(zhí)行Linux程序。現(xiàn)有技術(shù)的執(zhí)行過(guò)程通常為如圖1所示,具體為:U-boot啟動(dòng),獲取環(huán)境變量Linux-base (Linux基址),其中Linux基址為OXf0100000 ;以Linux基址為參數(shù),調(diào)用引導(dǎo)腳本,引導(dǎo)腳本搬移Linux,并跳轉(zhuǎn)執(zhí)行Linux。
[0029]請(qǐng)參閱圖2,顯示為本發(fā)明的u-boot啟動(dòng)過(guò)程中Linux基址動(dòng)態(tài)更新方法在一具體實(shí)施例中的流程示意圖。
[°03°] 所述u-boot啟動(dòng)過(guò)程中Linux基址動(dòng)態(tài)更新方法,包括:
[°031 ] SI 1:預(yù)先設(shè)定u-boot程序和Linux程序的約束關(guān)系;優(yōu)選的,所述預(yù)先設(shè)定u和Linux程序的約束關(guān)系的步驟包括:將Linux程序和u-boot程序保存在同一 flash中;其中,u-boot程序從flash基址處開(kāi)始保存,Linux程序在相對(duì)flash基址的固定偏移0x100000處開(kāi)始保存。
[0032]S12:在u-boot程序啟動(dòng)過(guò)程中動(dòng)態(tài)解析flash基址;優(yōu)選的,在u-boot程序啟動(dòng)過(guò)程中動(dòng)態(tài)解析flash基址的步驟包括:在所述u-boot程序啟動(dòng)過(guò)程中,將所述u_boot程序從flash搬移到內(nèi)存的內(nèi)存基址處。
[0033]S13:根據(jù)所述flash基址和所述約束關(guān)系,計(jì)算Linux基址;優(yōu)選的,將所述u-boot程序從flash搬移到內(nèi)存的內(nèi)存基址處的步驟包括:將搬移到的內(nèi)存基址保存到全局?jǐn)?shù)據(jù)gd的重定位地址成員;將內(nèi)存基址和flash基址的差值保存到全局?jǐn)?shù)據(jù)gd的重定位偏移成員;根據(jù)flash基址計(jì)算公式解析所述fla
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
琼中| 德惠市| 武定县| 仪征市| 秦安县| 汪清县| 台安县| 长丰县| 石楼县| 通江县| 清徐县| 新沂市| 黔江区| 海口市| 靖西县| 仁怀市| 古浪县| 乐清市| 西乡县| 拜泉县| 拜城县| 团风县| 镇宁| 卓资县| 平利县| 盐池县| 双江| 镇平县| 清涧县| 安多县| 安阳县| 盘山县| 长治县| 二手房| 泸西县| 磴口县| 吉木萨尔县| 贵港市| 赞皇县| 鄂尔多斯市| 抚州市|