SDRAM运行速率问题?

2019-03-25 20:09发布

最近想将一个可执行程序放到片外SDRAM运行,发现其运行速率比在片内flash慢一些。特别是显示图片和界面切换时,明显有延迟现象。

想请教一下:
       如何修改优化,能提高程序在SDRAM的运行速率,特别是在图片显示方面,让图片和界面切换的比较流畅?谢谢。

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
ou513
1楼-- · 2019-03-25 22:25
_NXP LPC1000_ 问题太模糊了,你什么得让别人知道,用什么平台吧,什么系统吧,完成一些什么功能吧。就直接问什么优化,估计也只有你自己知道了
chunyang
2楼-- · 2019-03-25 23:53
如果是ARM、DSP之类的平台,原则上基于SRAM运行比FLASH快,除非你的电路带宽不够或器件速度不足,好好去看看控制器的手册吧,会有相关说明。
白丁
3楼-- · 2019-03-26 02:22
 精彩回答 2  元偷偷看……
zyzs50
4楼-- · 2019-03-26 03:22
本帖最后由 zyzs50 于 2016-7-29 16:12 编辑

各位不好意思,问题描述的是有点模糊,现纠正一下。
问题: 硬件平台,处理器为lpc1788,片内有512KB的flash,外接有32MB的SDRAM。软件使用的emwin图像库设计的一个用户界面。生成的可执行文件如果下载到片内flash运行,界面显示和切换比较流畅,一切正常。问题是,我要把可执行文件直接加载到片外SDRAM运行,就出现了界面切换有延时出现,界面有明显的从上到下刷新的痕迹。
主要是因为我的可执行程序超过了512KB,片内flash放不下了,所以才想到加载到外部SDRAM运行,但是发现放到片外的运行效率比片内要低。所以想请教有什么办法可以优化。

我的理解是,在片内flash运行时,使用的是内核时钟,取指令,译码都是访问的片内flash,取数据访问的是片外SDRAM.
如果可执行程序全部加载到SDRAM,这时候,取指令,取数据,都是在SDRAM里面。外部SDRAM的时钟频率和性能应该没有片内flash高效,所以在取指,译码,执行方面,SDRAM效率会低一点。


okwh
5楼-- · 2019-03-26 04:25
取指令,取数据,都是在SDRAM里面     很可能有冲突等待。 片子的多总线能力无法发挥
le062
6楼-- · 2019-03-26 05:16
一般对于MCU而言,
代码运行速度:片内SRAM > 带有加速装置的flash > SDRAM

具体到这个刷屏应用,你应该将刷屏部分的代码放在SRAM或片内flash中,图片资源放在sdram中。
如有必要,也可以在sram中建立一个缓冲区,提前读出一帧,再进行刷屏

一周热门 更多>