STM32F107串口IAP固件升级失败

2019-07-14 14:42发布

如题我采用STM32f107串口做IAP固件升级,BOOT程序写好 测试bin文件小于11k下载运行良好,bin文件到20k以上时  使用超级终端就更新失败。
这是我boot程序
http://pan.baidu.com/s/1gdrc5az
boot程序配置
1、
2、#define ApplicationAddress    0x8010000
3、int main(void)
{  
    FLASH_Unlock();
    NVIC_SetVectorTable(0x08000000,0x00);
    __disable_irq();  //关闭中断
    IAP_Init();//串口初始化
    if (ucUpdateFlag==1)//升级标志  一直为1
    {  
        Main_Menu();//更新固件
    }

}
4、程序跳转
if (((*(__IO uint32_t*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000)
                {
                    SerialPutString("Execute user Program ");
                    JumpAddress = *(__IO uint32_t*) (ApplicationAddress + 4);
                    Jump_To_Application = (pFunction) JumpAddress;
                    __set_MSP(*(__IO uint32_t*) ApplicationAddress);
                    Jump_To_Application();
                }


APP程序配置
1、
2、下面是测试程序bin文件  使用jlink下载测过都可以良好运行。





希望大家帮帮我  多谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
minwayson
1楼-- · 2019-07-14 19:29
zsl1220548 发表于 2019-1-9 15:19
我问题没找到是什么原因  后来去官网重新下载移植  就ok了

哦 后来一想 我说的也不对 呵呵
那就两个文件用Beyond Compare 对比一下
letian575
2楼-- · 2019-07-15 01:21
刚刚接触,看了你的问题,有写了解了IAP。
letian575
3楼-- · 2019-07-15 06:09
 精彩回答 2  元偷偷看……
yokoso
4楼-- · 2019-07-15 06:48
这个确实是说不清啊
帅帅的欧尼酱
5楼-- · 2019-07-15 07:57
我猜测你写到11K那个位置的Flash有问题,写的位置不对或者数据写错了
HSHToby
6楼-- · 2019-07-15 11:20
学习一下经验也好~~

一周热门 更多>