STM32实现程序通过网络在线升级

2019-10-16 03:23发布

有哪位大神做过STM32实现程序通过网络在线升级的,求助,欢迎大家积极踊跃的指导。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
xiaoyu_stm32
1楼-- · 2019-10-16 22:52
513393302@qq.co 发表于 2016-7-11 17:01
可以用软件复位。无论是硬件复位还是软件复位,单片机都是从FLASH起始地址开始执行的,Bootloader代码一 ...

谢谢您的解答。还有个疑问,是不是程序运行过程中,用通信串口发送升级程序时,直接调用iap_write_appbin将升级程序写入FLASH中,并且清楚标记,进行软件复位,Bootlasder中执行时调用iap_load_app,并且将标记写上,开始执行升级后的程序。不知道我理解的对不对。
513393302@qq.co
2楼-- · 2019-10-17 01:13
xiaoyu_stm32 发表于 2016-7-13 10:19
谢谢您的解答。还有个疑问,是不是程序运行过程中,用通信串口发送升级程序时,直接调用iap_write_appbin ...

比如   在FLASH起始地址偏移  0X4000处 为 FLASH标记      如果此地址的值是0X55表示已经有用户代码了   不用进行IAP了

Bootloader代码中,先初始化,再判断FLASH起始地址偏移0X4000处是不是0X55,如果不是就进行IAP,执行完IAP后,在FLASH起始地址偏移0X4000处写0X55,然后跳到用户代码。

用户代码里,你可以加入一个升级检测,当检测到需要升级的时候,先把FLASH起始地址偏移0X4000处的0X55擦除,然后启动软件复位
jungle1989
3楼-- · 2019-10-17 04:44
问下,在APP程序中,如果接收到需要升级的程序数据,存放在哪儿呢,是直接放在APP开始的Flash里吗,这样放,程序应该出问题吧,求指导!
491603829
4楼-- · 2019-10-17 06:42
 精彩回答 2  元偷偷看……

一周热门 更多>