|
本帖最后由 cqtnheyao 于 2015-2-4 15:26 编辑 9 S' A3 R3 `0 T + v v+ j% J( z2 ]1 r 最近项目需用到STM32F072C8T6这颗料,并有IAP升级,感谢沐紫妹子给的072 NUCLE,但是被我弄坏了,SO我用051的板子焊接了个072的IC上去,经过调试IAP升级功能OK,现将源代码发上来,大家批评指正下,程序写的比较丑陋,只实现了简单了,还望大家口下留情,不要装逼! 3 F0 a# X+ o. [* P8 [5 e# j 附件下载后,把后面的.rar删除即可1 E/ n0 G, @0 |# K; B. V9 d + e6 r# X7 E4 r: u4 f 说明:0 e3 A- `0 {5 M; S5 t5 {8 C2 ~- U 1.IAP程序FLASH ROM:0x08000000-0x08001FFF;. s y% M9 y, D! v9 f$ K ^( R3 E 2.APP程序FLASH ROM:0x08002000-0x0800E000;3.IAP跟APP都是用了串口1跟TIM14,TIM14定时10ms;4 {- i, n c9 ^* T3 L( { 4.进入IAP模式:像串口发送$CHAPP&,如进入成功,LED(PC13)会快速闪烁,串口返回字符:Enter_IAP;& O3 Z5 F+ ?# `: L 5.发送擦除指令$ERASE&,擦除完成后,串口返回Erase_OK;9 b2 q Z& @7 A* p2 z5 j2 }. L1 J 6.通过串口发送Bin文件,当串口检测到有超过1S(好像)没收到数据表示升级数据完成;: g2 J( l4 {. d$ P- j 7.完成后,自动进入APP程序,附件的APP是LED(PC13)慢闪。8.没有做校验,大家能提供个好的简单的可靠的校验吗!1 X0 m# U" s) O2 A Y- w # ]2 g x4 G- C4 E' q- W7 m |
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
小白也能明白的STM32的低功耗与唤醒机制
STM32系统中2种数据掉电保护的方法
分享STM32F051中文参考手册(重制书签版)
AI工具训练营-用ChatGPT解决HID Keyboard实现的问题
STM32固件库分享,超全系列整理
STM32小白入门指南:从基础到OTA实现方案
STM32超详细学习笔记
新手必看!STM32单片机应该怎么学?
如果你解决了这些问题,就可以直接学STM32
微信公众号
手机版
挖的一手好坟,在升级的时候,会擦除APP的代码,擦了APP的肯定不能运行了,这代码好多年前的了,很搓。。。
APP的那个IAP_FLAG是用来占位置的,为了让编译器知道这个FLASH位置我用了,并在执行$CHAPP&的动作时会改写IAP_FLAG的值,只不过我直接写了地址,所以没体现出来。
可以擦除APP后就写入新的APP 代码数据,楼主现在有新的实现方法? 请指点,谢谢!
大神,请留步,我的问题,能讨论下么
留你妹 我能不顶贴么
你过来,我保证不打你
怕就不学了?跟着大神的脚步,走起
好 紧跟大神脚步