7050|18

1万

帖子

25

TA的资源

版主

楼主
 

STM32L476和STM32F746的外部Flash复制文件速度对比 [复制链接]

 
 
本帖最后由 dcexpert 于 2017-5-3 15:10 编辑

前一段时间,做了STM32L476-Disco开发板的外部Flash速度测试,发现它的速度很慢。因为micropython中目前使用了标准SPI方式访问,而不是更高速度的QSPI方式,这样使得访问速度非常慢。

今天想到STM32F746上也有一个16M的Flash,可以做一下对比。因为STM32F746DISCO的文件中没有Flash部分,所以就稍微研究了一下,将STM32L476-DISCO的Flash定义移植过去(因为两个开发板有不少差异,移植过程中折腾了几次,具体过程以后在写吧)。

为了保证在相同环境下测试。先从github上更新micropython代码,然后分别编译两个板子文件,并写入开发板。再将一个362KB的文件分别复制到两个开发板的PYBFLASH磁盘,通过时间比较速度(使用手表计时,精度大约在1秒左右)。

STM32L476-DISCOSTM32F746-DISCO
时间210秒55秒

从时间看,STM32F746的明显快很多,这也反映出Cotex-M7内核的性能要快不少。



此内容由EEWORLD论坛网友dcexpert原创,如需转载或用于商业用途需征得作者同意并注明出处


最新回复

对,STM32这种MCU,USB大部分是Full Speed的,最高才12Mbps。   详情 回复 发表于 2020-3-14 20:59
点赞 关注
 
 

回复
举报

6423

帖子

16

TA的资源

版主

沙发
 
外部flash读写速度还和内核性能有这么大影响?不应该是主要取决于IO速度和prog时间吗?

点评

底层驱动部分还没有看,这个结果应该与GPIO和SPI的速度有关,另外官方代码估计也没有进行优化,远远没有达到STM32例程的速度,使用QSPI会快很多。  详情 回复 发表于 2017-5-2 23:01
个人签名training
 
 
 

回复

1万

帖子

25

TA的资源

版主

板凳
 
白丁 发表于 2017-5-2 22:52
外部flash读写速度还和内核性能有这么大影响?不应该是主要取决于IO速度和prog时间吗?

底层驱动部分还没有看,这个结果应该与GPIO和SPI的速度有关,另外官方代码估计也没有进行优化,远远没有达到STM32例程的速度,使用QSPI会快很多。
 
 
 

回复

128

帖子

1

TA的资源

一粒金砂(中级)

4
 
个人觉得 时钟和模式是影响速度的主要原因。
 
 
 

回复

767

帖子

2

TA的资源

纯净的硅(初级)

5
 
F7肯定是要用QSPI的,速度提高非常多,够用了~
个人签名物致DIY 欢迎你的加入~
QQ群:646461928 公众号:智物知心致成
小店
 
 
 

回复

194

帖子

0

TA的资源

一粒金砂(高级)

6
 
个人觉得这个数据不科学。因为,stm32的spi时钟可以轻松上10M,传递一个500k的文件,最多不超过1秒,再加上flash写的速度,超过10秒都很难。

点评

主要目的是看看micropython对外部flash的使用,看起来现在还不太完善,性能有待提高,还不如用SPI直接挂载SD的速度。而内部flash的性能还可以,就是容量不大。等待官方升级驱动,提高速度。  详情 回复 发表于 2017-5-3 10:40
 
 
 

回复

1万

帖子

25

TA的资源

版主

7
 
zxq6 发表于 2017-5-3 10:29
个人觉得这个数据不科学。因为,stm32的spi时钟可以轻松上10M,传递一个500k的文件,最多不超过1秒,再加上f ...

主要目的是看看micropython对外部flash的使用,看起来现在还不太完善,性能有待提高,还不如用SPI直接挂载SD的速度。而内部flash的性能还可以,就是容量不大。等待官方升级驱动,提高速度。
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

8
 
F7的系统时钟应该比L476的系统时钟要高,所以对应到SPI外设的总线时钟也应该比L476大一些吧,F7还没有用过哦。。。。。

点评

标题应该改成复制文件速度对比,这样就清楚了,不是单纯的比较系统主频、SPI速度。 F7现在太贵,估计用的人不会多,等两年就会降很多了。  详情 回复 发表于 2017-5-3 15:11
 
 
 

回复

1万

帖子

25

TA的资源

版主

9
 
huaiqiao 发表于 2017-5-3 12:10
F7的系统时钟应该比L476的系统时钟要高,所以对应到SPI外设的总线时钟也应该比L476大一些吧,F7还没有用过 ...

标题应该改成复制文件速度对比,这样就清楚了,不是单纯的比较系统主频、SPI速度。

F7现在太贵,估计用的人不会多,等两年就会降很多了。

点评

嗯嗯,是的F7的成本毕竟是太高,我们都之前用F4的,发现成本较高后,用F103了。。。。。  详情 回复 发表于 2017-5-3 18:41
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

10
 
dcexpert 发表于 2017-5-3 15:11
标题应该改成复制文件速度对比,这样就清楚了,不是单纯的比较系统主频、SPI速度。

F7现在太贵,估计 ...

嗯嗯,是的F7的成本毕竟是太高,我们都之前用F4的,发现成本较高后,用F103了。。。。。

点评

F4性能也不错的,现在价格也降下来了。  详情 回复 发表于 2017-5-3 20:47
 
 
 

回复

1万

帖子

25

TA的资源

版主

11
 
huaiqiao 发表于 2017-5-3 18:41
嗯嗯,是的F7的成本毕竟是太高,我们都之前用F4的,发现成本较高后,用F103了。。。。。

F4性能也不错的,现在价格也降下来了。

点评

我们之前的板子一块板子上就1pcs F045,64腿的。 加上ti的电源芯片,电机驱动芯片啊之类的,还有高速光耦。成本就上来了  详情 回复 发表于 2017-5-3 20:56
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

12
 
dcexpert 发表于 2017-5-3 20:47
F4性能也不错的,现在价格也降下来了。

我们之前的板子一块板子上就1pcs F045,64腿的。
加上ti的电源芯片,电机驱动芯片啊之类的,还有高速光耦。成本就上来了
 
 
 

回复

1706

帖子

4

TA的资源

纯净的硅(初级)

13
 
完全是不同一个级别,
 
 
 

回复

212

帖子

0

TA的资源

一粒金砂(中级)

14
 
这个怎么能这么比呢,,
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

15
 

1.STM32L476使用的是GPIO模拟的SPI,自然速度要慢。STM32F746使用硬件QSPI,会快很多。

2.但也不能简单从你测的这个时间上得出M7性能比M4强的结论(当然M7确实比M4强)。

3.这里速度慢我个人认为主要是SPI FLASH擦除速度太慢。以W25Q256为例,Sector(4KB)擦除时间在45-400mS。

4.如果按362KB计算,FLASH擦除时间最少是(362KB/4KB)*0.045S = 4.07S   最大(362KB/4KB)*0.4S = 36.2S。

5.再加上FLASH写时间,一个PAGE(256Byte)大概在0.7-3mS。(362KB/256B)*0.003=4.344S。

6.再加上一些其它时间开销,55s感觉是差不多的。

7.但QSPI读取FLASH是非常快的,把.py文件保存到板时慢。MCU读取执行非常快,甚至比存在SD卡上读取还要快。

8.我自己做了块Micropython板,STM32F767VI,写了QSPI驱动加到Micropython中,2xFLASH,QSPI采用2xBank x 4Line模式,302KB的文件写入也需要22S之多。

点评

这是L4和M7的简单对比,L4的运行性能并不算好,但是低功耗特性不错。   目前的mpy没有启用QSPI,虽然芯片支持QSPI,但程序仍然使用的是SPI方式。这一点可能是考虑兼容性问题。  详情 回复 发表于 2020-3-14 11:29
 
 
 

回复

1万

帖子

25

TA的资源

版主

16
 
zengyi703 发表于 2020-3-14 10:34 1.STM32L476使用的是GPIO模拟的SPI,自然速度要慢。STM32F746使用硬件QSPI,会快很多。 2.但也不能简单 ...

这是L4和M7的简单对比,L4的运行性能并不算好,但是低功耗特性不错。

 

目前的mpy没有启用QSPI,虽然芯片支持QSPI,但程序仍然使用的是SPI方式。这一点可能是考虑兼容性问题。

 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

17
 
dcexpert 发表于 2020-3-14 11:29 这是L4和M7的简单对比,L4的运行性能并不算好,但是低功耗特性不错。   目前的mpy没有启用QSP ...

嗯嗯,我这些天闲着没事,做了块至此MicroPython的小板,调通了用QSPI硬件方式,速度也是上不去。

这类FLASH的擦除和写入速度也就这样了。

 

很高兴楼主回复,大家共同讨论。

点评

理论上QSPI更快,对于大量数据读写时性能有改善,但是普通单片机不能发挥它的性能,usb是usb 2.0接口,也限制通信速度。  详情 回复 发表于 2020-3-14 16:55
 
 
 

回复

1万

帖子

25

TA的资源

版主

18
 
zengyi703 发表于 2020-3-14 11:33 嗯嗯,我这些天闲着没事,做了块至此MicroPython的小板,调通了用QSPI硬件方式,速度也是上不去。 这 ...

理论上QSPI更快,对于大量数据读写时性能有改善,但是普通单片机不能发挥它的性能,usb是usb 2.0接口,也限制通信速度。

 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

19
 
dcexpert 发表于 2020-3-14 16:55 理论上QSPI更快,对于大量数据读写时性能有改善,但是普通单片机不能发挥它的性能,usb是usb 2.0接口,也 ...

对,STM32这种MCU,USB大部分是Full Speed的,最高才12Mbps。

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表