中级会员
 
- 积分
- 360
- 金钱
- 360
- 注册时间
- 2017-3-2
- 在线时间
- 39 小时
|
1金钱
串口IAP实验有这样一段代码:
printf("开始更新固件...\r\n");
if(((*(vu32*)(0X20001000+4))&0xFF000000) == 0x08000000) //判断是否为0X08XXXXXX
{
iap_write_appbin(FLASH_APP1_ADDR,USART_RX_BUF, applenth); //更新FLASH代码
printf("固件更新完成!\r\n");
}
else
{
printf("非FLASH应用程序!\r\n");
}
为什么根据这个if(((*(vu32*)(0X20001000+4))&0xFF000000) == 0x08000000)就能判断是FLASH 的代码,没有明白。判断的依据是哪里,或是在哪个文档可以找到?
if(((*(vu32*)(0X20001000+4))&0xFF000000) == 0x20000000)这个同理判断SRAM代码,想知道这个判断依据。
|
最佳答案
查看完整内容[请看2#楼]
1,stm32的flash地址范围是多少?2,stm32 sram的地址范围是多少?能搞明白这个两个问题,就解决你的问题了
|