1

我正在使用优秀的 ht​​tp: //platformio.org/和 Visual Studio Code 为 Teensy 3.6(Arduino 兼容板)进行开发。

这很好用。但我想通过 SWD(串行线调试)进行更好的调试。所以我断开了与 Arduino 兼容的 USB 芯片,转而通过 SWD 和 JLINK 连接。与此类似:https ://mcuoneclipse.com/2017/04/29/modifying-the-teensy-3-5-and-3-6-for-arm-swd-debugging/

我可以使用“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_protocol,当我platformio.exe run --target upload通过IDE调用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 更改上传方法或 upload_protocol?

4

1 回答 1

2

项目配置文件 platformio.ini中,它提供了如何配置 Jlink GDB 服务器的示例:

[env:bluepill_f103c8]
...
; Debug options
debug_tool = custom
debug_server =
    JLinkGDBServer
    -singlerun
    -if
    SWD
    -select
    USB
    -port
    2331
    -device
    STM32F103C8

如果 JLinkGDBServer.exe 不包含在 PATH 中,则需要指定 JLinkGDBServer.exe 的完整文件名。

我试过这个,它有效。

还有另一个使用 JlinkGDBServerCL.exe - J-Link 和 ST Nucleo 的示例。

于 2017-08-20T06:22:04.267 回答