拿了块OK2440-III,预装的CE5.0,改换6.0系统。
1.装好VS2005.打上补丁
2.安装wince6.0 及sp1补丁
3.安装wince6.0-R2
4.打上WINCEPB60-080131-2008M01-ARMV4I.MSI
5.升级.net compact framwork3.5
用飞凌提供的6.0BSP,编译时出现如下错误:
错误 43 error C2065: 'ResponseR7' : undeclared identifier C:/WINCE600/PLATFORM/TE2440CE6 /Src/Drivers/SDHC/SDHCBASE/./SDIOControllerBase.cpp 1197
在程序中是这样的
case ResponseR1: // Short response required
case ResponseR1b:
case ResponseR3:
case ResponseR4:
case ResponseR5:
case ResponseR6:
case ResponseR7:
DEBUGMSG (SDHC_RESPONSE_ZONE,(TEXT("sendSDICommand short response required/r/n")));
变量没有定义的呢,我是个超级菜鸟,从来没有用过CE。呵呵
找了半天头文件,没有找到ResponseR7的定义。于是我开始找ResponseR6的定义,再sdcardddk.h中找到了
typedef enum _SD_RESPONSE_TYPE {
NoResponse = 0,
ResponseR1 = 1,
ResponseR1b = 2,
ResponseR2 = 3,
ResponseR3 = 4,
ResponseR4 = 5,
ResponseR5 = 6,
ResponseR6 = 7
} SD_RESPONSE_TYPE, *PSD_RESPONSE_TYPE; SD卡反应类型?
果然没有 ResponseR7,于是注释掉所有ResponseR7使用的地方(共两处),编译,OK,得到了NK.BIN .
我现在还搞不清楚是我环境没有配置好造成的,还是他们公司出来这个BSP是没有完善的。以后再慢慢研究。呵呵