硬汉嵌入式论坛

 找回密码
 立即注册
查看: 729|回复: 7
收起左侧

[技术讨论] 单片机可不可以边运行边自己升级

[复制链接]

4

主题

20

回帖

32

积分

新手上路

积分
32
发表于 2024-1-23 12:35:02 | 显示全部楼层 |阅读模式
STM32F107只有一个主程序,可不可以实现主程序一边通过网络接收上位机的二进制升级文件,然后一边擦除0x0800 0000开始的FLASH后再把二进制写进去?是不是在擦除FLASH的时候程序就不能运行了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107898
QQ
发表于 2024-1-23 12:47:05 | 显示全部楼层
F107的Flash是单BANK的,不支持。

双BANK的可以,一个BANK更新的同时,另一个BANK运行程序不影响。
回复

使用道具 举报

4

主题

20

回帖

32

积分

新手上路

积分
32
 楼主| 发表于 2024-1-23 13:51:47 | 显示全部楼层
eric2013 发表于 2024-1-23 12:47
F107的Flash是单BANK的,不支持。

双BANK的可以,一个BANK更新的同时,另一个BANK运行程序不影响。

谢谢,我想继续提问,假如上电后从Flash中加载程序到RAM中执行,然后通过网络报文的方式将新的程序写入Flash。完成升级后,重新上电或重新启动单片机以加载新的程序,这样可行吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107898
QQ
发表于 2024-1-24 09:00:44 | 显示全部楼层
五仁月饼 发表于 2024-1-23 13:51
谢谢,我想继续提问,假如上电后从Flash中加载程序到RAM中执行,然后通过网络报文的方式将新的程序写入Fl ...

这样可以的。
回复

使用道具 举报

1

主题

12

回帖

15

积分

新手上路

积分
15
发表于 2024-1-24 10:25:19 | 显示全部楼层
五仁月饼 发表于 2024-1-23 13:51
谢谢,我想继续提问,假如上电后从Flash中加载程序到RAM中执行,然后通过网络报文的方式将新的程序写入Fl ...

可是,如果在升级的时候断电了,整个系统是不是就崩了?
回复

使用道具 举报

14

主题

58

回帖

100

积分

初级会员

积分
100
发表于 2024-1-24 11:17:19 | 显示全部楼层
eric2013 发表于 2024-1-23 12:47
F107的Flash是单BANK的,不支持。

双BANK的可以,一个BANK更新的同时,另一个BANK运行程序不影响。

想问下硬汉哥,F429是不是可以做双bank运行更新?
回复

使用道具 举报

5

主题

192

回帖

212

积分

高级会员

积分
212
发表于 2024-1-24 13:27:45 | 显示全部楼层
鱼小木 发表于 2024-1-24 10:25
可是,如果在升级的时候断电了,整个系统是不是就崩了?

为啥你就不能加个BOOT呢?
回复

使用道具 举报

14

主题

58

回帖

100

积分

初级会员

积分
100
发表于 2024-1-24 19:03:26 | 显示全部楼层
Hzzz 发表于 2024-1-24 11:17
想问下硬汉哥,F429是不是可以做双bank运行更新?

F429虽然有dual bank,但是貌似不支持现场固件升级,我下了个最新的手册,只有设置双bank,但是没有boot相关的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-18 03:24 , Processed in 0.170962 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表