zhangxiusong 发表于 2022-11-2 10:26:20

H7的在外部QSPI FLASH的运行效率及其相关问题

RT,请问硬汉哥。H7系列如果把代码全部放到QSPI flash中运行,相比较在内部flash运行,两个效率会差多少?然后如果代码放到外部QSPI flash中的话,可不可以这样实现升级:bootloader放在内部flash,如果要升级外部的APP程序,bootloader先把W25QXX初始化成普通模式(非内存映射模式),然后把bin文件打开,按照固定的地址写入(就像普通的读写W25QXX一样),之后再把W25QXX初始化成内存映射模式,然后再执行程序跳转到比如0x90000000这样实现外部运行代码,也可以实现自动升级APP。因为我做的产品是全封闭的,只有一个USB口,USB口会把SD卡模拟成U盘,所以只要把要升级的APP.bin放到U盘就可以实现升级,现在我把APP和bootloader都放在内部flash中的(用的H743),这样已经实现了所有功能,但是如果用H750flash只有128K是肯定不够的,所以想看看这样行不行。或者说,把W25QXX初始化成内存映射模式后,程序是否可以像读写内部flash一样读写W25QXX。主要是升级和运行效率是否能像内部flash一样方便高效?

eric2013 发表于 2022-11-2 10:57:30

1、性能最大化要把Cache性能房展
2、可以的,需要更新就跳回到内部Flash的bootloader

zhangxiusong 发表于 2022-11-2 11:19:17

eric2013 发表于 2022-11-2 10:57
1、性能最大化要把Cache性能房展
2、可以的,需要更新就跳回到内部Flash的bootloader

第一条怎么理解?

eric2013 发表于 2022-11-2 11:25:02

zhangxiusong 发表于 2022-11-2 11:19
第一条怎么理解?

https://www.armbbs.cn/forum.php?mod=viewthread&tid=112268


emwin 发表于 2022-11-2 15:04:44

可以看AN5188,跑分基本和内部Flash一样,仅4K Cache的系列下降一些。

zhangxiusong 发表于 2022-11-2 15:05:44

eric2013 发表于 2022-11-2 11:25
https://www.armbbs.cn/forum.php?mod=viewthread&tid=112268

对哦,如果APP在QSPI flash中加密也是个问题啊。

zhangxiusong 发表于 2022-11-2 15:07:26

emwin 发表于 2022-11-2 15:04
可以看AN5188,跑分基本和内部Flash一样,仅4K Cache的系列下降一些。

刚刚想到,在外部flash跑的话,加密也是个问题啊

zhangxiusong 发表于 2022-11-2 15:19:03

eric2013 发表于 2022-11-2 11:25
https://www.armbbs.cn/forum.php?mod=viewthread&tid=112268

还有一点,如果W25QXX初始化成内存映射模式了,程序从bootloader跳转到APP(即外部flash)时,APP程序中就不能再次初始化qspi端口了吧?这个时候,比如我有大量的用户数据需要保存下来(不能保存到SD卡或者EEPROM和NAND FLASH等其他存储介质中),这个时候这些数据怎么实现保存呢?像读写内部flash一样指定QSPI FLASH的地址保存吗?

caicaptain2 发表于 2022-11-2 16:03:38

zhangxiusong 发表于 2022-11-2 15:19
还有一点,如果W25QXX初始化成内存映射模式了,程序从bootloader跳转到APP(即外部flash)时,APP程序中 ...

可以用别的spi口再接个独立的flash芯片,当做外设操作。反正这个也便宜吧。

wklhwkl 发表于 2022-11-2 16:17:15

我做过的产品中就有一个是这样用的。H750VB。内部flash全部用做bootloader。外部FLASH做APP。APP和一些存储的数据都放在外部FLASH。 要写数据的时候就跳转回到bootloader,写完在跳转回去。读数据直接读那个地址就行。在外部和在内部运行APP,我总感觉会差点效率。后面刚好有个STM32的代理给我们公司推产品H723。550M主频,FLASH和RAM都够用。疫情前和H750价格都差不多。果断换芯片了。

zhangxiusong 发表于 2022-11-2 17:01:02

wklhwkl 发表于 2022-11-2 16:17
我做过的产品中就有一个是这样用的。H750VB。内部flash全部用做bootloader。外部FLASH做APP。APP和一些存储 ...

请问,723的外部flash接口从QSPI变成了OSPI,这个有差别吗?还能接W25QXX吗?

wklhwkl 发表于 2022-11-3 09:18:23

本帖最后由 wklhwkl 于 2022-11-3 09:20 编辑

zhangxiusong 发表于 2022-11-2 17:01
请问,723的外部flash接口从QSPI变成了OSPI,这个有差别吗?还能接W25QXX吗?
我的意思是723因为FLASH有512K-1M 。用了前128K做bootloader。后面的做APP。 就不用外接FLASH了。

eric2013 发表于 2022-11-3 10:28:37

zhangxiusong 发表于 2022-11-2 15:05
对哦,如果APP在QSPI flash中加密也是个问题啊。
这个没关系,可以使用外置加密芯片,省事。

或者关键的代码是加载到内部RAM运行即可。

zhangxiusong 发表于 2022-11-3 11:54:24

wklhwkl 发表于 2022-11-3 09:18
我的意思是723因为FLASH有512K-1M 。用了前128K做bootloader。后面的做APP。 就不用外接FLASH了。

但是我必须要挂载nor flash用来存储系统相关数据,比如字库,图片等文件,系统要跑起来都需要这些东西的支持才行的,而且还不小,大概14MB左右的,这些资源都要在开机时加载到SDRAM的,H743/750的接口可以用QSPI挂载W25QXX,读取的速度也快,3秒左右就全部读出来了,如果换成H723那就没有QSPI了,而是OSPI,或者用普通的标准SPI那读取速度就慢了,开机等半天了。

zhangxiusong 发表于 2022-11-3 11:54:44

eric2013 发表于 2022-11-3 10:28
这个没关系,可以使用外置加密芯片,省事。

或者关键的代码是加载到内部RAM运行即可。

有推荐的芯片嘛

wklhwkl 发表于 2022-11-3 14:20:59

zhangxiusong 发表于 2022-11-3 11:54
但是我必须要挂载nor flash用来存储系统相关数据,比如字库,图片等文件,系统要跑起来都需要这些东西的 ...

QSPI只是OSPI下的一种用法。肯定支持啊。速度更快。

utyang 发表于 2022-11-3 15:27:02

zhangxiusong 发表于 2022-11-2 17:01
请问,723的外部flash接口从QSPI变成了OSPI,这个有差别吗?还能接W25QXX吗?

没啥区别,可以把OSPI配置成QSPI,我现在就是接的华邦的NOR FLASH

shnd 发表于 2024-1-12 11:32:48

zhangxiusong 发表于 2022-11-3 11:54
但是我必须要挂载nor flash用来存储系统相关数据,比如字库,图片等文件,系统要跑起来都需要这些东西的 ...

您好,我现在也遇到同样得到问题,使用H723搞不定OSPI,外接了W25Q128JV芯片。现在读ID都不对。不知道是哪里设置不对吗?H723使用OSPI跟H743设定QSPI一样吗?
页: [1]
查看完整版本: H7的在外部QSPI FLASH的运行效率及其相关问题