2017-08-10 1 views
0

J'utilise l'excellent http://platformio.org/ avec Visual Studio Code pour développer Teensy 3.6 (une carte compatible Arduino).Platform.io télécharger sur Teensy 3.6 via SWD (J-LINK)

Cela fonctionne très bien. Mais je voulais faire un meilleur débogage via SWD (Serial Wire Debug). J'ai donc déconnecté la puce USB compatible Arduino et connecté via SWD et JLINK à la place. Similaire à ceci: https://mcuoneclipse.com/2017/04/29/modifying-the-teensy-3-5-and-3-6-for-arm-swd-debugging/

Je peux flasher le firmware que j'ai construit via platformio en utilisant le logiciel "J-Link Lite". Je peux aussi lancer le serveur J-Link GDB sans problème. Mais je n'arrive pas à faire fonctionner l'intégration IDE.

Mon platformio.ini ressemble à ceci:

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

Toujours le upload_protocol est ignorée et quand j'invoque le téléchargement (platformio.exe run --target upload) via l'EDI tout ce que je reçois est

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) 

Il essaie toujours de télécharger via une connexion USB compatible Arduino au lieu d'une connexion SWD. Comment puis-je obtenir platformio pour changer la méthode de téléchargement ou upload_protocol?

Répondre

1

De Project Configuration File platformio.ini, il donne un exemple de la façon de configurer le serveur JLINK GDB:

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

Si JLinkGDBServer.exe ne figure pas dans PATH, vous devez spécifier le nom complet du fichier de JLinkGDBServer.exe.

J'ai essayé, ça marche.

Il existe un autre exemple d'utilisation de JlinkGDBServerCL.exe - J-Link and ST Nucleo.

+0

Merci pour votre réponse! J'ai indépendamment découvert la configuration personnalisée. Mais j'ai rencontré plusieurs bugs. Heureusement, le support platformio est excellent. J'ai passé de nombreuses heures avec l'équipe de platformio par e-mail et teamviewer pour que ce forum fonctionne avec SWD. Quand ceci sera finalement résolu, je publierai une réponse séparée, et je suis certain que les corrections atteindront la branche principale de platformio. – user643011