stm32怎样实现一边正常运行,一边串口接收程序升级数据?

2019-07-24 12:28发布

搞了台别人家的设备。测试了下在线升级功能:
串口分了300多包把要升级的程序数据传输到设备里面,然后点击“升级”,设备一眨眼(重启)更新程序了~~~

芯片STM32F030,flash为64K
要升级的APP程序量大概54K

因为flash大小的限制,肯定是不能同时存储2份APP程序的,
那么问题来了:
到底是怎样实现程序的所有功能都能正常运行(显示、保护动作、串口通信等等),一边串口还在接收要写入Flash的程序数据的呢??
接收到的50多K的数据,及时用缓存,也不可能有这么大的RAM用来缓存啊?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
23条回答
嘴角的上弦月
1楼-- · 2019-07-26 23:40
jermy_z 发表于 2018-9-4 09:06
外部flash了解下?

硬件不允许了现在
嘴角的上弦月
2楼-- · 2019-07-27 05:35
 精彩回答 2  元偷偷看……
323232
3楼-- · 2019-07-27 08:31
嘴角的上弦月 发表于 2018-9-4 09:14
还有关于BootLoader和APP程序中断问题,是不是2个工程中只能有一个用中断?我看有需要中断向量表迁移的, ...

是不是只有升级的时候用串口?
Sun_Fly
4楼-- · 2019-07-27 09:55
64K,就别想在线升级了
xiaomodao
5楼-- · 2019-07-27 13:06
嘴角的上弦月 发表于 2018-9-4 09:09
我现在的思路就是BootLoader,硬件已成型,没有外扩flash,但是我的BootLoader无法实现像这货这样,一边 ...

那肯定不行了。你这种情况只能boot loader+APP形式。

一周热门 更多>