金牌会员
 
- 积分
- 1049
- 金钱
- 1049
- 注册时间
- 2016-9-3
- 在线时间
- 158 小时
|

楼主 |
发表于 2018-7-4 11:17:08
|
显示全部楼层
原子哥,我想问一下这段代码是在干嘛? 其中if(((*(vu32*)(0X20001000+4))&0xFF000000)==0x08000000)我的理解是永远不会成立吧
if(key==WKUP_PRES)
{
if(applenth)
{
printf("开始更新固件...\r\n");
LCD_ShowString(30,210,200,16,16,"Copying APP2FLASH...");
if(((*(vu32*)(0X20001000+4))&0xFF000000)==0x08000000)//判断是否为0X08XXXXXX.
{
iap_write_appbin(FLASH_APP1_ADDR,USART_RX_BUF,applenth);//更新FLASH代码
LCD_ShowString(30,210,200,16,16,"Copy APP Successed!!");
printf("固件更新完成!\r\n");
}else
{
LCD_ShowString(30,210,200,16,16,"Illegal FLASH APP! ");
printf("非FLASH应用程序!\r\n");
}
}else
{
printf("没有可以更新的固件!\r\n");
LCD_ShowString(30,210,200,16,16,"No APP!");
}
clearflag=7;//标志更新了显示,并且设置7*300ms后清除显示
} |
|