出现的问题:
在选中clean befor build之后,编译系统,以前用有三个错误没有了,但是系统在跑到OEMin函数之后就死了。
以前的错误:
BUILD: [01:0000001602:ERRORE] sdiocontroller.obj : error LNK2019: unresolved external symbol "public: __cdecl CSDIOControllerBase::CSDIOControllerBase(struct SDCARD_HC_CONTEXT *)" (??0CSDIOControllerBase@@QAA@PAUSDCARD_HC_CONTEXT@@@Z) referenced in
function "public: __cdecl CSDIOController::CSDIOController(struct SDCARD_HC_CONTEXT *)" (??0CSDIOController@@QAA@PAUSDCARD_HC_CONTEXT@@@Z)
BUILD: [01:0000001603:ERRORE] SC2440_SDHCBase.lib(sdhcmain.obj) : error LNK2019: unresolved external symbol "public: struct SDCARD_HC_CONTEXT * __cdecl CSDIOControllerBase::GetHostContext(void)const " (?GetHostContext@CSDIOControllerBase@@QBAPAUSDCA
RD_HC_CONTEXT@@XZ) referenced in function SDH_PreDeinit
后面将BSP也换了,全部编译也做了,但是系统就是在启动的时候死。
原因:最后跟踪发现是死在了mdarm.c中ARMint()里的
OEMInit(); // initialize firmware
KernelFindMemory();
NKDbgPrintfW(L"Sp=%8.8x/r/n", &cpuType);
解决方法:找不到原因