wince內存管理_第1頁
已閱讀1頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、WINCEWINCE內存管理內存管理LoongEmbedded作者:LoongEmbedded(ki)時間:2010.01.03類別:WINCE嵌入式操作系統(tǒng)LoongEmbedded注:本文所敘述的BSP是從WINCE4.2升級到WINCE5.0的,所以本BSP包是非標準的,目錄和標準的BSP包有些差異,但原理是一樣的。1.物理內存在WINCE中物理內存,RAM(比如SDRAM)、ROM(比如EPPROM)和FlashMemy(比如n

2、flash,或是nflash)都被看成物理內存,而不僅僅是傳統(tǒng)意義上的,只有RAM才被認為是物理內存。RAM在WINCE中像傳統(tǒng)的物理內存一樣,為操作系統(tǒng)和應用程序提供運行和緩存空間,對于WINCE來說,BSP包下SMDK2440FILESconfig.bib下的內容的名字為RAM處分配大小為0x6900000(105M)的SDRAM給WINCE操作系統(tǒng)和應用程序提供運行和緩存空間,這個大小需要根據系統(tǒng)的SDRAM的大小來分配,我們的系

3、統(tǒng)的SDRAM是128M的。MEMYTarzanDebugmodeNK8C20000001500000RAMIMAGERAM8D70000002900000RAMkichangSDRAMfrom64Mto128MRAM8D70000006900000RAM在此順便提及所分配SDRAM大小的計算,我們知道SMDK2440SRCKERNELHALARM下的文件map.a的以下內容OEMAddressTableVirtAddrPhysAddr

4、MBDCD0x800000000x020000003030MBSRAM(SRAMROM)BANK0DCD0x820000000x080000003232MBSROM(SRAMROM)BANK1DCD0x840000000x100000003232MBSROM(SRAMROM)BANK2DCD0x860000000x180000003232MBSROM(SRAMROM)BANK3DCD0x880000000x200000003232MBS

5、ROM(SRAMROM)BANK4DCD0x8A0000000x280000003232MBSROM(SRAMROM)BANK5DCD0x8C0000000x30000000128128MBDRAMBANK01DCD0x948000000x480000001MemycontrolregisterDCD0x949000000x490000001USBHostregister2.虛擬內存WINCE是32位的操作系統(tǒng),所以WINCE的虛擬尋址

6、能力可達4GB,但是與WINXP的每個進程獨享4GB虛擬地址空間不同,WINCE中所有的經常共享一個4GB的虛擬地址空間。WINCE的內存是基于頁式管理的,所以這4GB虛擬內存空間又可被分為若干個頁,而不同的處理器支持的頁大小通常也是不一樣的,ARMV4處理器支持1KB,4KB,64KB和1MB4種頁大小。WINCE操作系統(tǒng)支持兩種頁大?。?KB和4KB,WINCE虛擬內存的申請分為保留(reserve)和提交(commit)連個過程。

7、虛擬地址空間的保留是以64KB為邊界的,也就是說,任何一次虛擬內存申請都會返回一個64KB的整數倍的地址,但是把虛擬內存提交到物理內存是以頁為單位的。MMU(MemyManagementUnit)是管理虛擬內存的硬件,其負責把虛擬地址映射到物理內存,并且提供一定的內存保護。MMU是WINCE中重要的模塊,它把進程申請的內存映射到物理內存,并且提供系統(tǒng)4GB的尋址能力。在程序啟動是,虛擬內存可按照需要及時地申請程序代碼空間所需要的物理內存

8、,而不是在程序啟動時就把它完全加載到物理內存中。WINCE的4GB的虛擬地址空間被分為2個2GB區(qū)域:低地址2GB是用戶空間,供應用程序使用,應用程序申請的內存都會從低2GB地址空間返回;高地址2GB是內核空間,供WINCE操作系統(tǒng)本身使用。從0x80000000開始是WINCE內核使用的虛擬地址空間。虛擬地址0x80000000~0x9FFFFFFF一段用來靜態(tài)映射所有的物理內存。也就是說WINCE會把所有的物理內存1:1地映射到這段

9、虛擬地址上,而這段地址一共有512M,這也就是WINCE所支持的物理地址的最大值是512MB的由來。虛擬地址0xA0000000~0xBFFFFFFF會重復映射所有的物理內存,這段對物理內存的映射與0x80000000一段最大的不同是0x80000000開始的一段物理內存是有緩沖的,而從0xA0000000開始的一段是沒有緩存的。通常,緩沖可以提高系統(tǒng)的IO效率,但是對于一些OAL或者bootloader中的設備驅動程序來說,使用緩沖有

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論