platform io 开发stm32使用DAP下载出错

请问platform io 开发stm32使用DAP下载出错是为什么?开发板是野火指南者,用Keil下载没有问题,移植到platform io就这样
编译

img


下载

img


platform io配置

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7761972
  • 这篇博客也不错, 你可以看下STM32程序DAP下载方式和串口下载方式
  • 除此之外, 这篇博客: stm32下载程序中的 1.使用DAP仿真器的原因: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    • 串口不能硬件仿真(单步调试执行)和在线调试
    • 支持所有cortex-M内核的单片机
    • 支持xp,win7,win8,win10系统
    • 支持JTAP下载模式(高速版还支持SW),可在线调试和硬件仿真

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

以下内容部分参考ChatGPT模型:


这个问题可能是由于platform io配置不正确导致的。请检查以下几个方面:

  1. 确保您已经正确安装了platform io插件和相关工具链。
  2. 检查您的platformio.ini文件是否正确配置了目标设备和下载方式。
  3. 确保您的开发板已经正确连接到计算机,并且可以被检测到。
  4. 检查您的开发板是否支持DAP下载方式,如果不支持,请更换下载方式或者更换开发板。

以下是一个示例的platformio.ini文件,您可以参考一下:

[env:nucleo_f401re]
platform = ststm32
board = nucleo_f401re
framework = arduino
upload_protocol = stlink
debug_tool = stlink

其中,upload_protocol和debug_tool分别指定了下载方式为stlink。如果您的开发板支持DAP下载方式,您可以将这两个选项改为daplink。

希望这些思路可以帮助您解决问题。


如果我的建议对您有帮助、请点击采纳、祝您生活愉快

以下答案由GPT-3.5大模型与博主波罗歌共同编写:
出现这种情况多半是由于与 JTAG 和 SWD 线路连接不良导致的。您可以检查设备与芯片的连接是否牢固可靠,还可以尝试更换另一组线路以查看问题是否得到解决。如果还是无法解决,请参考以下建议。

首先,您可以尝试使用 ST-Link 而不是 J-Link 进行下载。野火指南者开发板支持两种下载器,因此您可以尝试更换另一个下载器以查看是否可以解决该问题。

其次,您可以尝试在 PlatformIO 中手动配置编译器和连接器选项。这可以通过在 platformio.ini 中添加以下行来实现(以下是示例代码):

[env:nucleo_f446re]
platform = ststm32
board = nucleo_f446re
framework = cmsis
debug_tool = stlink

注意,这只是示例,您需要根据您自己的开发板类型和配置进行修改。接下来,您需要通过以下命令来编译和下载代码:

platformio run --target=upload

最后,如果这些步骤都没有帮助您解决问题,请在 PlatformIO 的官方论坛上发布您的问题并附上完整的错误信息和您的代码。他们的开发团队和社区会很乐意为您提供帮助。
如果我的回答解决了您的问题,请采纳!

引用chatGPT作答,出现下载错误可能有多种原因,以下是一些可能的解决方案:

1.确保你的野火指南者板子和下载器正确连接。检查连接线是否插好,且没有松动。

2.确保你已经正确设置了PlatformIO环境。你需要正确选择了开发板和上传器,以及正确的串口号。

3.确认你是否选择了正确的DAP上传器。野火指南者板子支持J-Link和ST-Link两种上传器。在PlatformIO中,你需要正确选择上传器并在配置文件中进行配置。

4.确保你的编译器和开发板支持SWD(Serial Wire Debug)模式。如果你的编译器和开发板不支持SWD模式,那么你需要切换到JTAG模式。

5.确认你的固件是否正确烧录到芯片中。在PlatformIO中,你可以使用pio run -t upload 命令烧录固件。在烧录之前,你可以先使用pio run -t build 命令编译固件。