打印
[STM32F4]

STM32F4系列启动后是如何进行指令执行的?

[复制链接]
772|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pengf|  楼主 | 2023-1-9 22:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32F4系列启动后是如何进行指令执行的?

使用特权

评论回复
沙发
wyjie| | 2023-1-9 22:43 | 只看该作者
需要装载到RAM中吗?

使用特权

评论回复
板凳
wenfen| | 2023-1-9 22:45 | 只看该作者
以前用DSP用的多,DSP一直都是从FLASH中装载到RAM中运行。

使用特权

评论回复
地板
liuzaiy| | 2023-1-9 22:47 | 只看该作者
STM32F4的MCU已经达到了168M,这个速度已经够快了。所以我想知道是不是在cpu启动之后,也把程序指令从FLASH中LOAD出来到RAM中再执行?

使用特权

评论回复
5
liuzaiy| | 2023-1-9 22:48 | 只看该作者
如果不是,那是如何做到快速指令执行的呢?

使用特权

评论回复
6
supernan| | 2023-1-9 22:50 | 只看该作者
Flash虽然访问频率无法很高,但可以用位宽来解决啊。

使用特权

评论回复
7
jiaxw| | 2023-1-9 22:52 | 只看该作者

它每次读128BIT,就满足了MCU全速运行所需要的带宽

使用特权

评论回复
8
zhanghqi| | 2023-1-9 22:54 | 只看该作者
Copy到RAM的搞法也有的。GD就是这么搞的。

使用特权

评论回复
9
chuxh| | 2023-1-9 22:58 | 只看该作者
直接从FLASH取指令啊,现在很多型号内置的FLASH都是零等待的,执行速度不比RAM差。你想把FLASH内容load到RAM运行也是可以的,但是一般RAM容量没有那么大,只能放小体积的代码,而且“把FLASH内容load到RAM”的这段代码本身也是在FLASH里执行的,所以归根结底,上电启动后,还是要先从FLASH取指令执行

使用特权

评论回复
10
liuzaiy| | 2023-1-9 23:00 | 只看该作者
那也就是说,STM32自带FLASH的宽度是128BIT?

使用特权

评论回复
11
kangzj| | 2023-1-9 23:04 | 只看该作者
STM32指令应该是32位宽,每次读128BIT的话,就意味着读取FALSH的速度是168/4=42M,感觉这个FLASH的读取速度也不算慢了。

使用特权

评论回复
12
pangb| | 2023-1-9 23:06 | 只看该作者
这个速度已经够快了吧,还需要再快吗?

使用特权

评论回复
13
xxmmi| | 2023-1-9 23:07 | 只看该作者
所有的指令都是要到ram里面执行的

使用特权

评论回复
14
zwll| | 2023-1-9 23:10 | 只看该作者
Thumb指令,16位,所以只有21M就够了

使用特权

评论回复
15
zhaoxqi| | 2023-1-9 23:16 | 只看该作者
这个我还没有试验过,或许可以的吧。

使用特权

评论回复
16
liuzaiy| | 2023-1-9 23:18 | 只看该作者
具体解释一下?谢谢。每条语句从FLASH中读取到RAM中执行?

使用特权

评论回复
17
stly| | 2023-1-9 23:26 | 只看该作者
研究这么深入,是有啥用处?

使用特权

评论回复
18
supernan| | 2023-1-9 23:29 | 只看该作者
不太清楚他的执行流程

使用特权

评论回复
19
zhenykun| | 2023-1-9 23:31 | 只看该作者
是不是应该先装载到ram在执行?

使用特权

评论回复
20
happy_10| | 2023-1-9 23:34 | 只看该作者
如何才可以监控到数据的走向呢

使用特权

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

本版积分规则

718

主题

10129

帖子

3

粉丝