Shawn_Ni 发表于 2019-12-26 10:49:22

STM32的片上flash能否读取正在运行的代码段内容

如题 小弟想请教下大家 STM32片上flash的读取问题。举个例子:
      函数的功能是 读取片上flash 0x0800_1000~0x0800_2000的存储内容
      函数存储在flash的 0x0800_1000~0x0800_2000
      这可以实现正确的读取么?如果不行需要怎么操作呢?
感谢大家~

radio2radio 发表于 2019-12-26 11:04:04

当然可以,CPU的指令读取Flash也就是读取某地址的内容,再正常不过了。

如果要读写某些特殊的寄存器,或者某些特殊的寄存器所占用的地址段,就要小心。

Shawn_Ni 发表于 2019-12-26 13:44:51

radio2radio 发表于 2019-12-26 11:04
当然可以,CPU的指令读取Flash也就是读取某地址的内容,再正常不过了。

如果要读写某些特殊的寄存器,或者 ...

感谢您的解答 还是有点疑惑: 执行指令的时候MCU自动读取Flash内容,程序实现的功能也是读取该code段的内容,会不会存在同一时间cpu执行指令读取和程序功能同时访问一个flash地址的情况?这种情况下,系统会不会出问题?我做的测试是以F302型号做的(有I-Code和D-Code的哈佛结构),能正常读取。但是不确定其他结构的MCU是否可行。咨询了代理商的FAE,得到的答复是不行,需要将代码搬移到RAM中...
期待您的回复~
页: [1]
查看完整版本: STM32的片上flash能否读取正在运行的代码段内容