OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5906|回复: 5

STM32的IAP方法,如何写SRAM程序?

[复制链接]

9

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2015-11-17
在线时间
12 小时
发表于 2018-11-13 15:53:26 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 autoav 于 2018-11-13 16:10 编辑

我是一个STM32F103RBT6+SIM800C的项目,需要增加网络更新固件的功能。
已经实现服务器发送固件通过SIM800C传输到SFLASH中。
现在需要实现的是STM32的IAP功能,我这两天看了原子哥的《实验47 串口IAP实验》,觉得有点麻烦,我的思路是:在原始项目中,增加一段SRAM代码(2~3K),在此代码中实现将SFLASH中的固件写入原始FLASH中,写入完成后复位,程序从头开始运行即可。
此方法与《实验47 串口IAP实验》相比更简单,不用管什么中断向量表,也不用管bin文件合并,当然风险是万一失败,就比较麻烦。
我的问题是:如何写一段SRAM程序?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6670
金钱
6670
注册时间
2015-8-25
在线时间
1035 小时
发表于 2018-11-13 16:20:37 | 显示全部楼层
单独新建一个.c文件,右击文件选择option for file xxx,在properties中的memory assignment中将code/const选为你的ram区应该就可以了,编译后去看看.map文件,看看你的函数应该就在ram区了
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6670
金钱
6670
注册时间
2015-8-25
在线时间
1035 小时
发表于 2018-11-13 16:21:20 | 显示全部楼层
你试试,成功与否都分享下结果
回复

使用道具 举报

9

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2015-11-17
在线时间
12 小时
 楼主| 发表于 2018-11-14 17:58:03 | 显示全部楼层
szczyb1314 发表于 2018-11-13 16:21
你试试,成功与否都分享下结果

sram中写代码不会,最后改为将BootLoader程序放在flash末尾,这样就无需管什么中断向量表之类。整个项目是一个文件。
具体在
http://www.openedv.com/forum.php?mod=viewthread&tid=282836
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6670
金钱
6670
注册时间
2015-8-25
在线时间
1035 小时
发表于 2018-11-16 08:14:54 | 显示全部楼层
autoav 发表于 2018-11-14 17:58
sram中写代码不会,最后改为将BootLoader程序放在flash末尾,这样就无需管什么中断向量表之类。整个项目 ...

正常的写啊,只是改下文件的属性。编译成功后函数的地址会分配到ram区,.sct文件里会看到装载时你的这个.o文件是装载在ram区
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

33

主题

218

帖子

0

精华

高级会员

Rank: 4

积分
568
金钱
568
注册时间
2015-1-12
在线时间
75 小时
发表于 2021-8-10 13:31:59 | 显示全部楼层
iap  SRAM app升级 需要设置BOOOT0 BOOT1  都是高电平吗
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-26 11:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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