Stlink: STM32F030R8T6:闪存加载程序运行错误

创建于 2020-05-17  ·  9评论  ·  资料来源: stlink-org/stlink

  • 编程器/板型:ST-Link v2.1
  • 编程器固件版本:STSW-LINK007 2.37.26
  • 操作系统及版本:Linux、XUbuntu 18.04 LTS
  • Stlink 工具版本和/或 git commit hash:1.6.0-311-ga98b094
  • Stlink 命令行工具名称:st-flash
  • 目标芯片(和电路板,如果适用):STM32F030R8T6、Nucleo-64

命令行输出:

> st-flash write dioda.bin 0x08000000
st-flash 1.6.0-311-ga98b094
2020-05-17T17:59:37 INFO common.c: F0xx: 8 KiB SRAM, 64 KiB flash in at least 1 KiB pages.
file dioda.bin md5 checksum: d3ad84699b33f431b86a77e53b16b11a, stlink checksum: 0x0000080b
2020-05-17T17:59:37 INFO common.c: Attempting to write 56 (0x38) bytes to stm32 address: 134217728 (0x8000000)
2020-05-17T17:59:37 INFO common.c: Flash page at addr: 0x08000000 erased
2020-05-17T17:59:37 INFO common.c: Finished erasing 1 pages of 1024 (0x400) bytes
2020-05-17T17:59:37 INFO common.c: Starting Flash write for VL/F0/F3/F1_XL core id
2020-05-17T17:59:37 INFO flash_loader.c: Successfully loaded flash loader in sram
2020-05-17T17:59:37 ERROR flash_loader.c: flash loader run error
2020-05-17T17:59:37 ERROR common.c: stlink_flash_loader_run(0x8000000) failed! == -1
stlink_fwrite_flash() == -1

预期/描述:

期待它当然被闪现。 更多信息:

  • st-info 识别程序员
  • 将 --reset 添加到 st-flash 没有帮助
  • 对电路板进行电源循环无济于事
  • 在闪存之前大量擦除芯片无济于事
  • 带有 STM32F103RBT6(相同 ST-Link 固件版本)的类似 Nucleo 板使用相同的软件和 USB 电缆闪烁就好了
bufixed componenst-flash erroflash-loader olinux programmestlinkv2-1 staturesolved targestm32f0

最有用的评论

你可以试试我的分支吗(快速而肮脏的修复,作为我想法的证明)?

我已经从您的分支构建并且可以确认,它解决了问题。

所有9条评论

也许我知道这里有什么问题。 你可以试试我的分支吗(快速而肮脏的修复,作为我想法的证明)?

https://github.com/chenguokai/stlink/tree/stlink-v3_pre

如果我是对的,这个问题与新 flashloader 的非 PIC 代码以及 flashloader.c 中的脏修复有关。

你可以试试我的分支吗(快速而肮脏的修复,作为我想法的证明)?

我已经从您的分支构建并且可以确认,它解决了问题。

@chenguokai :我们这里有什么?

正如我所提到的,GPL 许可的 flashloader 是 PIC(位置无关代码),而新的则不是。 这也是为什么我需要编写一个链接描述文件,指定基地址。

通过反汇编编译的 flashloader,我识别出寻址模式与 PC(程序计数器)相关。 我认为它们是 PIC 的一种,所以我在 flashloader.c 中保留了肮脏的 hack 作为 marco。 从这个问题,我可以确认 flashloader 代码绝对不是 PIC,所以这两个 nop 应该添加到 flashloader 代码中,而不是附加在二进制文件之前。

好的,您可以提交 6 月发布的 PR,但请确保分支develop而不是我在上次 PR 后删除的stlink-v3_pre 。 我不知道这是否会导致任何副作用。

@grzegorz-kraszewski 请验证我的 PR 是否解决了这个问题:-)

@grzegorz-kraszewski 请验证我的 PR 是否解决了这个问题:-)

不确定,因为它会触发另一个:

> st-flash write ~/dioda_f030.bin 0x08000000
st-flash 1.6.0-314-g273e798
2020-05-18T10:59:30 WARN common.c: unknown chip id! 0x374b
Failed to connect to target

@grzegorz-kraszewski:这看起来像是一个不同的话题。 请为此开一张新票。

不确定,因为它会触发另一个:

重新启动或拔下插头有帮助吗?

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

tcurdt picture tcurdt  ·  15评论

WK-M picture WK-M  ·  17评论

ihassin picture ihassin  ·  30评论

xor-gate picture xor-gate  ·  17评论

imyaFamiliev picture imyaFamiliev  ·  16评论