硬汉嵌入式论坛

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

[SPI/QSPI] STM32H750 外挂QSPI flash BOOT LOADER 的疑惑

[复制链接]

11

主题

135

回帖

168

积分

初级会员

积分
168
发表于 2022-1-23 14:52:34 | 显示全部楼层 |阅读模式
本帖最后由 exp_exp 于 2022-1-23 14:54 编辑

      近期想用STM32H750  128KB flash 的单片机, 外挂了8M了QSPI的flash ,目的是想要像内部flash一样下载和仿真。本以为很简单,结果第一次遇到flash loader有点蒙啊。下载过程似乎搞明白了,在RAM里运行下flash loader 这个小程序把东西搬到 外挂flash里面就行 了,IAR 的例子里也是有这个工程,实现FlashInit  FlashWrite FlashErase 就完事了。
      但是仿真和下电启动是需要读取flash的啊,看了官方的文件,还有.mac这个文件,这里面就初始化了RCC 和QSPI需要的引脚,也没有读取操作啊?上电之后应该有段程序,初始化,IO 和 QSPI啊,保证能读能写,在哪里生成的,又存哪里了。。。

AN5188

AN5188
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106738
QQ
发表于 2022-1-23 16:08:41 | 显示全部楼层
现在的玩法是,先在内部Flash里面做好boot(里面外部Flash各种初始都已经做好),上电后boot程序可直接跳转外部Flash。

调试外部Flash程序时,这个boot程序在里面即可,调试时会直接跳转到你的外部Flash,这样就可以正常调试外部Flash的代码。

当前也可以采用下面的玩法:爽,一种非常给力的STM32H7内部Flash和QSPI Flash混合运行程序的方式,不再需要用户单独制作BOOT和APP
https://www.armbbs.cn/forum.php?mod=viewthread&tid=101011


回复

使用道具 举报

11

主题

135

回帖

168

积分

初级会员

积分
168
 楼主| 发表于 2022-1-23 19:47:14 | 显示全部楼层
eric2013 发表于 2022-1-23 16:08
现在的玩法是,先在内部Flash里面做好boot(里面外部Flash各种初始都已经做好),上电后boot程序可直接跳转 ...

多谢,正在看这个
回复

使用道具 举报

28

主题

130

回帖

214

积分

高级会员

积分
214
发表于 2022-1-23 21:17:16 | 显示全部楼层
MemoryMapped       QUADSPI 内存映射模式 以后QSPI FLASH访问读取就像MCU内部FLASH一样了
回复

使用道具 举报

11

主题

135

回帖

168

积分

初级会员

积分
168
 楼主| 发表于 2022-1-26 09:47:00 | 显示全部楼层
这个问题我误解了,我以为bootloader 是在.mac文件里搞得,其实有现成的工程,眼瞎没看到。正常套路是更改固件库application 文件夹下的ExtMem_Boot工程,也就是引导程序,然后再去IAR的官方安装路径里有flashloader的工程,改成自己的flash。这两步没有先后,最后再用application的点灯程序验证一下就行了
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
发表于 2024-3-2 15:46:19 | 显示全部楼层
能否实现代码在外部flash运行时进行写外部flash的操作,现在代码运行在了外部flash,外部flash多余的部分想用来模拟U盘用,目前看好像无法实现
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
发表于 2024-3-2 15:52:35 | 显示全部楼层
有没有办法在代码运行在外部flash的同时,对外部flash进行写操作。目前我在芯片内部flash的代码中初始化外部flash并且将外部flash的写操作函数地址保存在固定的RAM地址,写操作中先解除了内存映射,然后近些写操作,写完后再重新开启内存映射
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106738
QQ
发表于 2024-3-2 16:05:54 | 显示全部楼层
zhangyh89 发表于 2024-3-2 15:52
有没有办法在代码运行在外部flash的同时,对外部flash进行写操作。目前我在芯片内部flash的代码中初始化外 ...

不行,设置设置内存映射后,没法再执行写操作了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 04:31 , Processed in 0.378869 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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