Návod: O krok v predu pred Arduinom – debugovanie STM32 pod Visual Studio Code

Návod: O krok v predu pred Arduinom – debugovanie STM32 pod Visual Studio Code

Ahojte,

tento článok bude skôr pre programátorov, a ľudí čo sa radi zabávajú s hardvérom.

Možno ste už videli niekde túto dosku:

Volá sa slangovo „Blue Pill“ (modrá tabletka). Oproti Arduinu, ktoré je 8-bitové, 32-bitová a má MCU s 64/128kB FLASH a 20kB RAM (oproti 2 kB na Arduine).

Cena je pritom veľmi priaznivá – táto doska sa dá zohnať za menej ako 2€.

Tu sú parametre:

MicrocontrollerSTM32F103C8
Flash64 KB/128 KB
RAM20 KB
Clock Speed72 MHz
USB connectorMicro-B (varying quality)
User LED(s)PC13 (blue; lights when PC13 is LOW)
User button(s)None
RTC CrystalYes
ST-Link headerYes

A tu je pinout:

V tomto článku ukážem, ako túto dosku debugovať pomocou programátora ST-LINK V2 a vývojového prostredia Visual Studio Code.

Takže prvé čo budeme potrebovať, je ST-LINK V2 programátor. Dá sa kúpiť za približne ďaľšie 2€ napríklad tu.

Na programovanie a debugovanie budeme používať rozhranie SWD. Znamená to Serial Wire Debug.

Prvým krokom je nainštalovať aktuálnu verziu Arduino IDE. Stiahnite si inštalátor z tadeto.

V Arduiňáckom „Správcovi dosiek“ nainštalujte „Arduino SAMD Boards“, (nie „Ardiuno SAM Boards“).

Stiahnite si tento repozitár a rozbaľťe ho do

C:\Users\<meno>\Documents\Arduino\hardware

Dávajte pozor, nech sa adresár volá Arduino_STM32, nie Arduino_STM32-master!

V Arduine skompilujte a uploadnite akýkoľvek program, napríklad Blink.

Nainštalujte si Visual Studio Code z tadeto.

Nainštalujte vo Visual Studio Code tento doplnok. To by malo zároveň nainštalovať aj „C/C++ for Visual Studio Code“.

Stiahnite si tento archív s binárkou OpenOCD a skriptami, a rozbaľte ho do hardware adresára.

Takže budete mať takúto štruktúru:

Arduino_STM32
├── drivers
│   ├── boards.txt
│   └── win
├── openocd.exe
├── STM32F1
...
scripts
├── interface
│   └── stlink-v2.cfg
├── mem_helper.tcl
└── target
 ├── stm32f1x.cfg
 └── swj-dp.tcl

Môžete skompilovať (Ctrl+Alt+R), uploadnúť (Ctrl+Alt+U) a konečne debugovať (F5). Pred debugovaním si ale nastavte nejaký breakpoint cez F9.

Takto to vyzerá, keď to funguje (ja to mám rozbehnuté aj na Mac OS):

Ako vidíte, keď myšou pri zastavenom stave prídem nad nejakú premennú, ukáže sa mi jej aktuálna hodnota.

 

Happy coding folks!

73 de Tekk OM7AXT

1,558 total views, 0 views today

Pridať komentár

Táto webová stránka používa Akismet na redukciu spamu. Získajte viac informácií o tom, ako sú vaše údaje z komentárov spracovávané.