STM32可以把FLASH等待周期设置成1,速度更快,FLASH速度36MHZ

[复制链接]
8614|10
 楼主| wu0232 发表于 2011-3-8 16:28 | 显示全部楼层 |阅读模式
今天分别把红牛板STM32103ZE和金牛板STM32F107VC的FLASH等待周期设置成1,即FLASH运行速度为36MHZ;

运行UCGUI的DEMO测试,103ZE用FSMC刷屏,提高不大,从6.1M PIXEL /S 提高到 6.3M PIXEL /S ;107VC用GPIO刷屏,提高较大,从1.82M PIXEL /S 提到搞 2.36M PIXEL/S,明显快了很多,提高了30% 。


之前为了测试STM32的FLASH速度极限,把频率降低到50多MHZ和60多MHZ,把FLASH等待周期设置成零,看多少频率时会跑飞,得出大概结论是FLASH极限速度大概在48MHZ到60MHZ左右。


看来ST把FLASH设定在24MHZ速度很保守啊。
香水城 发表于 2011-3-8 16:32 | 显示全部楼层
你测试了所有的有效工作条件吗?供电2~3.6V,环境温度-40~+85度或-40~+105度。
 楼主| wu0232 发表于 2011-3-8 17:18 | 显示全部楼层
我的测试条件没那么严格。只是想看看FLASH潜力多少。

香主有没有FLASH的一些极限数据呢
TuBie 发表于 2011-3-8 21:16 | 显示全部楼层
一般程序都跑在FLASH里,虽然时钟是72MHz,也开了缓存,但是实际代码运行速度还是非常低,估计也就20M的样子。
香水城 发表于 2011-3-8 21:38 | 显示全部楼层
一般程序都跑在FLASH里,虽然时钟是72MHz,也开了缓存,但是实际代码运行速度还是非常低,估计也就20M的样子。
TuBie 发表于 2011-3-8 21:16


嘿嘿,你的估计太离谱了
lianshumou 发表于 2011-3-9 12:33 | 显示全部楼层
程序的快慢和你的结构有关。如果没有分支,那颗达到满速。通常你就当下降 20%左右。 你要是有个1us内的周期中断,那算了,基本没治。
香水城 发表于 2011-3-9 14:53 | 显示全部楼层
我的测试条件没那么严格。只是想看看FLASH潜力多少。

香主有没有FLASH的一些极限数据呢
wu0232 发表于 2011-3-8 17:18


你的测试可以不严格,但ST的测试可是很严格的哦,不能因此说ST的参数设定的太保守, :lol
yybj 发表于 2011-3-9 17:12 | 显示全部楼层
香主说的很有道理
coreduo 发表于 2011-6-17 09:25 | 显示全部楼层
一般程序都跑在FLASH里,虽然时钟是72MHz,也开了缓存,但是实际代码运行速度还是非常低,估计也就20M的样子。
TuBie 发表于 2011-3-8 21:16

我的感觉让我支持你,stm的flash速度不行,尽量放到ram里跑吧。
香水城 发表于 2011-6-17 09:56 | 显示全部楼层
我的感觉让我支持你,stm的flash速度不行,尽量放到ram里跑吧。
coreduo 发表于 2011-6-17 09:25


你还是好好看看Cortex-M3的手册吧,从结构设计上讲,在SRAM存取数据比在Flash中快,但从SRAM中运行程序却比在Flash中慢。不要拿ARM7的结论,也往Cortex-M3上套。
yinyangdianzi 发表于 2011-6-17 11:09 | 显示全部楼层
给力,,,,等待测试报告
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

130

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部