/ / Platform.io przesłać do Teensy 3.6 przez SWD (J-LINK) - arduino, teensy, platformio, swd

Platform.io przesłać do Teensy 3.6 przez SWD (J-LINK) - arduino, teensy, platformio, swd

Używam doskonałych http://platformio.org/ wraz z Visual Studio Code do opracowania dla Teensy 3.6 (płyta kompatybilna z Arduino).

To działa świetnie. Ale chciałem zrobić lepsze debugowanie przez SWD (debugowanie szeregowego przewodu). Odłączyłem więc układ USB kompatybilny z Arduino i połączyłem się przez SWD i JLINK. Podobnie do tego: https://mcuoneclipse.com/2017/04/29/modifying-the-teensy-3-5-and-3-6-for-arm-swd-debugging/

Mogę flashować oprogramowanie wbudowane, które zbudowałem za pośrednictwem platformy, używając oprogramowania „J-Link Lite”. Mogę również bez problemu uruchomić serwer J-Link GDB. Ale nie mogę włączyć integracji IDE.

Mój platformio.ini wygląda tak:

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

Mimo to protokół upload_protocol jest ignorowany i podczas wywoływania przesyłania (platformio.exe run --target upload) przez IDE dostaję wszystko

Linking .pioenvsteensy36firmware.elf
Checking program size
text       data     bss     dec     hex filename
17348       172    2696   20216    4ef8 .pioenvsteensy36firmware.elf
Building .pioenvsteensy36firmware.hex
Uploading .pioenvsteensy36firmware.hex
Teensy Loader, Command Line, Version 2.1
Read ".pioenvsteensy36firmware.hex": 17520 bytes, 1.7% usage
Soft reboot is not implemented for Win32
Waiting for Teensy device...
(hint: press the reset button)

Więc nadal próbuje się przesłać przez kompatybilne połączenie Arduino USB zamiast przez połączenie SWD. Jak mogę uzyskać platformio, aby zmienić metodę przesyłania lub protokół_przesyłania?

Odpowiedzi:

1 dla odpowiedzi № 1

Od Plik konfiguracji projektu platformio.ini, stanowi przykład konfiguracji serwera Jlink GDB:

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

Jeśli plik JLinkGDBServer.exe nie jest zawarty w PATH, musisz podać pełną nazwę pliku JLinkGDBServer.exe.

Próbowałem tego, to działa.

Istnieje inny przykład użycia JlinkGDBServerCL.exe - J-Link i ST Nucleo.