初级会员

- 积分
- 55
- 金钱
- 55
- 注册时间
- 2018-9-29
- 在线时间
- 19 小时
|

楼主 |
发表于 2019-12-11 23:02:41
|
显示全部楼层
IAP程序部分代码没做变动,只是写入flash和跳转放到一块了
if(key==WKUP_PRES) //WK_UP按键按下
{
if(applenth)
{
printf("开始更新固件...\r\n");
if(((*(vu32*)(0x24001000+4))&0xFF000000)==0x08000000)//判断是否为0X08XXXXXX.
{
iap_write_appbin(FLASH_APP1_ADDR,USART_RX_BUF,applenth);//更新FLASH代码
printf("固件更新完成!\r\n");
printf("开始执行FLASH用户代码!!\r\n");
delay_ms(100);
if(((*(vu32*)(FLASH_APP1_ADDR+4))&0xFF000000)==0x08000000)//判断是否为0X08XXXXXX.
{
iap_load_app(FLASH_APP1_ADDR);//执行FLASH APP代码
}
}else
{
printf("非FLASH应用程序!\r\n");
}
}else
{
printf("没有可以更新的固件!\r\n");
}
clearflag=7;//标志更新了显示,并且设置7*300ms后清除显示
} |
|