硬汉嵌入式论坛

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

[有问必答] keil spi flash flm加载失败

[复制链接]

3

主题

9

回帖

18

积分

新手上路

积分
18
发表于 2024-3-18 11:52:43 | 显示全部楼层 |阅读模式
本帖最后由 junxi_jiayou 于 2024-3-18 11:58 编辑

keil无法加载flm

keil无法加载flm

采用了硬汉大牛在v7中提供的spi flash flm制作的历程,我将之移植到了stm32f407上产生了如上图的所示现象,因为这方面资料网上不多,我想请问一下各位大牛出现上述的可能原因有哪些,以及可能有什么解决方法? (备注程序我只把V7的底层换成了F4的也接受V5,修改了一下容量,spi引脚配置及其时钟其余均未做修改,然后我采用的spiflash是w25q128xx)。谢谢大家
回复

使用道具 举报

19

主题

234

回帖

291

积分

高级会员

积分
291
发表于 2024-3-18 14:37:16 | 显示全部楼层
估计用于加载编程算法的RAM大小不够。在魔术棒选项卡选择编程算法的地方,把RAM for Algorithm的大小加大
回复

使用道具 举报

3

主题

9

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2024-3-18 15:02:04 | 显示全部楼层
tovinz 发表于 2024-3-18 14:37
估计用于加载编程算法的RAM大小不够。在魔术棒选项卡选择编程算法的地方,把RAM for Algorithm的大小加大

非常感谢您的回复,加大空间后外部spi flash成功擦除了,但是又出现了新的问题,如图,说校验错误
回复

使用道具 举报

3

主题

9

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2024-3-18 15:05:58 | 显示全部楼层
修改后校验错误图片
ver.PNG
回复

使用道具 举报

3

主题

9

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2024-3-18 15:40:24 | 显示全部楼层
我还发现在keil烧录读条是擦除芯片后说有的都往0xc0000000写入了,也就是外部spi flash的起始地址,录了一下状态但是文件太大,下面的ram的配置
ia.PNG
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2024-3-18 15:56:48 | 显示全部楼层
junxi_jiayou 发表于 2024-3-18 15:05
修改后校验错误图片

MDK Option选项里面测试不勾选校验,然后实际测试下数据是否正确下载了。
回复

使用道具 举报

3

主题

9

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2024-3-18 16:01:46 | 显示全部楼层
eric2013 发表于 2024-3-18 15:56
MDK Option选项里面测试不勾选校验,然后实际测试下数据是否正确下载了。

有谁尝试过程序不运行,(若不使用外部flash的flm,程序是可以正常执行,也不会出现校验错误)
回复

使用道具 举报

19

主题

234

回帖

291

积分

高级会员

积分
291
发表于 2024-3-18 16:05:02 | 显示全部楼层
STM32F4应该是不支持QSPI内存映射的。所以分散加载不能把程序放到0xC000_0000。
至于校验错误,不知道你是怎么写的校验,算法如果你的校验算法直接用的V7那一套,估计连烧录都没有成功,硬汉老师的V7文档中用的QSPI的方式擦写的Flash,更别说读出来校验了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2024-3-19 07:50:43 | 显示全部楼层
tovinz 发表于 2024-3-18 16:05
STM32F4应该是不支持QSPI内存映射的。所以分散加载不能把程序放到0xC000_0000。
至于校验错误,不知道你是 ...

他这里做了个特殊用法。

F4实现SPI Flash和EEPROM的外部烧录,由于不支持内存映射,所以FLM算法里面是随意定义了总线地址,然后程序里面针对这个地址做了个要读写的位置偏移处理,是这么来的。
回复

使用道具 举报

3

主题

9

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2024-3-19 09:20:38 | 显示全部楼层
非常感谢硬汉老师以及tonviz靓仔的回复,我后面把spi flash与内部flash分开烧录虽然报错但是程序还是按照预计的运行了。再次谢谢大家
回复

使用道具 举报

19

主题

234

回帖

291

积分

高级会员

积分
291
发表于 2024-3-19 09:27:24 | 显示全部楼层
eric2013 发表于 2024-3-19 07:50
他这里做了个特殊用法。

F4实现SPI Flash和EEPROM的外部烧录,由于不支持内存映射,所以FLM算法里面是 ...

明白了。
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2024-3-23 14:46:24 | 显示全部楼层
楼主,你好,我用STM32L151加spi flash,RAM for Algorithm加大后程序不能正常烧录,RAM for Algorithm大小合适后又报调用算法错误,这种情况 如何解决
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2024-3-25 07:49:53 | 显示全部楼层
zlf0216 发表于 2024-3-23 14:46
楼主,你好,我用STM32L151加spi flash,RAM for Algorithm加大后程序不能正常烧录,RAM for Algorithm大小 ...

你这个算法文件正常过吗。
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2024-3-25 16:32:57 | 显示全部楼层
eric2013 发表于 2024-3-25 07:49
你这个算法文件正常过吗。

如何检验算法文件是否可使用
回复

使用道具 举报

3

主题

122

回帖

131

积分

初级会员

积分
131
发表于 2024-3-26 08:50:46 | 显示全部楼层
zlf0216 发表于 2024-3-25 16:32
如何检验算法文件是否可使用

是不是没改库就直接用了,搞算法文件本质就是把正常读写spiflash的程序包装成烧录程序,烧录器调用包装后的烧录程序就是读写spiflash,所以读写spiflash的程序必须要正确,要在对应单片机上先读写成功再去包装这个程序,如果是h7的算法文件直接用到L1上肯定是不行的
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2024-3-26 09:12:40 | 显示全部楼层
大佬,FLM算法大于芯片ram了,加载算法一直提示加载错误,更改RAM FOR ALGORITHM为0XF000后原程序下载就会报flash download failed-cortexm3
回复

使用道具 举报

3

主题

122

回帖

131

积分

初级会员

积分
131
发表于 2024-3-26 10:14:34 | 显示全部楼层
zlf0216 发表于 2024-3-26 09:12
大佬,FLM算法大于芯片ram了,加载算法一直提示加载错误,更改RAM FOR ALGORITHM为0XF000后原程序下载就会 ...

程序大于芯片RAM就只能换库了,程序改成LL库或者直接操作寄存器
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2024-3-26 10:28:52 | 显示全部楼层
zlf0216 发表于 2024-3-26 09:12
大佬,FLM算法大于芯片ram了,加载算法一直提示加载错误,更改RAM FOR ALGORITHM为0XF000后原程序下载就会 ...

这个你得降低下算法大小才能使用了。
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2024-3-26 17:18:15 | 显示全部楼层
eric2013 发表于 2024-3-26 10:28
这个你得降低下算法大小才能使用了。

是的直接操作寄存器就可以了
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2024-3-26 17:18:44 | 显示全部楼层
skyshine 发表于 2024-3-26 10:14
程序大于芯片RAM就只能换库了,程序改成LL库或者直接操作寄存器

嗯嗯,操作寄存器就可以了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 14:29 , Processed in 0.228210 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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