按照samuel phung书上的,新建一个Emulator OSDesign,此处略过xxx字
然后build之,发现
Error: failed setting line
makeimg: FATAL ERROR: Command returned non-zero exit code 1 (dec).
makeimg: FATAL ERROR: Command returned non-zero exit code 1 (dec).
BLDDEMO: MyOSDesign build complete.
MyOSDesign - 4 error(s), 5 warning(s)
========== 生成: 0 成功或最新,1 失败,0 被跳过 ==========
仔细查找log,发现:
Error: Could not find file 'C:/WINCE600/OSDesigns/MyOSDesign/MyOSDesign/RelDir/MyEmulatorBSP_ARMV4I_Release/kitl.dll' on disk
kitl.dll C:/WINCE600/OSDesigns/MyOSDesign/MyOSDesign/RelDir/MyEmulatorBSP_ARMV4I_Release/kitl.dll NK SHZ
恩,就解决这个kitl.dll引起的问题,google上查到第一处疑点
The fix is simple just to rename DeviceEmulator-preri.bat in MyBSP/files directory to MyBSP-preri.bat
试过,没用
然后又google到第二个疑点:
http://blog.csdn.net/ffeige1984/archive/2009/06/25/4298763.aspx
修改修改/PUBLIC/COMMON/OAK/FILES下的common.bib
IF IMGNOKITLDLL !
nk.exe $(_FLATRELEASEDIR)/oal.exe NK SHZ
; kitl.dll $(_FLATRELEASEDIR)/kitl.dll NK SHZ
ENDIF IMGNOKITLDLL !
注释掉了 kitl.dll的那一行,然后编译,MyOSDesign - 0 error(s), 15 warning(s)
========== 生成: 1 成功或最新,0 失败,0 被跳过 ==========
不过这个看似还是治标不治本的方法,新建OSDesign的时候,勾选了KITL,
,,,,,,,,,
仔细想想, 有这么一段话: KITL(Kernel Independent Transport Layer)是基于Windows CE平台的一种软件技术,开发商基于它可以很容易地支持各种调试功能。因为Windows CE的调试是一种远程调试,,,,,http://www.microsoft.com/china/ctc/newsletter/newsletter200503/kitl.htm
是不是在活动平台选择中,是不是应该选release + no KITL呢? 或者debug + KITL
验证ing。。。
仔细查看日志,发现:
PREROMIMAGE calling DeviceEmulator-preri.bat
恩, 想起来之前把C:/WINCE600/PLATFORM/MyEmulatorBSP/FILES/DeviceEmulator-preri.bat 改名为%name%BSP.bat了么? 再改回DeviceEmulator-preri.bat
编译...