1074743795 2016-07-05 01:32 采纳率: 0%
浏览 1588

stm32F103RE单片机做IAP串口远程升级,但是APP大于ram,该怎么办?外部没接flash

如果把串口数据直接放到内部flash里必须用协议分包往里写么?可不可以指定一个内部flash地址的数组,然后把接收的串口数据放到数组里,然后再更新,这个是否可行,具体该怎么操作?

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-10-25 19:52
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 你可以参考下这篇文章:STM32F103代码远程升级(二)基于串口IAP的简单实现
    • 除此之外, 这篇博客: STM32F103代码远程升级(二)基于串口IAP的简单实现中的 2、对flash进行擦除和重写 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

      在原子的例程中就包含了对Flash的擦除和重写,在操作Flash之前一定要记得先释放Flash的操作权限,即解锁。通过阅读原子例程的代码可以清晰的知道,他实现的对Flash的操作主要是调用了stm32固件库中的stm32f10x_flash.c中的三个库函数:

      • void FLASH_Unlock(void);
      • FLASH_Status FLASH_ErasePage(uint32_t Page_Address);
      • FLASH_Status FLASH_ProgramHalfWord(uint32_t Address, uint16_t Data)

      所以我们要对Flash进行操作,直接查看 stm32f10x_flash.c中的函数,选择合适的函数进行调用即可。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘