• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32 code中程序拷贝到内存中运行更新整个cod区

renshengrumengya 2018-05-18 浏览量:1633
stm32 code中程序拷贝到内存中运行更新整个cod区,不知道这种改如何去做求教?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 可以使用SRAM,把程序放在SRAM中运行。

    STM32芯片要是144引脚以上的才可以支持,否则速度会很慢

    • 发布于 2018-05-18
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:5
  • 你的意思是把原有的代码放到RAM运行,再对Flsh进行读写么?

    那么不知道楼主是用的什么开发环境,要修改连接文件中的地址与段,指定程序运行空间的地址才可行

    • 发布于2018-05-22
    • 举报
    • 评论 1
    • 1
    • 0
renshengrumengya 回复了 汉云 :keil 试着按网上的资料做了下,没能成功。 回复

  • 你这是要升级固件吧,应该是从code区拷贝到另外一个code区,你弄到内存里,首先不说内存大小够不够,你不怕在内存中被修改掉,万一升级失败回不去啊
    • 发布于2018-05-18
    • 举报
    • 评论 1
    • 0
    • 0
renshengrumengya 回复了 skawu :code拷贝code会弄已经弄好了,现在想更新已有的结构,以进行批量,想在内存运行重新分配整个code空间。 回复

  • 这个要注意程序的运行地址,不是说把程序拷到内存就可以跑的了,如果运行地址在不对的话,变量都是无法正确访问的
    • 发布于2018-05-18
    • 举报
    • 评论 1
    • 0
    • 0
renshengrumengya 回复了 @曲终人散@ :想到了一些问题,所以想请教做过的人指点迷津。 回复

  • 听楼主的意思是把数据从FLASH中读出来放到RAM中修改再放回FLASH里面去,这情况应该选用外扩并行SDRAM,并且要确保数据的稳定性,确保数据返回FLASH的时候不会出错。

    • 发布于2018-05-31
    • 举报
    • 评论 1
    • 0
    • 0
renshengrumengya 回复了 donatello :不是是从flash读出RAM运行,RAM运行程序更改整个FLash区 回复

相关问题

问题达人换一批

stm32 code中程序拷贝到内存中运行更新整个cod区