你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

程序在SRAM中运行时的几个问题

[复制链接]
kokoro 提问时间:2019-5-15 19:11 /
使用的STM32F429,系统启动后,将代码拷贝到内部 112KB的 SRAM中运行,现在有两个问题搞不懂:

1、从Flash中执行代码需要根据频率设置等待周期数 (LATENCY),系统从Flash启动时用的180M的时钟,等待周期数设置的 5,当把程序拷贝到SRAM中运行后,这个等待周期数还有用吗?可以设置为 0吗?还有之前开启的指令预取(PRFTEN)、指令缓存(ICEN)和数据缓存(DCEN)功能还有用吗?是否可以关闭?或者说在SRAM中运行程序时,如何设置等待周期数 (LATENCY)、指令预取(PRFTEN)、指令缓存(ICEN)和数据缓存(DCEN)功能以达到最优?

2、手册里说 112KB的SRAM可以重映射,重映射后CPU可以使用 I-Bus和D-Bus访问,而不是S-Bus,从而提高效率,但是这个重映射怎么设置,系统启动的时候肯定是从Flash启动的,软件设置重映射应该在什么时候设置?是把代码拷贝到 SRAM之前设置还是之后设置?我之前调试时设置过 SYSCFG_MEMRMP这个重映射寄存器,但是值一直是0,貌似没起作用...不知道该怎么搞? 还有如果重映射成功了,使用了I-Bus和D-Bus,那么第1个问题里的那几个参数又该如何设置?
收藏 评论3 发布时间:2019-5-15 19:11

举报

3个回答
shuihehe 回答时间:2019-5-15 20:13:03
你这么做是想做什么?


maxtch 回答时间:2019-5-21 11:47:04
1. 代码拷贝完成后,LATENCY、PRFTEN、ICEN、DCEN 等 Flash 相关的设置便无关紧要了。
2. 重新映射靠的就是 SYSCFG_CFGR_MEMRMP。这个寄存器字段是只写的,因此读不出是正常现象,写入的数据正确就可以了。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

kokoro 回答时间:2019-5-21 13:07:08
maxtch 发表于 2019-5-21 11:47
1. 代码拷贝完成后,LATENCY、PRFTEN、ICEN、DCEN 等 Flash 相关的设置便无关紧要了。
2. 重新映射靠的就是 ...

谢谢!已经成功了。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版