打印
[STM32F4]

STM32F4系列启动后是如何进行指令执行的?需要装载到RAM中吗?

[复制链接]
1147|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小研究|  楼主 | 2017-9-30 16:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以前用DSP用的多,DSP一直都是从FLASH中装载到RAM中运行。
STM32F4的MCU已经达到了168M,这个速度已经够快了。所以我想知道是不是在cpu启动之后,也把程序指令从FLASH中LOAD出来到RAM中再执行?如果不是,那是如何做到快速指令执行的呢?
谢谢。
沙发
小研究|  楼主 | 2017-10-1 11:56 | 只看该作者
啥情况?对ST的技术人员来讲,应该不是多难回答的问题啊?

使用特权

评论回复
板凳
戈卫东| | 2017-10-1 13:12 | 只看该作者
Flash虽然访问频率无法很高,但可以用位宽来解决啊。
它每次读128BIT,就满足了MCU全速运行所需要的带宽

使用特权

评论回复
地板
戈卫东| | 2017-10-1 13:15 | 只看该作者
Copy到RAM的搞法也有的。GD就是这么搞的。

使用特权

评论回复
5
小研究|  楼主 | 2017-10-1 16:47 | 只看该作者
戈卫东 发表于 2017-10-1 13:12
Flash虽然访问频率无法很高,但可以用位宽来解决啊。
它每次读128BIT,就满足了MCU全速运行所需要的带宽 ...

谢谢。
那也就是说,STM32自带FLASH的宽度是128BIT?

使用特权

评论回复
6
小研究|  楼主 | 2017-10-1 17:07 | 只看该作者
戈卫东 发表于 2017-10-1 13:12
Flash虽然访问频率无法很高,但可以用位宽来解决啊。
它每次读128BIT,就满足了MCU全速运行所需要的带宽 ...

谢谢。
STM32指令应该是32位宽,每次读128BIT的话,就意味着读取FALSH的速度是168/4=42M,感觉这个FLASH的读取速度也不算慢了。

使用特权

评论回复
7
小研究|  楼主 | 2017-10-1 17:30 | 只看该作者
戈卫东 发表于 2017-10-1 13:15
Copy到RAM的搞法也有的。GD就是这么搞的。

GD又是哪家啊?

使用特权

评论回复
8
598330983| | 2017-10-1 22:10 | 只看该作者
所有的指令都是要到ram里面执行的

使用特权

评论回复
9
戈卫东| | 2017-10-2 02:42 | 只看该作者
小研究 发表于 2017-10-1 17:07
谢谢。
STM32指令应该是32位宽,每次读128BIT的话,就意味着读取FALSH的速度是168/4=42M,感觉这个FLASH ...

Thumb指令,16位,所以只有21M就够了

使用特权

评论回复
10
小研究|  楼主 | 2017-10-5 23:04 | 只看该作者
598330983 发表于 2017-10-1 22:10
所有的指令都是要到ram里面执行的

具体解释一下?谢谢。每条语句从FLASH中读取到RAM中执行?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

153

主题

869

帖子

8

粉丝