折騰了一天的MULTI-BIN,最後發現PXA270&&K9K8G08不能正常使用MULTI-BIN。使用MULTI-BIN後,雖然系統啟動快很多,但運作時很不穩定,GWES.exe和Device.exe等系統元件,總是不規律的出現Data Abort。從現象看起來,似乎跟網卡驅動有一點關系,如果不加網卡驅動,還是相當不錯的,一旦加上網卡驅動,就極不正常了。是以,隻能再改回去,無奈啊。
PXA270&&K9K8G08上雙系統的支援是沒有問題了,NAND FLASH的驅動也搞定,工作得還算穩定。今天又把這一部分移植到WinCE6.0上,并最終實作了WinCE5.0、WinCE6.0和Linux共存,通過外部按鍵選擇進入BLOB還是EBOOT,如果啟動了EBOOT,則再根據外部按鍵判斷是啟動WinCE5.0還是WinCE6.0。
三系統的實作是基于雙系統基礎之上的,Linux部分依然保持原樣。修改EBOOT,在其中加入擷取外部按鍵的狀态的功能,并支援将WinCE5.0和WinCE6.0的NK,燒寫到NAND FLASH的不同區域,啟動時根據外部按鍵的狀态,選擇加載WinCE5.0或WinCE6.0的NK,剩下的NAND FLASH空間由WinCE5.0和WinCE6.0公用。實踐證明,除了啟動慢一點外,運作時相當穩定。這也算實作了NAND FLASH的價值,1GB,怎麼用都行啊。還想着劃出一部分給Linux用,不知有沒有實作的可能。
K9K8G08的FLASH空間分布如下圖所示:

WinCE5.0中NAND FLASH如下圖所示:
WinCE6.0中的NAND FLASH如下圖所示:
一變二,二變三,理論上四個、五個系統也都可以共存吧,隻要FLASH的存儲空間夠大。突然想到了M8,如果存儲器夠大是不是可以給它裝iPhone的系統,裝Windows Mobile的系統,還可以任意切換,想用哪個用哪個。有點BT了,還好沒有M8。