Arduino 通过SWD(J-LINK)将Platform.io上传至Teensy 3.6

Arduino 通过SWD(J-LINK)将Platform.io上传至Teensy 3.6,arduino,teensy,platformio,swd,Arduino,Teensy,Platformio,Swd,我正在使用优秀的Visual Studio代码为Teensy 3.6(与Arduino兼容的板)开发 这很有效。但我想通过SWD(串行线调试)进行更好的调试。 因此,我断开了与Arduino兼容的USB芯片,改为通过SWD和JLINK连接。与此类似: 我可以使用“J-Link Lite”软件通过platformio构建的固件进行闪存。此外,我可以运行J-Link GDB服务器而不会出现问题。 但是我无法让IDE集成工作 我的platformio.ini如下所示: [env:teensy36] p

我正在使用优秀的Visual Studio代码为Teensy 3.6(与Arduino兼容的板)开发

这很有效。但我想通过SWD(串行线调试)进行更好的调试。 因此,我断开了与Arduino兼容的USB芯片,改为通过SWD和JLINK连接。与此类似:

我可以使用“J-Link Lite”软件通过platformio构建的固件进行闪存。此外,我可以运行J-Link GDB服务器而不会出现问题。 但是我无法让IDE集成工作

我的
platformio.ini
如下所示:

[env:teensy36]
platform = teensy
board = teensy36
framework = arduino
upload_protocol = jlink
debug_tool = jlink
仍然忽略了upload_协议,当我通过IDE调用upload(
platformio.exe run--target upload
)时,我得到的只是

Linking .pioenvs\teensy36\firmware.elf
Checking program size
text       data     bss     dec     hex filename
17348       172    2696   20216    4ef8 .pioenvs\teensy36\firmware.elf
Building .pioenvs\teensy36\firmware.hex
Uploading .pioenvs\teensy36\firmware.hex
Teensy Loader, Command Line, Version 2.1
Read ".pioenvs\teensy36\firmware.hex": 17520 bytes, 1.7% usage
Soft reboot is not implemented for Win32
Waiting for Teensy device...
(hint: press the reset button)
所以它仍然试图通过Arduino兼容的USB连接而不是SWD连接上传。如何让platformio更改上载方法或上载协议?

从中,它提供了一个如何配置Jlink GDB服务器的示例:

[env:bluepill_f103c8]
...
; Debug options
debug_tool = custom
debug_server =
    JLinkGDBServer
    -singlerun
    -if
    SWD
    -select
    USB
    -port
    2331
    -device
    STM32F103C8
如果路径中不包含JLinkGDBServer.exe,则需要指定JLinkGDBServer.exe的完整文件名

我试过这个,它有效


还有一个使用JlinkGDBServerCL.exe的示例-。

谢谢您的回复!我独立发现了自定义配置。但是我遇到了几个bug。幸运的是平台支持非常好。我花了很多时间和platformio团队通过电子邮件和teamviewer让这个董事会和社会福利署合作。当这个问题最终解决后,我将发布一个单独的答案,我确信修复将到达platformio主分支。