這一篇msdn的blog 有講到有關nand flash的wear leveling..在需要修改某個sector的資料時,並不會將整個block erase掉,filesystem會將原來的那個sector設為invalid sector,然後將修改後的資料寫到未使用的sector上。這樣,漸漸的,flash上invaliid sector就會越來越多,導致flash 的空漸漸不夠。filesystem (filesys.exe)中有一個thread (Compaction Thread)負責管理這些sector,他會在需要的時候檢查所有的sector,
如果有一個block,所有的sector都是invalide,他就把那個block erase,然後標示為"未使用"。
同樣的,如果有一個block,大部分的sector都是invalid,他就會把block中有用的sector copy到其他sector,然後把這個block erase掉,重新標示為"未使用"。平時,Compaction Thread只在系統idle時起來工作。所以,當AP對flash修改大量資料,同時又很忙碌的工作,Flash的sector馬上就不夠了。這時候,filesystem就會叫起Compact Thread,並強制進入 Critical Compaction 模式。不等cpu idle才執行 (這樣就會造成系統緩慢的現象.)。同理,當Flash 的空間都已經用完時,隨便一個IO都會導致系統緩慢 - Compaction Thread 一直被invoke..
摘自 Checko`s Blog
NAND vs. NOR
2008年3月31日 星期一
2007年8月1日 星期三
Connect to device without activesync
Demo in CE 6.0 Emulator
1. copy
C:\Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Target\wce400\armv4i\*
to release directory
2. attach Device and open target control
Run
Windows CE>s ipconfig
==> get ipaddress
Windows CE>s conmanclient2
Windows CE>s cmaccept
3. Open another VS2005 and create a AP project
4. set device transport method to TCP connect transport and set ip address
5.start AP
2007年7月24日 星期二
2007年7月9日 星期一
Windows Embedded CE vs Mobil
Many features included in Windows Mobile or Windows Embedded CE can be tailored according to specific requirements and user needs. This section provides you with the necessary information to extend, interact with, and configure many of the components, technologies, and services provided by these operating systems.
http://msdn2.microsoft.com/en-us/library/bb158484.aspx
http://msdn2.microsoft.com/en-us/library/bb158484.aspx
2007年7月2日 星期一
Reset registry to default in Hive Base
Intro:
When use HIVE Base in Wince , the system will keep the registry in the flash forever till format flash.
If we want to do the clean boot which to reset the registry to factory default , what should we do ?
1. only format HIVE registry block in flash
2. use OEMIoCtl and IOCTL_HAL_GET_HIVE_CLEAN
OALIoCtlGetHiveCleanFlag() function
2.1 Use HW button to dectect if clean HIVE registry
2.2 Use AP to set flag in reserve memory between bootloader and Ap
Ref:
http://www.vczx.com/article/show.php?id=1948
http://blog.csdn.net/slyzhang/archive/2006/08/10/1046951.aspx
http://www.yuanma.org/data/2006/0823/article_1393.htm
When use HIVE Base in Wince , the system will keep the registry in the flash forever till format flash.
If we want to do the clean boot which to reset the registry to factory default , what should we do ?
1. only format HIVE registry block in flash
2. use OEMIoCtl and IOCTL_HAL_GET_HIVE_CLEAN
OALIoCtlGetHiveCleanFlag() function
2.1 Use HW button to dectect if clean HIVE registry
2.2 Use AP to set flag in reserve memory between bootloader and Ap
Ref:
http://www.vczx.com/article/show.php?id=1948
http://blog.csdn.net/slyzhang/archive/2006/08/10/1046951.aspx
http://www.yuanma.org/data/2006/0823/article_1393.htm
訂閱:
文章 (Atom)