国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種確定軟件的內(nèi)存占用的方法和系統(tǒng)的制作方法

      文檔序號(hào):6564210閱讀:210來源:國知局
      專利名稱:一種確定軟件的內(nèi)存占用的方法和系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及嵌入式系統(tǒng)技術(shù)領(lǐng)域,特別是涉及一種確定嵌入式系統(tǒng)中的軟 件的內(nèi)存占用的方法和系統(tǒng)。
      背景技術(shù)
      在工程上的單板(如通信單板等)中,經(jīng)常在單板上使用簡化的操作系統(tǒng), 即嵌入式系統(tǒng),完成單板上單一的功能。
      嵌入式系統(tǒng)中的軟件包括引導(dǎo)(BOOT)軟件和應(yīng)用(APP)軟件。 一般 地,引導(dǎo)軟件保存在只讀存儲(chǔ)器中,應(yīng)用軟件保存在Flash閃存等存儲(chǔ)器中。 在嵌入式系統(tǒng)上電后,首先運(yùn)行引導(dǎo)軟件,由引導(dǎo)軟件完成CPU等硬件的初 始化,再把應(yīng)用軟件從Flash閃存讀出,復(fù)制到內(nèi)存中,應(yīng)用軟件在內(nèi)存中保 存一份映像,然后CPU從引導(dǎo)軟件跳轉(zhuǎn)到應(yīng)用軟件在內(nèi)存中的映像起始地址, 從而引導(dǎo)內(nèi)存中的應(yīng)用軟件映像運(yùn)行。
      現(xiàn)有技術(shù)中引導(dǎo)軟件是將應(yīng)用軟件復(fù)制到內(nèi)存中的一個(gè)固定地址。應(yīng)用軟 件在內(nèi)存中映像占用內(nèi)存的地址空間為從該固定地址到內(nèi)存最高地址,內(nèi)存基 地址到該固定地址的空間為應(yīng)用軟件的可用內(nèi)存。
      在物理內(nèi)存大小一定的條件下,由于應(yīng)用軟件在內(nèi)存中映像的地址固定, 所以可用內(nèi)存大小也固定。
      隨著應(yīng)用軟件功能的增加,應(yīng)用軟件所需的內(nèi)存越來越多,在硬件不變的 情^L下,由于可用內(nèi)存大小固定,應(yīng)用軟件內(nèi)存將不足,從而導(dǎo)致應(yīng)用軟件無 法運(yùn)行。或者,雖然應(yīng)用軟件所需的內(nèi)存足夠,但是應(yīng)用軟件的大小超過了上 述固定地址到內(nèi)存最高地址空間的大小,即預(yù)留給應(yīng)用軟件自身的映像的內(nèi)存 不夠,則工程上單板的嵌入式系統(tǒng)引導(dǎo)軟件將無法引導(dǎo)此應(yīng)用軟件,這樣不得 不更換引導(dǎo)軟件,或者應(yīng)用軟件,甚至單板,造成成本增加,人力物力浪費(fèi)。

      發(fā)明內(nèi)容
      本發(fā)明所要解決的問題是提供一種確定軟件的內(nèi)存占用的方法和系統(tǒng),其節(jié)約了成本,不會(huì)造成人力物力浪費(fèi)。
      為實(shí)現(xiàn)本發(fā)明目的而提供的一種確定軟件的內(nèi)存占用的方法,包括下列步驟.-
      步驟A,通過編譯后應(yīng)用軟件中代碼大小,配置應(yīng)用軟件尺寸和應(yīng)用軟件在內(nèi)存中的布局;
      步驟B,依據(jù)應(yīng)用軟件的尺寸確定應(yīng)用軟件在內(nèi)存中映像的目標(biāo)起始地址,按所配置的應(yīng)用軟件在內(nèi)存中的布局,引導(dǎo)應(yīng)用軟件的有效代碼運(yùn)行。
      所述步驟A中配置應(yīng)用軟件尺寸,具體包括下列步驟
      修改應(yīng)用軟件的生成配置文件,裁減編譯應(yīng)用軟件填充到應(yīng)用軟件映像中的無效二進(jìn)制代碼。
      所述應(yīng)用軟件尺寸為編譯后的應(yīng)用軟件代碼大小除1024取整后,乘以1024。
      所述步驟A中配置應(yīng)用軟件在內(nèi)存中的布局為確定映像文件映射到內(nèi)存的偏移段起始地址和代碼段起始地址。
      所述確定映像文件映射到內(nèi)存的偏移段起始地址為是依據(jù)配置應(yīng)用軟件尺寸來確定;應(yīng)用軟件代碼段起始地址為映像起始地址為內(nèi)存最高地址,去掉 應(yīng)用軟件大小。
      所述步驟B中引導(dǎo)軟件依據(jù)應(yīng)用軟件的尺寸確定應(yīng)用軟件在內(nèi)存中映像的目標(biāo)起始地址,具體包括下列步驟
      步驟Bl,根據(jù)內(nèi)存最高地址和保存在存儲(chǔ)器中的應(yīng)用軟件的尺寸確定應(yīng)用軟件在內(nèi)存中映像的目標(biāo)起始地址;
      步驟B2,按所配置的應(yīng)用軟件在內(nèi)存中的布局,引導(dǎo)應(yīng)用軟件的有效代碼運(yùn)行。
      為實(shí)現(xiàn)本發(fā)明目的還提供一種確定軟件的內(nèi)存占用的系統(tǒng),包括占用內(nèi)存 確定單元,內(nèi)存映像單元,其中
      所述占用內(nèi)存確定單元,用于通過編譯后應(yīng)用軟件中代碼大小,配置應(yīng)用軟件尺寸和應(yīng)用軟件在內(nèi)存中的布局;
      內(nèi)存映像單元,用于依據(jù)應(yīng)用軟件的尺寸確定應(yīng)用軟件在內(nèi)存中映像的目標(biāo)起始地址,按所配置的應(yīng)用軟件在內(nèi)存中的布局,引導(dǎo)應(yīng)用軟件的有效代碼 運(yùn)行。
      所述的配置應(yīng)用軟件尺寸為修改應(yīng)用軟件的生成配置文件,裁減編譯應(yīng)用 軟^^填充到應(yīng)用軟件映像中的無效二進(jìn)制代碼;所述配置應(yīng)用軟件在內(nèi)存中的 布局為確定映像文件映射到內(nèi)存的偏移段起始地址和代碼段起始地址。
      所述軟件為單板的嵌入式系統(tǒng)中的應(yīng)用軟件。
      所述依據(jù)應(yīng)用軟件的尺寸確定應(yīng)用軟件在內(nèi)存中映像的目標(biāo)起始地址為 根據(jù)內(nèi)存最高地址和保存在存儲(chǔ)器中的應(yīng)用軟件的尺寸,由內(nèi)存最高地址,去 掉應(yīng)用軟件尺寸而得到。
      本發(fā)明的有益效果是本發(fā)明的一種確定軟件的內(nèi)存占用的方法和系統(tǒng), 通過依據(jù)應(yīng)用軟件的實(shí)際大小,動(dòng)態(tài)計(jì)算出應(yīng)用軟件在內(nèi)存中映像的目標(biāo)起始 地址,能充分減少應(yīng)用軟件不必要的內(nèi)存空間浪費(fèi),從而增加應(yīng)用軟件的可用 內(nèi)存;同時(shí),引導(dǎo)軟件可以自動(dòng)適應(yīng)不同大小的應(yīng)用軟件從而引導(dǎo)不同大小應(yīng) 用軟件運(yùn)行,在不改變硬件架構(gòu)和不增加硬件成本的條件下,解決了應(yīng)用軟件 可用內(nèi)存不足的問題和需要在工程上更換引導(dǎo)軟件甚至單板的問題,節(jié)約了成 本,不會(huì)造成人力物力浪費(fèi)。


      圖1是本發(fā)明的確定軟件的內(nèi)存占用的方法流程圖2是本發(fā)明實(shí)施例中應(yīng)用軟件文件確定軟件的內(nèi)存占用的示意圖3是本發(fā)明實(shí)施例中應(yīng)用軟件文件內(nèi)存占用示意圖4是本發(fā)明確定軟件的內(nèi)存占用的系統(tǒng)示意圖。
      具體實(shí)施例方式
      為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí) 施例,對(duì)本發(fā)明的一種確定軟件的內(nèi)存占用的方法和系統(tǒng)進(jìn)行進(jìn)一步詳細(xì)說 明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定 本發(fā)明。
      如圖1所示,下面進(jìn)一步詳細(xì)描述本發(fā)明的一種確定軟件的內(nèi)存占用的方法
      技術(shù)領(lǐng)域
      本發(fā)明實(shí)施例的一種確定軟件內(nèi)存占用的方法,以AM186CC CPU的嵌 入式系統(tǒng)40為例而進(jìn)行的說明,該嵌入式系統(tǒng)40的內(nèi)存為0x80000字節(jié)(十六進(jìn)制),編譯、連接軟件工具采用BC4.5和Paradigm。本領(lǐng)域普通技術(shù)人 員可以理解,該方法也可以適用于其他的單板的嵌入式系統(tǒng)40中。
      步驟S1OO,通過編譯后應(yīng)用軟件中代碼大小,配置應(yīng)用軟件尺寸和應(yīng)用軟件在內(nèi)存中的布局;
      確定應(yīng)用軟件尺寸為修改應(yīng)用軟件的生成配置文件,裁減編譯應(yīng)用軟件填充到應(yīng)用軟件映像中的無效二進(jìn)制代碼。
      以十六進(jìn)制方式打開應(yīng)用軟件文件,可以發(fā)現(xiàn)二進(jìn)制文件的最后部分都是OxFF。這些OxFF即為填充代碼,填充代碼之前的代碼為有效代碼。當(dāng)填充代碼最少時(shí)應(yīng)用軟件文件尺寸即為最小。應(yīng)用軟件文件最小時(shí),文件尺寸就是最 佳文件大小。
      較佳地,應(yīng)用軟件文件最佳尺寸的確定方法符合式(1),即應(yīng)用軟件文件尺寸為編譯后的應(yīng)用軟件代碼大小除1024取整后,乘以1024。
      其中,代碼大小為應(yīng)用軟件編譯后實(shí)際占用空間大小。
      APP軟件文件尺寸==(APP軟件編譯后代碼大小/1024 ) *1024 ........................................................................式(1)
      其中(APP軟件編譯后代碼大小/1024)的值取整。
      確定應(yīng)用軟件在內(nèi)存中的布局為確定映像文件映射到內(nèi)存的偏移段起始地址和代碼段起始地址。
      確定映像文件映射到內(nèi)存的偏移段起始地址是依據(jù)確定應(yīng)用軟件尺寸來確定;
      應(yīng)用軟件代碼段起始地址的方法依據(jù)式(2),即映像起始地址為內(nèi)存最高地址,去掉應(yīng)用軟件尺寸。
      映像起始地址-內(nèi)存最高地址-APP軟件尺寸...............式(2)
      步驟S200,由引導(dǎo)軟件依據(jù)應(yīng)用軟件的尺寸確定應(yīng)用軟件在內(nèi)存中映像的目標(biāo)起始地址,按所配置的應(yīng)用軟件在內(nèi)存中的布局,引導(dǎo)應(yīng)用軟件的有效代碼運(yùn)行。
      引導(dǎo)軟件根據(jù)保存在Flash閃存中的應(yīng)用軟件尺寸確定應(yīng)用軟件在內(nèi)存中映像的目標(biāo)起始地址。
      確定目標(biāo)起始地址的方法與確定應(yīng)用軟件映像文件映射到內(nèi)存的絕對(duì)起
      始:池址的方法相同,即利用式(2)確定,引導(dǎo)軟件首先得到應(yīng)用軟件的尺寸, 將內(nèi)存最高地址減去應(yīng)用軟件的大小得到應(yīng)用軟件在內(nèi)存中映像的目標(biāo)起始 地址,然后,按所配置的應(yīng)用軟件在內(nèi)存中的布局,引導(dǎo)應(yīng)用軟件的有效代碼 運(yùn)行。
      下面舉一例子說明本發(fā)明的確定軟件的內(nèi)存占用的方法。
      首先,通過編譯后應(yīng)用軟件中代碼大小,確定應(yīng)用軟件尺寸和應(yīng)用軟件在 內(nèi)存中的布局。
      本例中的應(yīng)用軟件映像通過rm文件的配置文件來決定。rm是連接生成軟 件的一個(gè)配置文件, 一般地,單板依據(jù)此rm文件可以確定代碼引用的內(nèi)存絕 對(duì)地址。
      在rm文件中,offset和code表示在內(nèi)存中的偏移段起始地址和代碼段起 始地址;offset與code表示值的含義是一致的,關(guān)系為offset的值為code的值 左移8位,所以offse,0x40000時(shí),code=0x4000。
      size為編譯得到應(yīng)用軟件文件的尺寸,單位為K字節(jié),即如果size等于 200,則表示編譯生成的代碼大小為200KByte。
      配置應(yīng)用軟件的尺寸和應(yīng)用軟件在內(nèi)存中的布局,即配置應(yīng)用軟件的尺寸 和偏移段起始地址和代碼段起始地址,其中,由于偏移段起始地址和代碼段起 始地址一致,因此,只要確定偏移段起始地址就可以確定代碼段起始地址。這 樣,配置應(yīng)用軟件的尺寸和應(yīng)用軟件在內(nèi)存中的布局,只要配置應(yīng)用軟件的尺 寸和偏移段的起始地址即可。
      例如,如圖2所示,在應(yīng)用軟件的映像文件中,其起始地址的值與偏移段 起始地址offset的值相同,映像起始地址 最高內(nèi)存地址部分為映像文件本身, 即應(yīng)用軟件本身在內(nèi)存中的拷貝。而"map 0x40000 to 0x7ffff as rdonly"表示應(yīng) 用軟件文件占用的只讀內(nèi)存空間為0x4000(M)x7ffff; "map 0x00400 to 0x3ffff as rdwr"表示應(yīng)用軟件文件的讀寫內(nèi)存空間為0x00400 0x3ffff。
      為避免棧越界, 一般地,在應(yīng)用軟件文件自身在內(nèi)存的映像之后還預(yù)留了 1024字節(jié)的內(nèi)存空間。
      因而,依據(jù)式(2),本例中偏移段起始地址、文件大小和內(nèi)存最高地址 之間的關(guān)系應(yīng)當(dāng)符合式(3):
      0x80000 = Offset + size* 1024 + 1024 ....................................式(3 )
      0x80000表示應(yīng)用軟件文件的最高內(nèi)存地址。即內(nèi)存最高地址為偏移段起 始地址加上應(yīng)用軟件文件的尺寸乘以1024,再加上預(yù)留的1024個(gè)字節(jié)。
      因而,要確定配置文件rm的參數(shù),首先要確定應(yīng)用軟件的尺寸Size,即 Size為代碼大小/1024后取整,再乘以1024。其中,代碼大小為應(yīng)用軟件編譯 后實(shí)際占用空間大小。
      而后, 一般地,依據(jù)物理內(nèi)存的大小可知最高內(nèi)存地址大小。依據(jù)最高內(nèi) 存地址和應(yīng)用軟件尺寸Size,就可以得到偏移段起始地址offset。
      如圖3所示,為生成的應(yīng)用軟件二進(jìn)制代碼文件示意圖。對(duì)文件編譯后, 生成二進(jìn)制文件,通過分析此圖,可以發(fā)現(xiàn)有效代碼部分和填充的無效代碼部 分。
      分析該二進(jìn)制文件,從文件的結(jié)尾0x3FBFF往前査找,可知文件的 0x353d0其后的0xFF都是填充的代碼,有效代碼為OxOOOOO Ox353dO。
      由于應(yīng)用(APP)映像文件只需保留有效代碼,因此,可以得到應(yīng)用軟件 文件的尺寸size=0x3 53d0/l 024=212.953125。
      依據(jù)式(1),對(duì)尺寸size上取整,則尺寸size二213。
      根據(jù)式(3), 可以確定0ffset=0x80000-size* 1024-1024=0x80000 —213*1024-1024=305152=0x4A800 。
      根據(jù)上述參數(shù)數(shù)據(jù),修改得到LOCATE的配置文件rm,指定
      offset=0x4a800, size=213,
      map0x00400 to 0x4a7ff as rdwr ,
      map0x4a800 to 0x7ffff as rdonly ,
      class CODE=0x4a80。
      其中,LOCATE是一個(gè)工具軟件,用于連接時(shí)依據(jù)相對(duì)地址確定絕對(duì)地址。
      當(dāng)配置文件rm編譯連接后,多余的無效代碼不會(huì)添加到生成的軟件中, 而由于配置文件rm中尺寸size的單位為K字節(jié),可能會(huì)有小于IK的無效代 碼±真充到生成的應(yīng)用軟件文件中,即sizen024^有效代碼大小。
      然后,弓l導(dǎo)(BOOT)軟件從內(nèi)存(flash閃存)中讀取應(yīng)用軟件文件的映 像文件到內(nèi)存,由引導(dǎo)軟件依據(jù)應(yīng)用軟件的尺寸size確定應(yīng)用軟件在內(nèi)存中映像的目標(biāo)起始地址,即應(yīng)用軟件開始運(yùn)行地址,按所配置的應(yīng)用軟件在內(nèi)存中 的布局,引導(dǎo)應(yīng)用軟件的有效代碼運(yùn)行。
      引導(dǎo)軟件(BOOT )和應(yīng)用軟件是同 一單板不同時(shí)間階段運(yùn)行的兩個(gè)軟件。 單板啟動(dòng)時(shí)首先運(yùn)行BOOT軟件,然后BOOT軟件將應(yīng)用軟件加載到內(nèi)存, 最后BOOT軟件跳轉(zhuǎn)到應(yīng)用軟件(跳轉(zhuǎn)后,BOOT軟件不再運(yùn)行,編譯后應(yīng) 用軟件的大小由rm配置文件中的尺寸size決定)。
      BOOT軟件中確定應(yīng)用軟件的起始地址是依據(jù)式(2),由BOOT在運(yùn)行 時(shí)依據(jù)應(yīng)用軟件的尺寸Size自動(dòng)確定的。
      pAppImageAddr=0ffset=0x80000 —218112-1024=(void (*)(void))0x4A800,
      因?yàn)閼?yīng)用軟件的升級(jí)更新,應(yīng)用軟件的尺寸Size會(huì)變化,所以每次單板 啟動(dòng)后,BOOT軟件確定的應(yīng)用軟件起始地址會(huì)變化。即
      然后引導(dǎo)軟件引導(dǎo)跳轉(zhuǎn)到應(yīng)用軟件文件,按所配置的應(yīng)用軟件在內(nèi)存中的 布局,引導(dǎo)應(yīng)用軟件的有效代碼運(yùn)行。其引導(dǎo)代碼如下
      (*pAppImageAddr)();
      本發(fā)明實(shí)施例所述的確定軟件的內(nèi)存占用的方法,依據(jù)應(yīng)用軟件的實(shí)際大 小,動(dòng)態(tài)計(jì)算出應(yīng)用軟件的有效尺寸和軟件的布局,然后計(jì)算出在內(nèi)存中映像 的目標(biāo)起始地址并準(zhǔn)確引導(dǎo),所以能充分減少應(yīng)用軟件不必要的內(nèi)存空間浪 費(fèi),從而增加應(yīng)用軟件的可用內(nèi)存;同時(shí),引導(dǎo)軟件可以自動(dòng)適應(yīng)不同大小的 應(yīng)用軟件從而引導(dǎo)不同大小應(yīng)用軟件運(yùn)行。
      如圖4所示,本發(fā)明的確定軟件的內(nèi)存占用的系統(tǒng),包括占用內(nèi)存確定單 元41,內(nèi)存映像單元42。其中
      所述占用內(nèi)存確定單元41,用于通過編譯后應(yīng)用軟件中代碼大小,配置 應(yīng)用軟件尺寸和應(yīng)用軟件在內(nèi)存中的布局;
      配置應(yīng)用軟件尺寸為修改應(yīng)用軟件的生成配置文件,裁減編譯應(yīng)用軟件 填充到應(yīng)用軟件映像中的無效二進(jìn)制代碼。
      配置應(yīng)用軟件在內(nèi)存中的布局為確定映像文件映射到內(nèi)存的偏移段起始 地址和代碼段起始地址。這兩個(gè)起始地址完全一致。
      確定映像文件映射到內(nèi)存的偏移起始地址是依據(jù)配置應(yīng)用軟件尺寸來確 定,確定起始地址的方法依據(jù)式(2),即映像起始地址為內(nèi)存最高地址,去 掉應(yīng)用軟件尺寸。
      所述內(nèi)存映像單元42,用于依據(jù)應(yīng)用軟件的尺寸確定應(yīng)用軟件在內(nèi)存中
      映像的目標(biāo)起始地址,按所配置的應(yīng)用軟件在內(nèi)存中的布局,引導(dǎo)應(yīng)用軟件的 有效代碼運(yùn)行。
      引導(dǎo)軟件根據(jù)保存在Flash閃存中的應(yīng)用軟件尺寸確定應(yīng)用軟件在內(nèi)存中 映像的目標(biāo)起始地址。
      確定目標(biāo)起始地址的方法與確定應(yīng)用軟件映像文件映射到內(nèi)存的絕對(duì)起 始地址的方法相同,即利用式(2)確定,引導(dǎo)軟件首先得到應(yīng)用軟件的尺寸, 根據(jù)內(nèi)存最高地址和應(yīng)用軟件的尺寸得到應(yīng)用軟件在內(nèi)存中映像的目標(biāo)起始 地址。
      然后按所配置的應(yīng)用軟件在內(nèi)存中的布局,引導(dǎo)應(yīng)用軟件的有效代碼運(yùn)行。
      以上通過結(jié)合附圖對(duì)本發(fā)明具體實(shí)施例的描述,本發(fā)明的其它方面及特征 對(duì)本領(lǐng)域的技術(shù)人員而言是顯而易見的。
      本發(fā)明的確定軟件的內(nèi)存占用的方法和系統(tǒng),在不改變硬件架構(gòu)和不增加 硬寸牛成本的條件下,減少應(yīng)用軟件映像占用的內(nèi)存空間,增加應(yīng)用軟件的可用 內(nèi)存空間,解決了應(yīng)用軟件可用內(nèi)存不足的問題。并且,引導(dǎo)軟件通過自動(dòng)適 應(yīng)應(yīng)用軟件,可以兼容不同大小的應(yīng)用軟件,避免在工程上更換引導(dǎo)軟件甚至 更換單板的問題。
      以上對(duì)本發(fā)明的具體實(shí)施例進(jìn)行了描述和說明,這些實(shí)施例應(yīng)被認(rèn)為其只 是示例性的,并不用于對(duì)本發(fā)明進(jìn)行限制,本發(fā)明應(yīng)根據(jù)所附的權(quán)利要求進(jìn)行 解釋。
      權(quán)利要求
      1、一種確定軟件的內(nèi)存占用的方法,其特征在于,包括下列步驟步驟A,通過編譯后應(yīng)用軟件中代碼大小,配置應(yīng)用軟件尺寸和應(yīng)用軟件在內(nèi)存中的布局;步驟B,依據(jù)應(yīng)用軟件的尺寸確定應(yīng)用軟件在內(nèi)存中映像的目標(biāo)起始地址,按所配置的應(yīng)用軟件在內(nèi)存中的布局,引導(dǎo)應(yīng)用軟件的有效代碼運(yùn)行。
      2、 根據(jù)權(quán)利要求l所述的確定軟件的內(nèi)存占用的方法,其特征在于,所 述步驟A中配置應(yīng)用軟件尺寸,具體包括下列步驟修改應(yīng)用軟件的生成配置文件,裁減編譯應(yīng)用軟件填充到應(yīng)用軟件映像中 的無效二進(jìn)制代碼。
      3、 根據(jù)權(quán)利要求2所述的確定軟件的內(nèi)存占用的方法,其特征在于,所 述應(yīng)用軟件尺寸為編譯后的應(yīng)用軟件代碼大小除1024取整后,乘以1024。
      4、 根據(jù)權(quán)利要求2所述的確定軟件的內(nèi)存占用的方法,其特征在于,所 述步驟A中配置應(yīng)用軟件在內(nèi)存中的布局為確定映像文件映射到內(nèi)存的偏移 段起始地址和代碼段起始地址。
      5、 根據(jù)權(quán)利要求4所述的確定軟件的內(nèi)存占用的方法,其特征在于,所 述確定映像文件映射到內(nèi)存的偏移段起始地址為是依據(jù)配置應(yīng)用軟件尺寸來 確定;應(yīng)用軟件代碼段起始地址為映像起始地址為內(nèi)存最高地址,去掉應(yīng)用軟 件大小。
      6、 根據(jù)權(quán)利要求l至5任一項(xiàng)所述的確定軟件的內(nèi)存占用的方法,其特 征在于,所述步驟B中引導(dǎo)軟件依據(jù)應(yīng)用軟件的尺寸確定應(yīng)用軟件在內(nèi)存中 映像的目標(biāo)起始地址,具體包括下列步驟-步驟Bl,根據(jù)內(nèi)存最高地址和保存在存儲(chǔ)器中的應(yīng)用軟件的尺寸確定應(yīng) 用軟件在內(nèi)存中映像的目標(biāo)起始地址;歩驟B2,按所配置的應(yīng)用軟件在內(nèi)存中的布局,引導(dǎo)應(yīng)用軟件的有效代 碼運(yùn)行。
      7、 一種確定軟件的內(nèi)存占用的系統(tǒng),其特征在于,包括占用內(nèi)存確定單元,內(nèi)存映像單元,其中所述占用內(nèi)存確定單元,用于通過編譯后應(yīng)用軟件中代碼大小,配置應(yīng)用 軟^f牛尺寸和應(yīng)用軟件在內(nèi)存中的布局;內(nèi)存映像單元,用于依據(jù)應(yīng)用軟件的尺寸確定應(yīng)用軟件在內(nèi)存中映像的目 標(biāo)起始地址,按所配置的應(yīng)用軟件在內(nèi)存中的布局,引導(dǎo)應(yīng)用軟件的有效代碼 運(yùn)行。
      8、 根據(jù)權(quán)利要求7所述的確定軟件的內(nèi)存占用的系統(tǒng),其特征在于,所 述的配置應(yīng)用軟件尺寸為修改應(yīng)用軟件的生成配置文件,裁減編譯應(yīng)用軟件填 充到應(yīng)用軟件映像中的無效二進(jìn)制代碼;所述配置應(yīng)用軟件在內(nèi)存中的布局為 確定映像文件映射到內(nèi)存的偏移段起始地址和代碼段起始地址。
      9、 根據(jù)權(quán)利要求7或8所述的確定軟件的內(nèi)存占用的系統(tǒng),其特征在于,所述軟件為單板的嵌入式系統(tǒng)中的應(yīng)用軟件。
      10、 根據(jù)權(quán)利要求7或8所述的確定軟件的內(nèi)存占用的系統(tǒng),其特征在于,所述依據(jù)應(yīng)用軟件的尺寸確定應(yīng)用軟件在內(nèi)存中映像的目標(biāo)起始地址為根據(jù) 內(nèi)存最高地址和保存在存儲(chǔ)器中的應(yīng)用軟件的尺寸,由內(nèi)存最高地址,去掉應(yīng) 用軟件尺寸而得到。
      全文摘要
      本發(fā)明公開了一種確定軟件的內(nèi)存占用的方法和系統(tǒng)。該方法包括下列步驟步驟A,通過編譯后應(yīng)用軟件中代碼大小,配置應(yīng)用軟件尺寸和應(yīng)用軟件在內(nèi)存中的布局;步驟B,依據(jù)應(yīng)用軟件的尺寸確定應(yīng)用軟件在內(nèi)存中映像的目標(biāo)起始地址,按所配置的應(yīng)用軟件在內(nèi)存中的布局,引導(dǎo)應(yīng)用軟件的有效代碼運(yùn)行。其減少應(yīng)用軟件映像占用的內(nèi)存空間,增加應(yīng)用軟件的可用內(nèi)存空間,可以兼容不同大小的應(yīng)用軟件,避免在工程上更換引導(dǎo)軟件甚至更換單板的問題,節(jié)約了成本,不會(huì)造成人力物力浪費(fèi)。
      文檔編號(hào)G06F12/02GK101201794SQ20061016530
      公開日2008年6月18日 申請(qǐng)日期2006年12月15日 優(yōu)先權(quán)日2006年12月15日
      發(fā)明者鐘桂賢 申請(qǐng)人:中興通訊股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1