1. 問題描述
用activesync同步的時候,發現無法同步的問題,PC端同步軟體的同步界面如下:

圖1
WINCE裝置彈出出錯的界面,如下圖:
圖2
2. 問題分析
不能同步檔案,應該和WINCE裝置這端的檔案系統有關。
3. 問題解決
3.1 後來發現把系統選擇的ROM-only File System改為RAM and ROM File system就可以了。
3.2 還是選擇ROM-only file system
⑴確定BSP包中的xxx.bat檔案包含下面的内容:
@REM For Hive Based Registry
set IMGHIVEREG=1
set PRJ_ENABLE_FSEXTREPL=1//沒有此項也可以
if /i"%IMGHIVEREG%"=="1" set PRJ_ENABLE_FSREGHIVE=1
if /i"%IMGHIVEREG%"=="1" set PRJ_ENABLE_REGFLUSH_THREAD=1
⑵在platform.reg中添加下面的系統資料庫項
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\<storageprofile associated with the root file system>\FATFS\Filters\fsreplxfilt]
"Dll"="fsreplxfilt.dll"
"Order"=dword:1 ; must be loaded after other filters
其中<storage profile associated with theroot file system>對于我們MLC NAND FLASH的系統來說是FlashDisk,比如
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\NAND\FATFS\Filters\fsreplxfilt]
"Dll"="fsreplxfilt.dll"
"Order"=dword:1
此系統資料庫項一定要是在; HIVE BOOT SECTION和; END HIVE BOOT SECTION之間。
⑶設定環境變量sysgen_fsreplxfilt
圖3
然後選擇clean sysgen就可以了。
其實6.0activesync同步選擇相應的元件即可,一般導緻不同步,驅動的問題,是由注冊檔案破壞引起的,本人還沒找到實質問題,隻能采用重新燒寫NK。