Загрузка Platform.io в Teensy 3.6 через SWD (J-LINK)

Я использую отличный http://platformio.org/ вместе с кодом Visual Studio для разработки для 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/

Я могу прошить прошивку, которую я собрал через platformio, используя программное обеспечение "J-Link Lite". Также я могу без проблем запустить GDB-сервер J-Link. Но я не могу заставить работать интеграцию IDE.

мой platformio.ini выглядит так:

[env:teensy36]
platform = teensy
board = teensy36
framework = arduino
upload_protocol = jlink
debug_tool = jlink

Тем не менее upload_protocol игнорируется, и когда я вызываю upload (platformio.exe run --target upload) через IDE все, что я получаю, это

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?

1 ответ

Из файла конфигурации проекта 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.

Другие вопросы по тегам