共2条
1/1 1 跳转至页
Flash,Flash 为什么代码在片内Flash上的运行速度要远远快于片外Flash

问
我查了PLL设置。。没发现有问题啊。。。
答 1:
a
答 2:
ZLG的代码中将外部总线设成最慢的了!
答 3:
Re: luck_zhan我已经重新设置了 VPB总线速度,,好像没什么变化?
VPBDIV = 1;
还有更好的建议吗? 答 4: re:想想啊老大,里面是高速flash,可以基本做到1个xclk读取一条32位指令。
再看看外部flash,首先一般的flash的读写周期是70ns。假设我们的总线正好读周期正好是70ns,读两次flash能够完成一次指令读操作。那么拿60M的晶振来做计算:
内部flash,一秒钟可以完成54M(0.9MIPS/MHz)条指令。
外部flash,一秒钟可以完成7.14M条指令(这还是高估了)。
解决办法:如果你一定要使用无内部flash的ARM(如LPC2220),可以将高速代码移到内部的RAM来执行。如果放不下,试着把你的指令编译成THUMB,基本可以提高一倍的速度。
VPBDIV = 1;
还有更好的建议吗? 答 4: re:想想啊老大,里面是高速flash,可以基本做到1个xclk读取一条32位指令。
再看看外部flash,首先一般的flash的读写周期是70ns。假设我们的总线正好读周期正好是70ns,读两次flash能够完成一次指令读操作。那么拿60M的晶振来做计算:
内部flash,一秒钟可以完成54M(0.9MIPS/MHz)条指令。
外部flash,一秒钟可以完成7.14M条指令(这还是高估了)。
解决办法:如果你一定要使用无内部flash的ARM(如LPC2220),可以将高速代码移到内部的RAM来执行。如果放不下,试着把你的指令编译成THUMB,基本可以提高一倍的速度。
共2条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
C语言函数宏的三种封装方式被打赏50分 | |
嵌入式LinuxC语言程序调试和宏使用技巧被打赏50分 | |
让代码中包含最新的编译时间信息被打赏50分 | |
【分享开发笔记,赚取电动螺丝刀】STM32F769LVGL优化显示被打赏26分 | |
rtthread硬件加密--2crc加密分析被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】STM32F769驱动ST7789以及显示优化被打赏36分 | |
【分享开发笔记,赚取电动螺丝刀】S32K146 PAL模拟I2C驱动适配被打赏23分 | |
我想要一部加热台+电源硬件设计规范被打赏16分 | |
我想要一部加热台+LED背光驱动芯片RT9293知识被打赏18分 | |
【分享开发笔记,赚取电动螺丝刀】S32K146 ADC 模块配置使用被打赏24分 |