实际用的用的GDF450芯片,工程用的STM 32F207芯片,在调试过程过程中遇到了一个问题:前者ram大小为256k,后者ram为128k,整个工程代码超过了128k,需要改大ram,直接将ram改大后出现bootlader进不到app的问题,程序跑不起来。
解决问题:
1.考虑引导程序的中断地址是否为app的起始地址
2.引导程序的升级校验出现问题,具体描述如图,改了后程序可以正常执行
int app_is_vaild(void)
{
int Tmp;
Tmp = *(int *) ADDR_OF_APP_CODE;
Tmp = (tmp>>16) & 0xFFFC;
return (0x2000 == Tmp);
}