版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、WINCEWINCE內(nèi)存管理內(nèi)存管理LoongEmbedded作者:LoongEmbedded(ki)時(shí)間:2010.01.03類別:WINCE嵌入式操作系統(tǒng)LoongEmbedded注:本文所敘述的BSP是從WINCE4.2升級(jí)到WINCE5.0的,所以本BSP包是非標(biāo)準(zhǔn)的,目錄和標(biāo)準(zhǔn)的BSP包有些差異,但原理是一樣的。1.物理內(nèi)存在WINCE中物理內(nèi)存,RAM(比如SDRAM)、ROM(比如EPPROM)和FlashMemy(比如n
2、flash,或是nflash)都被看成物理內(nèi)存,而不僅僅是傳統(tǒng)意義上的,只有RAM才被認(rèn)為是物理內(nèi)存。RAM在WINCE中像傳統(tǒng)的物理內(nèi)存一樣,為操作系統(tǒng)和應(yīng)用程序提供運(yùn)行和緩存空間,對(duì)于WINCE來(lái)說(shuō),BSP包下SMDK2440FILESconfig.bib下的內(nèi)容的名字為RAM處分配大小為0x6900000(105M)的SDRAM給WINCE操作系統(tǒng)和應(yīng)用程序提供運(yùn)行和緩存空間,這個(gè)大小需要根據(jù)系統(tǒng)的SDRAM的大小來(lái)分配,我們的系
3、統(tǒng)的SDRAM是128M的。MEMYTarzanDebugmodeNK8C20000001500000RAMIMAGERAM8D70000002900000RAMkichangSDRAMfrom64Mto128MRAM8D70000006900000RAM在此順便提及所分配SDRAM大小的計(jì)算,我們知道SMDK2440SRCKERNELHALARM下的文件map.a的以下內(nèi)容OEMAddressTableVirtAddrPhysAddr
4、MBDCD0x800000000x020000003030MBSRAM(SRAMROM)BANK0DCD0x820000000x080000003232MBSROM(SRAMROM)BANK1DCD0x840000000x100000003232MBSROM(SRAMROM)BANK2DCD0x860000000x180000003232MBSROM(SRAMROM)BANK3DCD0x880000000x200000003232MBS
5、ROM(SRAMROM)BANK4DCD0x8A0000000x280000003232MBSROM(SRAMROM)BANK5DCD0x8C0000000x30000000128128MBDRAMBANK01DCD0x948000000x480000001MemycontrolregisterDCD0x949000000x490000001USBHostregister2.虛擬內(nèi)存WINCE是32位的操作系統(tǒng),所以WINCE的虛擬尋址
6、能力可達(dá)4GB,但是與WINXP的每個(gè)進(jìn)程獨(dú)享4GB虛擬地址空間不同,WINCE中所有的經(jīng)常共享一個(gè)4GB的虛擬地址空間。WINCE的內(nèi)存是基于頁(yè)式管理的,所以這4GB虛擬內(nèi)存空間又可被分為若干個(gè)頁(yè),而不同的處理器支持的頁(yè)大小通常也是不一樣的,ARMV4處理器支持1KB,4KB,64KB和1MB4種頁(yè)大小。WINCE操作系統(tǒng)支持兩種頁(yè)大?。?KB和4KB,WINCE虛擬內(nèi)存的申請(qǐng)分為保留(reserve)和提交(commit)連個(gè)過(guò)程。
7、虛擬地址空間的保留是以64KB為邊界的,也就是說(shuō),任何一次虛擬內(nèi)存申請(qǐng)都會(huì)返回一個(gè)64KB的整數(shù)倍的地址,但是把虛擬內(nèi)存提交到物理內(nèi)存是以頁(yè)為單位的。MMU(MemyManagementUnit)是管理虛擬內(nèi)存的硬件,其負(fù)責(zé)把虛擬地址映射到物理內(nèi)存,并且提供一定的內(nèi)存保護(hù)。MMU是WINCE中重要的模塊,它把進(jìn)程申請(qǐng)的內(nèi)存映射到物理內(nèi)存,并且提供系統(tǒng)4GB的尋址能力。在程序啟動(dòng)是,虛擬內(nèi)存可按照需要及時(shí)地申請(qǐng)程序代碼空間所需要的物理內(nèi)存
8、,而不是在程序啟動(dòng)時(shí)就把它完全加載到物理內(nèi)存中。WINCE的4GB的虛擬地址空間被分為2個(gè)2GB區(qū)域:低地址2GB是用戶空間,供應(yīng)用程序使用,應(yīng)用程序申請(qǐng)的內(nèi)存都會(huì)從低2GB地址空間返回;高地址2GB是內(nèi)核空間,供WINCE操作系統(tǒng)本身使用。從0x80000000開(kāi)始是WINCE內(nèi)核使用的虛擬地址空間。虛擬地址0x80000000~0x9FFFFFFF一段用來(lái)靜態(tài)映射所有的物理內(nèi)存。也就是說(shuō)WINCE會(huì)把所有的物理內(nèi)存1:1地映射到這段
9、虛擬地址上,而這段地址一共有512M,這也就是WINCE所支持的物理地址的最大值是512MB的由來(lái)。虛擬地址0xA0000000~0xBFFFFFFF會(huì)重復(fù)映射所有的物理內(nèi)存,這段對(duì)物理內(nèi)存的映射與0x80000000一段最大的不同是0x80000000開(kāi)始的一段物理內(nèi)存是有緩沖的,而從0xA0000000開(kāi)始的一段是沒(méi)有緩存的。通常,緩沖可以提高系統(tǒng)的IO效率,但是對(duì)于一些OAL或者bootloader中的設(shè)備驅(qū)動(dòng)程序來(lái)說(shuō),使用緩沖有
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于WinCE的32MB以上內(nèi)存優(yōu)化.pdf
- 實(shí)驗(yàn)三 內(nèi)存管理
- 內(nèi)存管理習(xí)題講解
- c++內(nèi)存管理
- 面向新型混合內(nèi)存架構(gòu)的內(nèi)存管理機(jī)制.pdf
- 實(shí)時(shí)內(nèi)存數(shù)據(jù)庫(kù)的內(nèi)存數(shù)據(jù)組織管理.pdf
- 內(nèi)存管理練習(xí)題
- WebitOS內(nèi)存管理及優(yōu)化.pdf
- 可變分區(qū)內(nèi)存管理實(shí)驗(yàn)
- 內(nèi)存區(qū)劃分、內(nèi)存分配、常量存儲(chǔ)區(qū)、堆、棧、自由存儲(chǔ)區(qū)、全局區(qū)[c++][內(nèi)存管理]
- 基于內(nèi)存熱插拔的虛擬機(jī)動(dòng)態(tài)內(nèi)存管理系統(tǒng).pdf
- 內(nèi)存管理測(cè)試題答案
- aix虛擬內(nèi)存管理器
- Linux內(nèi)存管理分析與研究.pdf
- 基于WinCE的資料管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 內(nèi)存數(shù)據(jù)庫(kù)的存儲(chǔ)管理.pdf
- 一個(gè)內(nèi)存模組上有多少內(nèi)存
- 內(nèi)存數(shù)據(jù)庫(kù)存儲(chǔ)管理研究.pdf
- 基于多核系統(tǒng)的內(nèi)存管理研究.pdf
- ecc內(nèi)存
評(píng)論
0/150
提交評(píng)論