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

Loading

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é.