你好,
我正在尝试使用 STM32F407 探索板通过 SWD 刷新 STM32F103 板。 不幸的是,它不仅适用于 STM32F103 板。
st-flash
输出:
st-flash write prog.bin 0x8000000
2017-01-24T18:44:14 INFO src/stlink-common.c: Loading device parameters....
2017-01-24T18:44:14 INFO src/stlink-common.c: Device connected is: F1 High-density device, id 0x10036414
2017-01-24T18:44:14 INFO src/stlink-common.c: SRAM size: 0x10000 bytes (64 KiB), Flash: 0 bytes (0 KiB) in pages of 2048 bytes
正如你所看到的,它给出了一些意想不到的东西,比如Flash: 0 bytes (0 KiB) in pages of 2048 bytes
st-info --probe
Found 1 stlink programmers
serial: 303030303030303030303031
openocd: "\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x31"
flash: 0 (pagesize: 2048)
sram: 65536
chipid: 0x0414
descr: F1 High-density device
有谁知道如何解决它。
先感谢您。
使用 ST Link Utility解决。
董事会是_写保护_
感谢您的报告,我想我会将其添加到文档中,这样其他人就不会因此而失败。
嗨,你能帮我吗? 如何禁用写保护? 我正在使用 Mac OSX。 官方的 St-link 实用工具仅适用于 Windows,对吗?
您可能可以先进行批量擦除,然后我认为写保护已被清除。 或者使用一些 openocd 命令(它具有比 texane/stlink 更多的功能)。
感谢您的快速答复。 我已经尝试擦除闪存,它有效。 但是,问题仍然存在。 我将尝试使用一些 windows 计算机来看看会发生什么。 :\
你在 README 中看到过这个吗?
https://github.com/texane/stlink/commit/0f9e4990ba0cdc295875b219b354fdf42f30a9aa
使用 OpenOCD 时,您可能会调用monitor stm32f1x unlock 0
命令(未经测试)。 请参阅http://openocd.org/doc/html/Flash-Commands.html。
我已经运行了 ST-LINK 实用程序(在 Windows 上),然后我去了 Target > Option Bytes... > Disable Read Out Protection(组合框)。 完成,问题解决。
我可以通过以下链接找到有关使用 openOCD 禁用读取保护的线索: http :
嗨,我在 openocd 终端会话上使用以下命令成功解锁了 stm32 bluepills:
重置暂停
闪存库
stm32f1x mass_erase 0
stm32f1x 解锁 0
之后,该设备已准备好再次进行编程。
@jeroavf谢谢! 这对我有用, --probe
现在返回65536
(看起来我得到了为数不多的 64kb 模型之一)以及正确闪烁。
有趣的是,在执行mass_erase
步骤时,它甚至认为它是 128kb,但没关系。
STM32 flash size failed, probe inaccurate - assuming 128k flash
flash size = 128kbytes
谢谢,我能够使用 Windows ST-Link 实用程序对一些 STM32F437 进行完整的芯片擦除,现在这又可以在 linux st-link 上运行了 :-)
最有用的评论
嗨,我在 openocd 终端会话上使用以下命令成功解锁了 stm32 bluepills:
之后,该设备已准备好再次进行编程。