在BootLoade的 sb_main.c文件main函数内使用的mainAppCommand变量在使用之前没有找到初始化或赋值的地方,整个工程也没有发现,
这里的值从哪里获取的?
直接更改变量值或是从地址(_sblCmdAddr)来更改变量值,这两种方法都没发现;
__no_init volatile uint32 mainAppCommand;
#pragma location="SBL_CMD"
const CODE uint16 _sblCmdAddr = (uint16)&mainAppCommand;
#pragma required=_sblCmdAddr
void main(void)
{
uint8 time_spent_validating;
uint8 bootloaderForcedByMainApp = FALSE;
uint32 mainAppCommandLocal = mainAppCommand;
mainAppCommand = MAIN_APP_CMD_NONE;
if (mainAppCommandLocal == MAIN_APP_CMD_FORCE_BOOTLOADER)
{
bootloaderForcedByMainApp = TRUE;
}
.................
}