标签: swd

初始化 ST-Link 设备时出错 - 无法连接到设备

我目前正在使用 ST-Link 调试器对我的 STM32F3 探索板进行编程。我使用的 IDE 是 Atollic TrueStudio 5.5.2。现在我面临一个非常奇怪的问题,那就是我不断收到消息

初始化 ST-Link 设备时出错。原因:(-1) 无法连接到设备。请检查目标的电源和电缆。

每当我想将程序下载到我的 STM32 中时。我尝试了一些从互联网上找到的解决方案,但问题仍然存在。有没有人遇到过这个问题?任何建议都会有所帮助。 在此处输入图片说明

这是我找到的解决方案,但我不适合我。 http://www.kerrywong.com/2012/08/02/the-dreaded-cannot-connect-to-st-link-error-message/

stm32 gdbserver swd

7
推荐指数
1
解决办法
5万
查看次数

STM32CubeIDE只能刷一次,没有SWD调试

几年来,我一直在使用 mbed 在线编译器来创建 .bin 文件,然后像这样在命令行中使用 ST-LINK/V2 USB 加密狗刷写它们,一切都完美无缺:

st-flash write 01_blink.NUCLEO_F103RB.bin 0x8000000
Run Code Online (Sandbox Code Playgroud)

今天我下载了 STM32CubeIDE for Linux (Fedora 30) 并开始学习本教程,使用 maple mini (STM32F103CBT6)。

https://www.digikey.co.nz/en/maker/projects/getting-started-with-stm32-introduction-to-stm32cubeide/6a6c60a670c447abb90fd0fd78008697

构建项目并开始调试运行后,我得到输出:

STMicroelectronics ST-LINK GDB server. Version 5.3.2
Copyright (c) 2019, STMicroelectronics. All rights reserved.

Starting server with the following options:
        Persistent Mode            : Disabled
        Logging Level              : 1
        Listen Port Number         : 61234
        Status Refresh Delay       : 15s
        Verbose Mode               : Disabled
        SWD Debug                  : Enabled

Waiting for debugger connection...
Debugger connected
      -------------------------------------------------------------------
                        STM32CubeProgrammer v2.2.0                  
      -------------------------------------------------------------------



Log …
Run Code Online (Sandbox Code Playgroud)

stm32 gdbserver swd

6
推荐指数
1
解决办法
1万
查看次数

如何使用OpenOCD ping芯片(检测是否连接了芯片)

1.问题解释

我正在尝试将OpenOCD用于不常见的事情。除了连接芯片,我只想检测芯片。
我想到的过程将如下所示:

  1. 使用参数作为探针的配置文件(例如stlink.cfg)启动OpenOCD -f。因此,OpenOCD知道要使用哪种探针,但不知道它将找到哪种芯片。

  2. OpenOCD检测到芯片并以某种方式报告该错误(例如,向stdout写一些东西)。如果可能的话,此操作不应对芯片造成干扰(例如将其重置)。

  3. OpenOCD关闭。

以下是有关该过程的更多说明:

注意1:如果OpenOCD没有达到服务器状态(我需要设置Telnet或GDB客户端才能与其进行交互),那将是很好的。我很乐意以更方便的方式获得芯片检测报告,例如在stdout通道上获取芯片信息。

注2:检测不应对芯片造成干扰。但是,如果OpenOCD找不到任何东西,我希望有一种备份方法,其中OpenOCD尝试更积极地查找芯片(例如按住nRST销)。如果需要,我可以自己调用其他方法(因此,无需OpenOCD自动执行此操作)。

注意3:首先,我将仅在具有STLinkV2或STLinkV3探针的STM32芯片上应用此“芯片检测”功能,然后再将其应用于其他探针和芯片。

注4:某些板仅具有SWD连接(无JTAG)。

注意5:我正在Windows 10计算机上工作,并从https://www.playembedded.org/blog/download/下载了最新的OpenOCD版本(版本0.10.0_dev00921,于2019年7月6日构建)。

 

2.到目前为止我尝试过的

Tommy Murphy先生向我介绍了OpenOCD参考手册中的10.7节(请参阅http://openocd.org/doc/pdf/openocd.pdf)。我已经阅读了本节,并观察了以下示例:

# openocd.cfg file
# -----------------
    source [find interface/olimex-arm-usb-tiny-h.cfg]
    reset_config trst_and_srst
    jtag_rclk 8
Run Code Online (Sandbox Code Playgroud)

因为我的芯片通过STLink探针连接并且使用SWD传输协议(而不是JTAG),所以我对该示例进行了一些修改:

# openocd.cfg file
# -----------------
    source [find interface/stlink.cfg]
    transport select hla_swd
    reset_config srst_only
    adapter_khz 480
Run Code Online (Sandbox Code Playgroud)

我将NUCLEO_F303K8板连接到PC进行此测试。然后,在控制台中发出以下命令:

> openocd -s "C:\...\scripts" …

embedded microcontroller jtag openocd swd

5
推荐指数
1
解决办法
569
查看次数

标签 统计

swd ×3

gdbserver ×2

stm32 ×2

embedded ×1

jtag ×1

microcontroller ×1

openocd ×1