这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » m480在spiflash跑程序要比在内部flash跑慢100倍是为什么?

共2条 1/1 1 跳转至

m480在spiflash跑程序要比在内部flash跑慢100倍是为什么?

工程师
2024-10-11 11:03:03     打赏

在spiflash跑要比在内部flash要慢100倍。cache打开和不开速度都是一样。遇到的,指点一下




关键词: flash     cache    

助工
2024-10-11 11:03:16     打赏
2楼

在将程序运行在SPI闪存(spiflash)上时,相比于内部闪存,速度慢100倍的原因通常有几个可能的解释。

1. 存取速度:SPI闪存与内部闪存的存取速度不同。SPI闪存通过SPI接口进行访问,相比于内部闪存,它需要更多的时钟周期和额外的通信开销来完成读写操作,因此速度较慢。

2. SPI闪存与处理器之间的通信带宽:SPI闪存和处理器之间的通信带宽相对较低。不同于内部闪存与处理器之间直接的高速总线连接,SPI闪存的通信速率较低,可能成为程序运行慢的瓶颈。

3. 内存访问速度:SPI闪存中的程序代码需要加载到内存中,然后再被处理器执行。相比之下,内部闪存通常直接与处理器相连,无需复制代码,因此内部闪存的访问速度会更快。

4. 缓存失效:正如您提到的,无论是否开启缓存(cache),程序在SPI闪存上运行的速度都是相同的。这可能是因为处理器的缓存不适用于SPI闪存,因此无法提高其访问速度。

基于以上原因,将程序运行在SPI闪存上会导致较慢的执行速度。如果您希望加快程序的执行速度,可以考虑将程序代码迁移到内部闪存中,以提高存取速度和通信带宽。 


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]