Загрузка 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.