STM32的IAP功能,程序大小问题

2019-07-21 00:12发布

本帖最后由 shenqihao 于 2019-6-5 14:54 编辑

最近在学习IAP功能,使用f103rc这颗。
学习原子哥pdf教程,有2个疑问。
这颗芯片SRAM为48K,FLASH为256K。
只是用FLASH APP功能
1、升级的程序最大能多大?
Bootloader里面有个数组,USART_RX_BUF,大小为41K,USART_REC_LEN                          41*1024
SRAM限制了这个数组大小吗,数组极限就是48K?
那烧写进去的程序最大为48K,那这个FLASH岂不是浪费不少。
2、如果需要升级大程序,比如200k,有什么办法吗?
串口边读数据边写进入FLASH?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
candylife9
1楼-- · 2019-07-21 20:38
实际应用中最好不要程序运行的时候进行升级,而是在上电的时候检查是否需要升级。升级的代码大小,受限于FLASH的大小,或者内存大小(因为有的产品线FLASH很小,内存却比较大,代码要放到内存运行)
Braon123456
2楼-- · 2019-07-21 21:43
shenqihao 发表于 2019-6-4 19:40
谢谢解答。
还有问题,200k的固件,.bin文件,怎么分割,单片机接收到然后进行分割,还是用什么软件分割 ...

2种方法你可以自己开发一个上位机软件把一包bin文件分包发送,另一种方法网上下载个(水淼·分割合并助手)软件把bin文件包写分割好在传输    我去年用的也是这个芯片做的远程升级程序。
shenqihao
3楼-- · 2019-07-22 00:34
 精彩回答 2  元偷偷看……
shenqihao
4楼-- · 2019-07-22 03:44
candylife9 发表于 2019-6-6 08:38
实际应用中最好不要程序运行的时候进行升级,而是在上电的时候检查是否需要升级。升级的代码大小,受限于FL ...

谢谢,就是准备上电烧写
shenqihao
5楼-- · 2019-07-22 06:34
Braon123456 发表于 2019-6-6 09:02
2种方法你可以自己开发一个上位机软件把一包bin文件分包发送,另一种方法网上下载个(水淼·分割合并助手 ...

谢谢,我用单片机分割了,应用程序这块不太擅长,自己写的qt程序,能发送就行

一周热门 更多>