Wince storage memory and program memory

來源:互聯網
上載者:User


The RAM on a Windows CE–based device is divided into two areas: and the .

. Data inthe object store is retained when you suspend or perform a soft resetoperation on the system. Devices typically have a backup power supplyfor the RAM to preserve data if the main power supply is interruptedtemporarily. When operation resumes, the system looks for a previouslycreated object store in RAM and uses it, if one is found. Devices thatdo not have battery-backed RAM can use the hive-based registry topreserve data during multiple boot processes.


具體的設定可以在系統啟動後,Control Panel -> System -> Memory裡面看到。預設的是把記憶體五五開,一半給Storage Memory, 一半給ProgramMemory用。這樣顯然是不合算的。以64M的RAM為例, 啟動後Storage Memory 32M,而因為沒有留出介面讓使用者往裡面拷東西, 任何時候in use都不會超過10M; Program Memory也是32M,但啟動後就用掉27M, 實際上應用程式可用的記憶體只有5M, 一旦達到了上限,那麼每前進一步都要很艱難地去釋放幾十K記憶體,然後用掉,再去釋放幾十K記憶體,如此迴圈,此時應用程式的運行速度狂慢無比.


劃分的方法也很簡單,其實說白了就一句話,


但注意兩點,

(1) 必須寫在config.bib的CONFIG區裡, 不是plagform.bib不是config.reg等其他檔案而是config.bib,也不是config.bib檔案的任意地方而一定要在CONFIG REGION裡.
(2) FSRAMPERCENT這個變數一定得寫為FSRAMPERCENT, 不能寫成FSROMPERCENT不能寫成ILOVEU, 或者阿貓阿狗什麼的.


FSRAMPERCENT是一個4byte長度的十六進位數, 我們用代數假設 FSRAMPERCENT = 0xQXYZ,

其中Q,X,Y,Z都是十六進位數,Q(BYTE3)----------Z (BYTE0)


The following code example shows how to use FSRAMPERCENT to allocate available RAM to the file system.

FSRAMPERCENT=0x10203040
 

In this example,  64(0x40)* 4KB chunks are allocated to byte 0.

                         48 (0x30)*4KB chunks are allocated to byte 1,
                         32  (0x20)   *4KB chunks are allocated to byte 2,

                         16  (0x10)*   4KB chunks are allocated to byte 3.
The total percentage of memory reserved for the file system would be ((64 + 48 + 32 + 16) * 4KB) / 4MB, or 15.6%.


config.bib檔案中的FSRAMPERCENT說明

FSRAMPERCENT:
格式:FSRAMPERCENT = number
  預設值為0x80808080。指定為檔案系統分配的記憶體的百分比。number分為四個位元組,由十六進位表示。

byte0的值(單位為4KB)表示在第一個2MB中,其中每1MB包含的4KB的整數倍。
byte1的值(單位為4KB)表示在第二個2MB中,其中每1MB包含的4KB的整數倍。
byte2的值(單位為4KB)表示在第三個2MB中,其中每1MB包含的4KB的整數倍。
byte3的值(單位為4KB)表示在剩下的記憶體中,每1MB包含的4KB的整數倍。

  計算一下預設值0x80808080表示的百分比:0x80*4K/1M = 0.5,因為每個位元組都等於0.5,所以整個佔用的百分比是50%。


config.bib檔案中的FSRAMPERCENT修改實驗資料

FSRAMPERCENT設定的值為儲存記憶體占系統整個記憶體的比例,系統整個記憶體=儲存記憶體+程式記憶體

在WINCE系統的控制台的系統的記憶體選項有對應的FSRAMPERCENT設定的一個進度條反應出來


prog ram is %50--------程式記憶體占整個記憶體的比例
FSRAMPERCENT=0x80808080  

prog ram is 87.5%--------程式記憶體占整個記憶體的比例
FSRAMPERCENT=0x20202020

prog ram is 50%--------程式記憶體占整個記憶體的比例-
FSRAMPERCENT=0x80808010

prog ram is 88%--------程式記憶體占整個記憶體的比例
    FSRAMPERCENT=0x10808080

rog ram is 94%--------程式記憶體占整個記憶體的比例
   FSRAMPERCENT=0x10101010


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.