硬汉嵌入式论坛

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

[问题解答] H7Tool烧录单片机及外挂SPIFlash异常

[复制链接]

1

主题

4

回帖

7

积分

新手上路

积分
7
发表于 昨天 10:39 | 显示全部楼层 |阅读模式
本帖最后由 CC12_068 于 2026-3-30 10:56 编辑

单片机为STM32G070,外置FLASH为W25Q128,已制作外置FLASH烧录算法并在Keil中验证算法可用
烧录时提示外置FLASH数据文件过大, 但数据文件大小只有1.6MB左右, 远小于外置FLASH容量, 也小于算法内定义的外置FALSH大小
求大佬们帮忙解答下, 修改过的烧录脚本文件和烧录算法文件都已放在附件内
SPI引脚如下:
SPI_CS: PB9
SPI_CLK: PB8
SPI_MOSI: PB7
SPI_MISO: PB6
烧录记录如下
下载 (1).png
工具内参数配置如下

下载 (2).png



下载.png

STM32G0x0xB_128_SB.lua

2.9 KB, 下载次数: 1

修改过的烧录脚本

STM32G0x0_W25Q128.zip

64.95 KB, 下载次数: 0

烧录算法文件

回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
121830
QQ
发表于 昨天 10:57 | 显示全部楼层
1、你的LUA和 FLM同步到eMMC后,关闭上位机,关闭TOOL都重新打开,然后测试,
2、SPI Flash的烧写不要勾选整片擦除,时间非常长。

然后你测试下看看是否有问题,还是有问题的话,加我QQ512464265。我帮你远程看看
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 昨天 11:11 | 显示全部楼层
eric2013 发表于 2026-3-30 10:57
1、你的LUA和 FLM同步到eMMC后,关闭上位机,关闭TOOL都重新打开,然后测试,
2、SPI Flash的烧写不要勾选 ...

按要求操作之后报错信息变了, 这是现在的报错信息:
我尝试了更换不同的复位模式,没有效果
------------------------
FLM : 0:/H7-TOOL/Programmer/Device/ST/STM32G0xx/FLM/STM32G0x0_W25Q128.FLM
Data: Desk_HL.hex_2_0x90000000.bin
Addr: 0x90000000, cfg = 0
InitUnderReset(0)
..DeviceID = 20016460
OK
.NVIC_CPUID = 410CC601, Cortex-M0+ r0p1
正在检查空片
  2510ms, 0.00%
error:1100 swd_wait_until_halted() timeout
target_flash_check_blank() error, FlashAddr = 90000000, FileLen = 1A7530

ExtLoader ForKeil.rar

3.26 MB, 下载次数: 0

烧录算法源代码

回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 昨天 11:15 | 显示全部楼层
eric2013 发表于 2026-3-30 10:57
1、你的LUA和 FLM同步到eMMC后,关闭上位机,关闭TOOL都重新打开,然后测试,
2、SPI Flash的烧写不要勾选 ...

另外烧录查空时显示的地址是0x0802000, 不是我目标的0x9000000

回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
121830
QQ
发表于 昨天 11:20 | 显示全部楼层
可以禁止查空,把你这个

[Lua] 纯文本查看 复制代码
        --供PC软件选择算法的列表
        -- AlgoFile_List = {
        --         "AlgoFile_FLASH", FLASH_ADDRESS, FLASH_SIZE,
        --         "AlgoFile_SPI", SPI_ADDRESS, SPI_SIZE,
        --         "AlgoFile_OTP", 0x1FFF7000, 1024,                        
        -- }


修改成如下,并保存文件,然后同步到eMMC,同步后,同样需要关闭上位机,关闭TOOL,都重新上电测试

[Lua] 纯文本查看 复制代码
        --供PC软件选择算法的列表 (算法文件名, 地址,大小,32bit控制字bit1表示禁止查空, 同时预留4个字段 )
        AlgoFile_ListA = {
                "AlgoFile_FLASH" , FLASH_ADDRESS, FLASH_SIZE,  0x00000000, 0, 0, 0, 0,
                "AlgoFile_SPI",    SPI_ADDRESS,   SPI_SIZE,    0x00000002, 0, 0, 0, 0,
                "AlgoFile_OTP",    0x1FFF7000,    1024,        0x00000000, 0, 0, 0, 0,
        }



ps:最后就是注意,你的上位机和固件都是最新的2.3.1版本,要用最新版。
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 昨天 14:59 | 显示全部楼层
eric2013 发表于 2026-3-30 11:20
可以禁止查空,把你这个

[mw_shl_code=lua,true]        --供PC软件选择算法的列表

感谢老大, 可以烧录了
另外有个建议, 电池版H7自动关机前先检查下有没有正在运行的烧录, 有的话就不要自动关机
默认1分钟屏保时间, 烧录完成前电就断了
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
121830
QQ
发表于 昨天 15:18 | 显示全部楼层
CC12_068 发表于 2026-3-30 14:59
感谢老大, 可以烧录了
另外有个建议, 电池版H7自动关机前先检查下有没有正在运行的烧录, 有的话就不要自 ...

好的,我反馈下这个问题。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-31 05:13 , Processed in 0.211554 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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