本帖最后由 autoav 于 2018-11-13 16:10 编辑
我是一个STM32F103RBT6+SIM800C的项目,需要增加网络更新固件的功能。
已经实现服务器发送固件通过SIM800C传输到SFLASH中。
现在需要实现的是STM32的IAP功能,我这两天看了原子哥的《实验47 串口IAP实验》,觉得有点麻烦,我的思路是:在原始项目中,增加一段SRAM代码(2~3K),在此代码中实现将SFLASH中的固件写入原始FLASH中,写入完成后复位,程序从头开始运行即可。
此方法与《实验47 串口IAP实验》相比更简单,不用管什么中断向量表,也不用管bin文件合并,当然风险是万一失败,就比较麻烦。
我的问题是:如何写一段SRAM程序?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
sram中写代码不会,最后改为将BootLoader程序放在flash末尾,这样就无需管什么中断向量表之类。整个项目是一个文件。
具体在
http://www.openedv.com/forum.php?mod=viewthread&tid=282836
正常的写啊,只是改下文件的属性。编译成功后函数的地址会分配到ram区,.sct文件里会看到装载时你的这个.o文件是装载在ram区
一周热门 更多>