打印

程序在nor flash中执行的速度?

[复制链接]
5983|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hz_richard|  楼主 | 2009-3-23 15:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
香主,您好
请问一下,程序在nor flash中执行的速度为什么会比在内部flash中的执行下降很多呢,同样的代码,是不是读取指令的速度不够?
沙发
香水城| | 2009-3-23 15:40 | 只看该作者

看看STM32的整体框图,这就是哈佛结构的特点

关于哈佛结构的优点我就不说了。

内部Flash的接口缓冲也起了很大作用,请看我的博客:【分析】STM32从Flash中运行程序的时序分析 

使用特权

评论回复
板凳
hz_richard|  楼主 | 2009-3-23 17:40 | 只看该作者

相同的代码的跑马灯程序,

我用相同的代码的跑马灯程序,
下载到内部flash中运行与下载到norflash中运行速度差的太远。
怎么解决呢,是不是我还有什么需要设置的东西呢?

使用特权

评论回复
地板
香水城| | 2009-3-23 17:48 | 只看该作者

请看2楼的图,这是哈佛结构的特点

程序放在片外,肯定比放在内置Flash的运行速度慢。

使用特权

评论回复
5
Again_gyf| | 2009-3-23 20:37 | 只看该作者

偶都是加载到RAM里跑

使用特权

评论回复
6
wlq_9| | 2009-3-24 09:40 | 只看该作者

nor

的速度在那里摆着呢.除了加载到快速的RAM里面,基本上就没有办法了.

使用特权

评论回复
7
zjf0000| | 2009-3-24 10:14 | 只看该作者

请问ls,怎么把nor中的数据考到内部flash中执行啊?

谢谢

使用特权

评论回复
8
Again_gyf| | 2009-3-24 10:21 | 只看该作者

没人这么用的楼上!

使用特权

评论回复
9
xwj| | 2009-3-24 10:37 | 只看该作者

要求速度的部分尽量加载到RAM里跑

使用特权

评论回复
10
一叶扁舟| | 2009-3-24 19:15 | 只看该作者

方法

地方看见了饭

使用特权

评论回复
11
原野牧歌| | 2009-3-24 22:07 | 只看该作者

还没有测试过相关的差异,差多少?

使用特权

评论回复
12
hz_richard|  楼主 | 2009-3-25 19:14 | 只看该作者

如果再把程序掉到SRAM中执行的话…………

如果再把程序掉到SRAM中执行的话,要就要外扩SRAM了,而且要很大的空间。因为既然用norflash存程序代码,那就意味着程序代码应该不小,RAM小了还不行,除非代码程序能分块的执行,也就是分块的调入SRAM中。
这样做好烦麻哟
所以可能NORflash的用处可能最大用处在于存数据用,何况一般的情况下512K的代码也差不多了。
如果在NORflash中直接执行的话,那速度太慢了,STM32的好多好处就没有了,我认为MCU速度还是很重要的。
不知我理解的对不对?

使用特权

评论回复
13
wlq_9| | 2009-3-25 20:50 | 只看该作者

把常数表

放到外部nor里面,程序放到片内flash运行,不就结了.
一般片内的flash足够用了.大的一般都是常数表.

使用特权

评论回复
14
liuxin518| | 2009-3-28 13:36 | 只看该作者

最好不要把程序放在norflash中

片外程序不保险,很容易被盗版,(除非你的程序没有盗版的意义)
片内虽还是可能被盗版,但成本大得多,有一定意义
norflash容易有坏区,放数据较为合理
内部ram用做程序,恐怕你得考虑"穿小鞋"带来的"迈步"问题,即大程序的分块和跳转切换问题

使用特权

评论回复
15
ducha| | 2010-5-7 09:48 | 只看该作者
14# liuxin518

同意 楼上看法函数切换很难受。我昨天算感受到了。
有解决办法就是都用函数指针,不过容易出错

使用特权

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

本版积分规则

21

主题

63

帖子

0

粉丝