2012年10月31日 星期三

WINCE 7 Platform Builder: Cannot set an empty string on sourceFile

在安裝新的WinCE 7 之後,迫不及待地想make 新的Au1200 Image, 裝好 BSP之後 ( 指定folder 要從\WINCE600 變成 \WINCE700 或者手動 copy 整個目錄到 Platform )。 ( BSP解開的目錄 不能含有空白字元)

在 New Project --> RMI BSP -->  ... --> 之後 到最後一步 finish
就出現了視窗,寫著 Cannot set an empty string on sourceFile

搜尋這段字串 找到了一個韓國網站
又靠著Google大神偉大的翻譯 終於解決了問題

問題源由如下

The cause of this and the platform.regis platform.bib.
Usually well below two files, but 

IF XXX
ENDIF XXX 

IF XXX
ENDIF XXX!

Sometimes, several statements in the ENDIF; (semicolon) if there are attached.
For example, ENDIF ; BSP_NOKEYBD! And the same.



意思就是說 通常問題出在 platform.reg  platform.bib


IF XXX
ENDIF XXX 

IF XXX
ENDIF XXX!



在 ENDIF 之後 不能有 ; ( semicolon )
如  ENDIF ; BSP_NOKEYBD!
把 ; 去掉就 ok了


韓國人真是厲害!


platform\db1200\sources.cmn
public\common\oak\misc\makefile.def

再來遇到 assemble cache.s 時出現錯誤 /QMmips2 跟 /QMmips32 不能共用
修改 platform/db1200/sources.cmn
CDEFINES=$(CDEFINES) /QMmips32 
把 /QMmips32 拿掉就行了

再來就是 DB1200 Driver 裡的 WAVEMDD
在 wavemdd.h 中 把一些MACRO undefined 掉

#if _WIN32_WCE == 0x700
#define FUNC_WMDD(a)
#define HEXPARAM(a)
#define DECPARAM(a)
#define INTMSG(a)
#endif


再來就是 USB20\EHCI