• 滨海湾新区要变“湾区明珠” 2019-05-21
  • 孙杨、宁泽涛扛起中国游泳大旗 2019-05-11
  • 那你就写个帖子驳呀!告诉你,我是普通老百姓就是错了也没有啥,你可是论坛“真理化身”呀! 2019-05-11
  • 守住青山不放松 护好绿水不辞难——在渝全国人大代表聚焦“共抓大保护、不搞大开发”专题调研记略 2019-05-10
  • 巴厘岛被爆众多海域垃圾成灾 潜水常被塑料瓶塑料袋包围 2019-05-04
  • 两个不能否定,怎会是停留在30年前? 2019-04-27
  • 国际在线:向世界报道中国,向中国报道世界 2019-04-27
  • 【理上网来喜迎十九大】外媒记者:稳步推进生态文明建设的中国更加美丽 2019-04-26
  • 董卿海霞李思思康辉撒贝宁 央视名嘴童年照谁更萌 2019-04-26
  • “龙江二号”微卫星传回地月合影 2019-04-18
  • 中国驻泰国大使考察合艾国光中学孔子课堂 2019-04-18
  • 【清园20年】感恩大回馈!半价!半价! 2019-04-18
  • 中央纪委紧盯节点 4年来通报曝光问题近4000起 2019-04-13
  • 2013环球企业领袖宁夏圆桌会议嘉宾云集 2019-04-13
  • 《魔兽世界》未解之谜 那些仍不能被玩家们踏足的领地 2019-04-11
  • 打印

    广东体彩11选五规律: [STM32] STM32的IAP方法,如何写SRAM程序?

    [复制链接]
    547|5
    跳转到指定楼层
    楼主
     楼主 | 2018-11-13 16:15 | 只看该作者 |退出气泡模式 回帖奖励 |倒序浏览 |阅读模式
    我是一个STM32F103RBT6+SIM800C的项目,需要增加网络更新固件的功能。
    已经实现服务器发送固件通过SIM800C传输到SFLASH中。
    现在需要实现的是STM32的IAP功能,我这两天看了原子哥的《实验47 串口IAP实验》,觉得有点麻烦,我的思路是:在原始项目中,增加一段SRAM代码(2~3K),在此代码中实现将SFLASH中的固件写入原始FLASH中,写入完成后复位,程序从头开始运行即可。
    此方法与《实验47 串口IAP实验》相比更简单,不用管什么中断向量表,也不用管bin文件合并,当然风险是万一失败,就比较麻烦。
    我的问题是:如何写一段SRAM程序?
    沙发
    | 2018-11-14 10:09 | 只看该作者
    本帖最后由 千岁寒 于 2018-11-14 10:10 编辑

    应该是可以的:
    1、首先,需要有一个消息(中断或事件)通知程序运行 IAP 功能
    2、跳转到IAP后,负责将接收到的内容写到Flash中

    注:
             以STM32举例,一般的,Flash固定地址从 0x80000000开始,所以IAP功能程序要放在 主程序之后,且要保持一段安全距离。
    板凳
    | 2018-11-14 11:01 | 只看该作者
    本帖最后由 holle 于 2018-11-14 11:03 编辑

    程序在SRAM中运行不可取,因为单片机不是虚拟地址,程序运行需要堆和栈,静态数据区,动态数据区,C语言程序安排不好容易出问题,除非汇编写地址无关程序。
    STM32的Flash可以运行中擦写,可以利用看门狗超时进行跳转。
    地板
    | 2018-12-11 10:58 | 只看该作者
    如果空间足够还是建议先接受全部固件数据校验后整体擦出替换??梢员苊馐荽浯砦?,或者传输中断等问题
    你可以写一个boot,再boo里面做固件搬运以及接受,这样哪怕固件有问题,也可以再次升级救回来。
    当然这么做的坏处就是需要备份,如果你的数据能再内存保存(64K一般)那就可以不占用flash空间了
    5
    | 2018-12-12 15:37 | 只看该作者
    这就是典型的BOOT
    6
    | 2018-12-12 22:20 | 只看该作者
    有一个办法, 可以将 FLASH 里的代码复制到 SRAM 里执行.
    扫描二维码,随时随地手机跟帖
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    我要发帖 投诉建议 创建版块 申请版主

    快速回复

    您需要登录后才可以回帖
    登录 | 注册
    高级模式

    论坛热帖

    关闭

    热门推荐上一条 /5 下一条

    快速回复 广东快乐十分走势图 返回列表
  • 滨海湾新区要变“湾区明珠” 2019-05-21
  • 孙杨、宁泽涛扛起中国游泳大旗 2019-05-11
  • 那你就写个帖子驳呀!告诉你,我是普通老百姓就是错了也没有啥,你可是论坛“真理化身”呀! 2019-05-11
  • 守住青山不放松 护好绿水不辞难——在渝全国人大代表聚焦“共抓大保护、不搞大开发”专题调研记略 2019-05-10
  • 巴厘岛被爆众多海域垃圾成灾 潜水常被塑料瓶塑料袋包围 2019-05-04
  • 两个不能否定,怎会是停留在30年前? 2019-04-27
  • 国际在线:向世界报道中国,向中国报道世界 2019-04-27
  • 【理上网来喜迎十九大】外媒记者:稳步推进生态文明建设的中国更加美丽 2019-04-26
  • 董卿海霞李思思康辉撒贝宁 央视名嘴童年照谁更萌 2019-04-26
  • “龙江二号”微卫星传回地月合影 2019-04-18
  • 中国驻泰国大使考察合艾国光中学孔子课堂 2019-04-18
  • 【清园20年】感恩大回馈!半价!半价! 2019-04-18
  • 中央纪委紧盯节点 4年来通报曝光问题近4000起 2019-04-13
  • 2013环球企业领袖宁夏圆桌会议嘉宾云集 2019-04-13
  • 《魔兽世界》未解之谜 那些仍不能被玩家们踏足的领地 2019-04-11
  • 北京快乐8开奖结果 澳门赌博技巧 排列五走势图带连线 排列五和值和尾分布图 多乐彩遗漏值 北京赛车pk10开奖直播 河南快赢481投注技巧 北京赛车pk10单双长龙 四川金7乐app官方下载苹果版 竞彩篮球比分直播 14005期七星彩推荐 美高梅娱乐城 排列5计算 江西时时彩算号软件 北京pk10投注站老平台 彩票刮刮乐透视工具