硬汉嵌入式论坛

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

[STM32H750] 适用于STM32H750的QSPI Flahs 使用cubeprogrammer下载算法

  [复制链接]

54

主题

145

回帖

307

积分

高级会员

积分
307
发表于 2019-3-19 16:05:32 | 显示全部楼层 |阅读模式
这个下载算法是给STM32H750VBT6做的QSPI FLASH下载算法;QSPI Flash使用的是W25Q128,接在了STM32H750VBT6的BANK2上,除了引脚和bank1不一样外,地址都是从0x90000000开始;

使用stm32cubeprogrammer或者stlink utility下载的算法,不适用于keil/iar;
压缩包内有两个文件,一个是下载算法,一个是boot程序.boot支持从USB U盘升级程序;

boot程序使用stm32cubemx生成的,STLDR下载算法使用的是HAL库;




现在有一个问题就是,每次擦除之后需要断一下电才能进行下载,否则会出错.(如果有同胞有解决方法,欢迎告知一下);
111.png
2222.png

STM32H750.zip

45.45 MB, 下载次数: 3192

评分

参与人数 4金币 +110 收起 理由
bjxyrh + 20
王海靖 + 20
wofei1314 + 20 很给力!
eric2013 + 50 很给力!

查看全部评分

回复

使用道具 举报

10

主题

140

回帖

170

积分

初级会员

积分
170
发表于 2019-3-19 16:22:42 | 显示全部楼层
下载过来学习学习。
自从STM32CubeProgrammer支持中文路径之后就一直使用。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106745
QQ
发表于 2019-3-19 16:31:56 | 显示全部楼层
非感谢楼主分享。

ps:今天的加分用完了,明天给楼主加分
回复

使用道具 举报

56

主题

904

回帖

1072

积分

至尊会员

积分
1072
发表于 2019-3-19 20:36:46 | 显示全部楼层
关注。QSPI的各种编程方法。 最后搞个大集合。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106745
QQ
发表于 2019-3-20 01:48:44 | 显示全部楼层
eric2013 发表于 2019-3-19 16:31
非感谢楼主分享。

ps:今天的加分用完了,明天给楼主加分

已经补上
回复

使用道具 举报

0

主题

11

回帖

11

积分

新手上路

积分
11
发表于 2019-5-17 12:20:19 | 显示全部楼层
楼主这个是我试过的给H750下载的最接近的,虽然我还没成功,但是我看到了希望。
回复

使用道具 举报

0

主题

11

回帖

11

积分

新手上路

积分
11
发表于 2019-5-18 13:15:04 | 显示全部楼层
大神,按照你的方法终于移植成功了,现在先点擦除,然后读取都是正常的,如果已上电就点读取,就会读失败...
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2020-5-27 17:51:21 | 显示全部楼层
为啥我的stldr文件可以读  擦除 写的时候只写了前面一部分数据    后面大部分数据都没有写成功
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2020-5-27 17:54:18 | 显示全部楼层
为什么我的stldr文件可以读 擦除 但是只写入前面一部分数据  后面大部分数据都没有写成功  不知道什么原因
回复

使用道具 举报

0

主题

57

回帖

57

积分

初级会员

积分
57
发表于 2020-6-16 08:25:47 | 显示全部楼层
战略MARK,我也是BANK2,回头移植到W25Q80上
回复

使用道具 举报

18

主题

321

回帖

375

积分

高级会员

积分
375
发表于 2020-8-27 09:26:02 | 显示全部楼层
感谢楼主的分享。

  1. struct StorageInfo const StorageInfo  =  {
  2. #endif
  3.    "H750_U25Q128",                                                          // Device Name + EVAL Borad name
  4.    NOR_FLASH,                                                           // Device Type
  5.    0x90000000,                                                                // Device Start Address
  6.    0x1000000,                                                                 // Device Size in Bytes (16MBytes)
  7.    0x100,                                                                      // Programming Page Size 256Bytes
  8.    0xFF,                                                                       // Initial Content of Erased Memory
  9. // Specify Size and Address of Sectors (view example below)
  10.    0x00000100, 0x00010000,                                                      // Sector Num : 256 ,Sector Size: 64KBytes
  11.    0x00000000, 0x00000000,
  12. };
复制代码


但是这里有一个疑问,W25Q128的话 这里的应该是0x00001000, 0x00001000,     // Sector Num : 512 ,Sector Size: 4K
回复

使用道具 举报

4

主题

27

回帖

39

积分

新手上路

积分
39
发表于 2020-8-29 17:29:57 | 显示全部楼层
王海靖 发表于 2020-8-27 09:26
感谢楼主的分享。

效果一样,后面的0x10000表示一个扇区64KB,算法处理上注意一下就可以了.
回复

使用道具 举报

18

主题

321

回帖

375

积分

高级会员

积分
375
发表于 2020-8-30 14:53:45 | 显示全部楼层
lizimu 发表于 2020-8-29 17:29
效果一样,后面的0x10000表示一个扇区64KB,算法处理上注意一下就可以了.

感谢您的回复。
我用了同款FLASH,但是我接在了BANK1上,QSPI目前操作FLASH 还有点问题,还没能跑起来
回复

使用道具 举报

4

主题

27

回帖

39

积分

新手上路

积分
39
发表于 2020-8-30 19:52:33 | 显示全部楼层
王海靖 发表于 2020-8-30 14:53
感谢您的回复。
我用了同款FLASH,但是我接在了BANK1上,QSPI目前操作FLASH 还有点问题,还没能跑起来

使用HAL库编写"下载算法",各种问题.现在多数用的寄存器写.论坛里有你需要的可以参考.
回复

使用道具 举报

18

主题

321

回帖

375

积分

高级会员

积分
375
发表于 2020-8-31 10:05:56 | 显示全部楼层
lizimu 发表于 2020-8-30 19:52
使用HAL库编写"下载算法",各种问题.现在多数用的寄存器写.论坛里有你需要的可以参考.

感谢您的回复,已经找到了,也是您写的
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2020-10-21 18:06:41 | 显示全部楼层
一直想在cubeIDE上用,这个不知道能不能用
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2021-7-31 13:37:17 | 显示全部楼层
王海靖 发表于 2020-8-30 14:53
感谢您的回复。
我用了同款FLASH,但是我接在了BANK1上,QSPI目前操作FLASH 还有点问题,还没能跑起来

你那边bank1上跑起来了吗  我在bank1也跑不起来 不知到啥原因
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106745
QQ
发表于 2021-7-31 14:25:50 | 显示全部楼层
harry 发表于 2021-7-31 13:37
你那边bank1上跑起来了吗  我在bank1也跑不起来 不知到啥原因

参考我的吧,没问题。

http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980

QQ截图20210731142645.png
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2021-7-31 14:52:36 | 显示全部楼层
eric2013 发表于 2021-7-31 14:25
参考我的吧,没问题。

http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980

我这边是外挂在QSPI上的 能不能加Q指导一下
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2021-7-31 15:20:59 | 显示全部楼层
eric2013 发表于 2021-7-31 14:25
参考我的吧,没问题。

http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980

感谢  可以下载了 但是最后校验失败是咋回事
15:17:39 : Error: Data mismatch found at address  0x90000000 (byte = 0xBB instead of 0x00)
  15:17:39 : Error: Download verification failed
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106745
QQ
发表于 2021-8-2 00:06:46 | 显示全部楼层
harry 发表于 2021-7-31 15:20
感谢  可以下载了 但是最后校验失败是咋回事
15:17:39 : Error: Data mismatch found at address  0x9 ...

说明算法实现还是有点问题。
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2022-4-20 11:13:35 | 显示全部楼层
请问里面的打印语句什么时候会被调用输出到串口上?比如初始化语句
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2022-4-21 10:20:49 | 显示全部楼层
改了半天还是没成功,找到别的工程代码修改一下就可以了。H750+W25Q64
地址也放上来了:
https://blog.csdn.net/tianizimar ... 1001.2014.3001.5502
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 15:34 , Processed in 0.370616 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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