本帖最后由 特朗姆斯 于 2016-6-5 17:34 编辑
用的是原子的stm32f407探索板,bootloader程序参考的官方例程,把里面把按键和闪烁的灯改成原子探索板上的KEY1和DS0。
APP程序的入口地址是0x0800C000,偏移量已经在main函数的起始位置设置好,MDK里面IROM1的起始地址也改成了APP程序的入口地址。
目前出现的问题如下图所示,校验无法通过,如果不勾选校验的话虽然提示Upgrade成功,但是APP程序也是无法运行。
我在烧写bootloader的时候是擦除full chip的,所以首次使用Dfuse Demo升级的时候能成功,但是第二次升级就会提示校验虽然成功,但是data matching failed。这时候点Leave DFU Mode是可以成功的,但是APP程序无法运行,复位之后也不行。
后来就没有采用这个方案,如果你找到解决方法的话希望能在这里分享一下。
那你们后来用什么方案了呢?我现在改用串口烧录了 参考原子的串口IAP但是程序不能超过120K 我的硬件是stm32F405vgt6 还要改发送协议 把bin文件分段发送 目前还没有成功 等调好了再分享
参考的代码 是一次串口读取程序 存下来再写入flash的,存的那部分在ram中 空间不够。你串口升级的程序大吗?
一周热门 更多>