搜索
查看: 763|回复: 2

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

[复制链接]

该用户从未签到

1

主题

2

帖子

0

蝴蝶豆

新手上路

最后登录
2019-12-30
发表于 2019-12-26 10:49:22 | 显示全部楼层 |阅读模式
如题 小弟想请教下大家 STM32片上flash的读取问题。举个例子:
        函数的功能是 读取片上flash 0x0800_1000~0x0800_2000的存储内容
        函数存储在flash的 0x0800_1000~0x0800_2000
        这可以实现正确的读取么?如果不行需要怎么操作呢?
感谢大家~
回复

使用道具 举报

该用户从未签到

20

主题

621

帖子

152

蝴蝶豆

论坛元老

最后登录
2023-11-13
发表于 2019-12-26 11:04:04 | 显示全部楼层
当然可以,CPU的指令读取Flash也就是读取某地址的内容,再正常不过了。

如果要读写某些特殊的寄存器,或者某些特殊的寄存器所占用的地址段,就要小心。
回复 支持 1 反对 0

使用道具 举报

该用户从未签到

1

主题

2

帖子

0

蝴蝶豆

新手上路

最后登录
2019-12-30
 楼主| 发表于 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中...
期待您的回复~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-4-28 17:47 , Processed in 1.158071 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表