硬汉嵌入式论坛

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

制作的STM32F4外置SPI Flash的MDK下载算法不能内部Flash和外部Flash同时下载,而H7版的无此问题(已经解决)

  [复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2020-11-14 16:10:31 | 显示全部楼层 |阅读模式
想省点事,看来是不行了,只能添加外置Flash下载算法单独下载了,之后再切到内置Flash算法即可。

本来是打算像QSPI Flash那样使用,两个算法都添加进来
55.jpg

现在测试V7板子没问题,V5和V6仅能只添加一个算法,依次下载,不能同时都添加下载。都是操作的标准SPI Flash。

V5和V6同时添加会提示如下错误,也是校验的时候没有通过,实际测试程序已经正常运行了,不知道为什么校验这里还是会卡住

5.png


后续补充, 已经解决

1、MDK下载,将SPI Flash的外部下载算法的主频时钟使用HSI,不要使用PLL配置或者HSE
2、使用我们H7-TOOL的脱机烧录下载算法文件实现,无论使用那种时钟都可以正常下载。

参考资料

【实战技能】任何支持SWD接口的单片机都可以方便移植的SPI Flash烧写算法制作,含视频说明(2022-05-30)
https://forum.anfulai.cn/forum.php? ... d=112600&fromuid=58
(出处: 硬汉嵌入式论坛)







回复

使用道具 举报

5

主题

85

回帖

100

积分

初级会员

积分
100
发表于 2020-11-15 16:13:56 | 显示全部楼层
我记得把verify和reset and run选项去掉应该
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2020-11-15 16:22:28 | 显示全部楼层
lidp000 发表于 2020-11-15 16:13
我记得把verify和reset and run选项去掉应该

对,去掉校验也可以的。
回复

使用道具 举报

5

主题

85

回帖

100

积分

初级会员

积分
100
发表于 2020-11-15 18:52:28 | 显示全部楼层
eric2013 发表于 2020-11-15 16:22
对,去掉校验也可以的。

我就是这样用着呢
回复

使用道具 举报

10

主题

111

回帖

141

积分

初级会员

积分
141
发表于 2020-11-16 14:42:10 | 显示全部楼层
是不是算法初始化了系统时钟而且系统时钟太高? 我以前试过 F429系统时钟在100M 还是90M以下 是可以内外部一起下载的.....
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2020-11-16 15:09:39 | 显示全部楼层
xy201207 发表于 2020-11-16 14:42
是不是算法初始化了系统时钟而且系统时钟太高? 我以前试过 F429系统时钟在100M 还是90M以下 是可以内外部 ...

我试过降低SPI Flash的频率,不行。

回复

使用道具 举报

4

主题

25

回帖

37

积分

新手上路

积分
37
发表于 2020-11-20 16:51:05 | 显示全部楼层
一脸懵逼,完全搞不懂在干什么。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2020-11-20 17:57:13 | 显示全部楼层
yconnor 发表于 2020-11-20 16:51
一脸懵逼,完全搞不懂在干什么。

看教程第47和48章即可

【安富莱】V6,V5开发板用户手册,重在BSP驱动包设计方法,HAL库的框架学习,授人以渔,更新至48章(2020-11-16)
https://forum.anfulai.cn/forum.p ... 3255&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

0

主题

8

回帖

8

积分

新手上路

积分
8
发表于 2020-11-21 23:37:19 | 显示全部楼层
老大,什么时候出一个F1xx的SPI FLASH的下载算法吧
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2020-11-22 09:56:08 | 显示全部楼层
admvip 发表于 2020-11-21 23:37
老大,什么时候出一个F1xx的SPI FLASH的下载算法吧

参考F4的修改就行,F1和F4没啥区别

https://forum.anfulai.cn/forum.p ... &extra=page%3D1
回复

使用道具 举报

0

主题

8

回帖

8

积分

新手上路

积分
8
发表于 2020-11-22 12:19:06 | 显示全部楼层
eric2013 发表于 2020-11-22 09:56
参考F4的修改就行,F1和F4没啥区别

https://forum.anfulai.cn/forum.php?mod=viewthread&tid=93255&extra= ...

我用的是F103CB的板子,板载W25Q64,MCU的RAM只有20k,按照老大的F4教程,算法倒是生成了,但是用HAL库,生成的算法体积搞得太大了,RAM放不下,运行不了,能不能搞个F103CB能用的,体积小点的FLM文件?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2020-11-22 12:23:49 | 显示全部楼层
admvip 发表于 2020-11-22 12:19
我用的是F103CB的板子,板载W25Q64,MCU的RAM只有20k,按照老大的F4教程,算法倒是生成了,但是用HAL库, ...

F1不打算做了,主要是我们的F1板子已经停产了,不再维护了。
回复

使用道具 举报

5

主题

109

回帖

124

积分

初级会员

积分
124
发表于 2020-11-27 21:52:46 | 显示全部楼层
我的可以同时用没问题  擦除校验啥的都正常
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2020-11-28 00:03:58 | 显示全部楼层
打洞者 发表于 2020-11-27 21:52
我的可以同时用没问题  擦除校验啥的都正常

这个依次下载也行,无碍。
回复

使用道具 举报

3

主题

40

回帖

49

积分

初级会员

积分
49
发表于 2020-11-30 08:51:19 | 显示全部楼层
eric2013 发表于 2020-11-28 00:03
这个依次下载也行,无碍。

您好,我在用F767的板子同时使用内部FLASH和W25Q256的下载算法,然后擦除这两部分区域没问题,下载就不行了,直接从0x08000000就开始下不了了,显示的是flash timeout.
cuowu.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2020-11-30 13:01:04 | 显示全部楼层
HuSanKeke 发表于 2020-11-30 08:51
您好,我在用F767的板子同时使用内部FLASH和W25Q256的下载算法,然后擦除这两部分区域没问题,下载就不行 ...

在你的这个帖子里面回复你了。

关于使用QSPI FLASH下载算法时遇到的问题
https://forum.anfulai.cn/forum.p ... 1712&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

5

主题

13

回帖

28

积分

新手上路

积分
28
发表于 2020-12-2 15:18:09 | 显示全部楼层
大佬,可以转载关于外部flash下载的文章吗?
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2020-12-25 09:58:29 | 显示全部楼层
我的MDK编译以后,报错如下,谁能帮忙指点一下么?
.\output\Project.axf: Error: L6211E: Ambiguous section selection. Object gb2312.o contains more than one section.
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2020-12-26 10:00:25 | 显示全部楼层
liuyongliuyong 发表于 2020-12-25 09:58
我的MDK编译以后,报错如下,谁能帮忙指点一下么?
.\output\Project.axf: Error: L6211E: Ambiguous sect ...

没配置好, gb2312.c重复定义到了多个section
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2020-12-30 19:44:03 | 显示全部楼层
eric2013 发表于 2020-12-26 10:00
没配置好, gb2312.c重复定义到了多个section

那我应该怎么配置呢,求告知,不甚感激
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2020-12-30 19:46:23 | 显示全部楼层
eric2013 发表于 2020-12-26 10:00
没配置好, gb2312.c重复定义到了多个section

我gb2312.c是复制的硬汉工程里面的文件
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2020-12-31 09:56:57 | 显示全部楼层
liuyongliuyong 发表于 2020-12-30 19:44
那我应该怎么配置呢,求告知,不甚感激

我测试那会,我是删掉了这个文件,然后重新添加配置后,单独对这个文件进行编译后正常了。
回复

使用道具 举报

32

主题

88

回帖

184

积分

初级会员

积分
184
发表于 2023-6-30 11:14:04 | 显示全部楼层
eric2013 发表于 2020-12-31 09:56
我测试那会,我是删掉了这个文件,然后重新添加配置后,单独对这个文件进行编译后正常了。

是这个文件重新移除再添加吗?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2023-7-1 08:46:55 | 显示全部楼层
Y1ng 发表于 2023-6-30 11:14
是这个文件重新移除再添加吗?

对。

后来测试发现这个是MDK的处理问题,使用我们TOOL做两个同时下载没问题。
回复

使用道具 举报

32

主题

88

回帖

184

积分

初级会员

积分
184
发表于 2023-7-1 09:47:42 | 显示全部楼层
eric2013 发表于 2023-7-1 08:46
对。

后来测试发现这个是MDK的处理问题,使用我们TOOL做两个同时下载没问题。

那个 --keep=*.o 关了好像就可以再次编译 不用再添加
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2023-7-1 09:48:41 | 显示全部楼层
Y1ng 发表于 2023-7-1 09:47
那个 --keep=*.o 关了好像就可以再次编译 不用再添加

你要说的是这个文件的话,都可以,怎么玩都行,自己怎么方面就怎么用

我们讨论的应该不是一个问题,我说的是下载这个文件时的FLM算法问题。
回复

使用道具 举报

32

主题

88

回帖

184

积分

初级会员

积分
184
发表于 2023-7-1 11:57:16 | 显示全部楼层
eric2013 发表于 2023-7-1 09:48
你要说的是这个文件的话,都可以,怎么玩都行,自己怎么方面就怎么用

我们讨论的应该不是一个问题,我 ...

就是讨论FLM应用延伸的一个问题。
目前有还有两点疑问
1.文件右键指定地址与在数组定义地址是不是等效的(二者先一种就行)
下载 (8).png

下载 (10).png

2.这边的--keep是不是必需的(当加了 --keep 后 若文件有改动就会导致编译失败)

下载 (9).png



回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2023-7-2 09:44:43 | 显示全部楼层
Y1ng 发表于 2023-7-1 11:57
就是讨论FLM应用延伸的一个问题。
目前有还有两点疑问
1.文件右键指定地址与在数组定义地址是不是等效 ...

1、对,看map文件是否设置成功即可
2、特别注意看map文件,保证没有被优化掉,keep保留设置就成功了。
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2024-6-8 16:04:58 | 显示全部楼层
@eric2013
请问是否有IAR和stm32cubeIDE这两个的内部Flash和外部Flash同时下载说明?非常感谢!
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2024-6-9 01:22:05 | 显示全部楼层
xxxjjj 发表于 2024-6-8 16:04
@eric2013
请问是否有IAR和stm32cubeIDE这两个的内部Flash和外部Flash同时下载说明?非常感谢!

这两个我没有做,仅做了MDK的。
回复

使用道具 举报

1

主题

27

回帖

30

积分

新手上路

积分
30
发表于 2024-9-30 10:36:38 | 显示全部楼层
我在用STM32L431RCT6使用也发现不行,没有办法内部Flash和外部Flash同时下载,那么是不是这样的话,下面这个帖子提到的调试程序将无法进行?
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=101011
那么有没有其他办法在这些系列上完成调试呢?有没有兼容的办法,因为我测试先烧录外部Flash后烧录并调试内部Flash将报错。

而且我按照这里其他人说的,把Verify关闭,发现不行,因为我的Download有冲突会报错,但是我用逻辑分析仪查看Flash下载数据内容,发现所有分析传输数据内容和您在下面链接拆分得到的BIN文件发现都是相同
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=110248
然后我想问,这个是正常的吗?

最后想问一下,这个您认为是什么原因?芯片设计问题?Keil软件兼容问题?有解吗?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2024-10-1 00:39:49 | 显示全部楼层
wsr2580 发表于 2024-9-30 10:36
我在用STM32L431RCT6使用也发现不行,没有办法内部Flash和外部Flash同时下载,那么是不是这样的话,下面这 ...

设置外置Flash的算法工程也使用内部HSI,不要使用PLL或者HSE,一般可以解决。

这个是后来测试发现的。
回复

使用道具 举报

1

主题

27

回帖

30

积分

新手上路

积分
30
发表于 2024-10-1 10:04:31 | 显示全部楼层
eric2013 发表于 2024-10-1 00:39
设置外置Flash的算法工程也使用内部HSI,不要使用PLL或者HSE,一般可以解决。

这个是后来测试发现的。

经过在STM32L431RCT6中测试没问题,谢谢硬汉哥。

实际上,我想使用内部晶振也对,这样晶振没有复杂的初始化,毕竟是影响系统频率的。

但是刚开始只会从协议上找原因,还是经验不够。
回复

使用道具 举报

1

主题

27

回帖

30

积分

新手上路

积分
30
发表于 2024-10-2 10:07:19 | 显示全部楼层
eric2013 发表于 2023-7-2 09:44
1、对,看map文件是否设置成功即可
2、特别注意看map文件,保证没有被优化掉,keep保留设置就成功了。

我在设置Misc conttrils :  写上这个 --keep=gb2312.o的时候,也报了相似的错误,而且按照您提的方案解决不了。

所以我不设置这个选项,编译成功后烧录时数据也放入了Flash中了。在map中的信息我搜索资料后也不太会看,发现gb2312存在于以下地方:
1.png
在这里我觉得最像,它标识了放置位置,请问是不是这个决定放置成功的呢?


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2024-10-3 09:04:35 | 显示全部楼层
wsr2580 发表于 2024-10-2 10:07
我在设置Misc conttrils :  写上这个 --keep=gb2312.o的时候,也报了相似的错误,而且按照您提的方案解决 ...

可以
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-12 04:24 , Processed in 0.074577 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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