硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1257|回复: 17
收起左侧

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

[复制链接]

9

主题

36

回帖

63

积分

初级会员

积分
63
发表于 2022-11-2 10:26:20 | 显示全部楼层 |阅读模式
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一样方便高效?

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106678
QQ
发表于 2022-11-2 10:57:30 | 显示全部楼层
1、性能最大化要把Cache性能房展
2、可以的,需要更新就跳回到内部Flash的bootloader
回复

使用道具 举报

9

主题

36

回帖

63

积分

初级会员

积分
63
 楼主| 发表于 2022-11-2 11:19:17 | 显示全部楼层
eric2013 发表于 2022-11-2 10:57
1、性能最大化要把Cache性能房展
2、可以的,需要更新就跳回到内部Flash的bootloader

第一条怎么理解?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106678
QQ
发表于 2022-11-2 11:25:02 | 显示全部楼层
回复

使用道具 举报

210

主题

1042

回帖

1682

积分

至尊会员

More we do, more we can do.

积分
1682
发表于 2022-11-2 15:04:44 | 显示全部楼层
可以看AN5188,跑分基本和内部Flash一样,仅4K Cache的系列下降一些。
回复

使用道具 举报

9

主题

36

回帖

63

积分

初级会员

积分
63
 楼主| 发表于 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中加密也是个问题啊。
回复

使用道具 举报

9

主题

36

回帖

63

积分

初级会员

积分
63
 楼主| 发表于 2022-11-2 15:07:26 | 显示全部楼层
emwin 发表于 2022-11-2 15:04
可以看AN5188,跑分基本和内部Flash一样,仅4K Cache的系列下降一些。

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

使用道具 举报

9

主题

36

回帖

63

积分

初级会员

积分
63
 楼主| 发表于 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的地址保存吗?
回复

使用道具 举报

334

主题

2032

回帖

3039

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3039
发表于 2022-11-2 16:03:38 | 显示全部楼层
zhangxiusong 发表于 2022-11-2 15:19
还有一点,如果W25QXX初始化成内存映射模式了,程序从bootloader跳转到APP(即外部flash)时,APP程序中 ...

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

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

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

使用道具 举报

9

主题

36

回帖

63

积分

初级会员

积分
63
 楼主| 发表于 2022-11-2 17:01:02 | 显示全部楼层
wklhwkl 发表于 2022-11-2 16:17
我做过的产品中就有一个是这样用的。H750VB。内部flash全部用做bootloader。外部FLASH做APP。APP和一些存储 ...

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

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
发表于 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了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106678
QQ
发表于 2022-11-3 10:28:37 | 显示全部楼层
zhangxiusong 发表于 2022-11-2 15:05
对哦,如果APP在QSPI flash中加密也是个问题啊。

这个没关系,可以使用外置加密芯片,省事。

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

使用道具 举报

9

主题

36

回帖

63

积分

初级会员

积分
63
 楼主| 发表于 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那读取速度就慢了,开机等半天了。
回复

使用道具 举报

9

主题

36

回帖

63

积分

初级会员

积分
63
 楼主| 发表于 2022-11-3 11:54:44 | 显示全部楼层
eric2013 发表于 2022-11-3 10:28
这个没关系,可以使用外置加密芯片,省事。

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

有推荐的芯片嘛
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
发表于 2022-11-3 14:20:59 | 显示全部楼层
zhangxiusong 发表于 2022-11-3 11:54
但是我必须要挂载nor flash用来存储系统相关数据,比如字库,图片等文件,系统要跑起来都需要这些东西的 ...

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

使用道具 举报

24

主题

70

回帖

142

积分

初级会员

积分
142
发表于 2022-11-3 15:27:02 | 显示全部楼层
zhangxiusong 发表于 2022-11-2 17:01
请问,723的外部flash接口从QSPI变成了OSPI,这个有差别吗?还能接W25QXX吗?

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

使用道具 举报

1

主题

13

回帖

16

积分

新手上路

积分
16
发表于 2024-1-12 11:32:48 | 显示全部楼层
zhangxiusong 发表于 2022-11-3 11:54
但是我必须要挂载nor flash用来存储系统相关数据,比如字库,图片等文件,系统要跑起来都需要这些东西的 ...

您好,我现在也遇到同样得到问题,使用H723搞不定OSPI,外接了W25Q128JV芯片。现在读ID都不对。不知道是哪里设置不对吗?H723使用OSPI跟H743设定QSPI一样吗?
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 08:53 , Processed in 0.280846 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表