Obsah:

Jak používat debugger na ESP32: 11 kroků (s obrázky)
Jak používat debugger na ESP32: 11 kroků (s obrázky)

Video: Jak používat debugger na ESP32: 11 kroků (s obrázky)

Video: Jak používat debugger na ESP32: 11 kroků (s obrázky)
Video: ESP32 Turorial 1 - Introduction to SunFounder's ESP32 IoT Learnig kit Software and Arduino IDE 2024, Listopad
Anonim
Jak používat debugger na ESP32
Jak používat debugger na ESP32

Chtěli jste někdy nahlédnout do svého kódu, abyste zjistili, proč se chová tak, jak je? Tradičně v projektech ESP32 byste museli přidat nekonečné tiskové prohlášení, abyste se pokusili zjistit, co se děje, ale existuje lepší způsob!

Ladicí program je způsob, jak vidět, co se děje v konkrétních částech vašeho kódu, a vyzkoušet různé hodnoty proměnných, aniž byste museli znovu kompilovat svůj kód, obvykle to není něco, co máme k dispozici pro vložené projekty, ale v této příručce vám ukážu jak jej použít na ESP32.

V této příručce vám ukážu nastavení hardwaru, nastavení softwaru a jednoduchý příklad použití ladicího programu.

Zásoby

  • ESP -Prog - Toto je deska potřebná pro ladění

    • Přesně ten, který jsem koupil*
    • 5 $ Levnější, ale netestoval jsem to*
  • ESP32, který vylomí kolíky 12, 13, 14, 15

    • Adafruit Feather Huzzah32
    • D1 Mini ESP32*
  • [VOLITELNÉ] Debug Shield Prodávám na Tindie

    • Feather Huzzah32
    • D1 Mini ESP32

* = Affiliate Link

Krok 1: Podívejte se na video

Image
Image

Mám video na toto téma, pokud se na něj chcete podívat.

Na svém kanálu obvykle vytvářím videa založená na ESP8266 a ESP32, takže pokud vás to zajímá, podívejte se na to!

Krok 2: Hardware - díly a zapojení

Hardware - díly a zapojení
Hardware - díly a zapojení
Hardware - díly a zapojení
Hardware - díly a zapojení
Hardware - díly a zapojení
Hardware - díly a zapojení

K použití debuggeru potřebujete pouze ESP-Prog a téměř jakoukoli desku ESP32 (odkazy na ně v předchozím kroku)

ESP-Prog:

ESP-Prog je deska navržená společností espressif, tvůrci čipů ESP32 a ESP8266. Připojuje se k pinům JTAG ESP32, což nám umožňuje používat debugger. Lze jej také použít k programování desek ESP32, ale nebudu to pokrývat.

Deska ESP32:

K tomu můžete použít v podstatě libovolnou desku ESP32, jakmile vylomí piny JTAG, které jsou 12, 13, 14 a 15. Zkoušel jsem desku Adafruit Feather Huzzah32 i desku D1 Mini 32 a obě fungovaly dobře.

Piny JTAG můžete v náčrtu použít s debuggerem, například integrovaná LED dioda desky Huzzah32 je na pinu 13, takže ji při ladění nemůžete použít.

Elektrické vedení:

Chcete-li připojit ESP-Prog k ESP32, použijte průvodce zapojením, jak je uvedeno na obrázku výše. Pokud nevidíte příslušné piny, zkontrolujte je ve schématu zapojení desky ESP32, protože někdy používají jiné schéma pojmenování.

Debug Shields:

Ty jsou volitelné, ale prodávám na Tindie nějaké štíty pro Huzzah32 a D1 Mini 32, díky nimž je připojení ESP-Prog opravdu jednoduché, přeruší příslušné piny do konektoru IDC, který můžete použít plochý kabel pro přímé připojení mezi štít a ESP-Prog

Krok 3: Hardware - Nastavení ovladače

Hardware - Nastavení ovladače
Hardware - Nastavení ovladače
Hardware - Nastavení ovladače
Hardware - Nastavení ovladače
Hardware - Nastavení ovladače
Hardware - Nastavení ovladače

Abychom mohli ESP-prog používat k ladění, musíme pro něj nainstalovat příslušné ovladače. PlatformIO zde poskytuje několik kroků, ale já v této příručce projdu kroky systému Windows.

  1. Odtud si stáhněte a nainstalujte ovladače FTDI pro ESP-Prog, přejděte doprava a stáhněte si verzi „instalační spustitelný soubor“, aby byla snazší.
  2. Stáhněte a nainstalujte si nástroj Zadig odtud, což nám umožňuje nainstalovat obecný ovladač potřebný pro ladění.
  3. S připojeným ESP-Prog otevřete Zadig
  4. V aplikaci Zadig v části „Možnosti“klikněte na „Seznam všech zařízení“
  5. Rozbalovací nabídka v Zadigu bude nyní vyplněna, vyberte možnost „Dual RS232-HS (Interface 0)“. Ujistěte se, že je to rozhraní 0, které vyberete!
  6. Vpravo od zelené šipky by mělo být vybráno „WinUSB“, poté klikněte na „Nahradit ovladač“

Když je to hotové, vaše ovladače by měly být nastaveny k použití!

Poznámka: Pokud změníte USB port, který používáte pro ESP-Prog, možná budete muset znovu opakovat kroky 3-6. Pokud se vám při ladění zobrazí chyba, jak je znázorněno na obrázku výše, je nutné kroky zopakovat.

Krok 4: Software: Instalace PlatformIO

Software: Instalace PlatformIO
Software: Instalace PlatformIO
Software: Instalace PlatformIO
Software: Instalace PlatformIO
Software: Instalace PlatformIO
Software: Instalace PlatformIO

PlatformIO je IDE pro vývoj s různými různými vloženými rámci, včetně ekosystému Arduino. Používání je složitější než něco jako Arduino IDE, ale je velmi výkonné a má některé funkce, které Arduino IDE velmi postrádá, například automatické dokončování.

PlatformIO vyžaduje použití debuggeru. Pokud již znáte PlatformIO, můžete pár kroků přeskočit.

  • Stáhněte si a nainstalujte Visual Studio Code (VS Code) z odkazu uvedeného na webu PlatformIO.org
  • Otevřete VS Code a otevřete nabídku rozšíření, tlačítko je zvýrazněno na obrázku výše
  • Do vyhledávání zadejte „platformio“, vyberte jej a klikněte na nainstalovat.

Krok 5: Software: Používání PlatformIO

Software: Používání PlatformIO
Software: Používání PlatformIO
Software: Používání PlatformIO
Software: Používání PlatformIO
Software: Používání PlatformIO
Software: Používání PlatformIO

Používání PlatformIO je trochu jiné než používání Arudino IDE, takže v tomto kroku se budeme zabývat základy získání příkladu běžícího na desce.

Otevření příkladu:

  1. Klikněte na tlačítko Domů na panelu nástrojů PlatformIO (Jak je znázorněno na obrázku)
  2. Klikněte na tlačítko „Příklady projektů“
  3. V sekci Espressif 32 vyberte příklad „Arduino-blink“

Tím se otevře ukázkový projekt mrknutí. Rozložení PlatformIO je docela odlišné ve srovnání s projektem Arduino, takže pojďme projít základy.

Kde je kód?

Kód pro váš projekt bude uložen ve složce „src“, u příkladu mrknutí se vám zobrazí soubor „blink.cpp“, tento soubor je stejný jako váš soubor skici (.ino) v projektu Arduino.

Jak nakonfiguruji desku?

Konfigurace pro váš projekt jsou uloženy v souboru "platformio.ini" ve vašem projektu. To je vlastně jedna z mých nejoblíbenějších věcí na PlatformIO ve srovnání s Arduino IDE, nikdy mi nedávalo smysl, že by nastavení desky nebylo vázáno na skici.

Příklad.ini obsahuje definice pro více různých desek, ale aby to bylo jednoduché, odstraníme dvě spodní definice.

Kde nastavím svůj COM port?

PlatformIO se ve skutečnosti automaticky pokusí najít správný port COM, který chcete použít, takže se ve skutečnosti můžete vyhnout tomu, že pro to nic nenastavíte. Ale pokud máte více COM portů, což budete mít při používání debuggeru, myslím, že má smysl nastavit konkrétní, který potřebujete. Různá zařízení, která máte, můžete zobrazit kliknutím na sekci "Zařízení" na domovské kartě a můžete nastavit, který je váš ESP32 v „platformio.ini“přidáním konfigurace „upload_port“.

Jak mohu nahrát svůj kód?

Klikněte na tlačítko Nahrát (ikona je šipka směřující doprava) a mělo by se zkompilovat a nahrát kód. Nyní byste na desce měli mít blikající LED.

Krok 6: Ladění: Potenciální banánová slupka

Ladění: Potenciální banánová slupka!
Ladění: Potenciální banánová slupka!
Ladění: Potenciální banánová slupka!
Ladění: Potenciální banánová slupka!
Ladění: Potenciální banánová kůže!
Ladění: Potenciální banánová kůže!

To je něco, co mě chytilo, když jsem to připravoval, a snad to bude opraveno, až to zkusíte, ale myslel jsem si, že je důležité odtud odejít.

V době vytváření této příručky je nejnovější verze PlatformIO 4.3.0 a má chybu, která souvisí s možností ladění. Naštěstí můžeme aktualizovat na nejnovější vývojovou verzi docela snadno, což problém vyřeší.

Na domovské stránce zkontrolujte verzi jádra PlatformIO, pokud je „4.3.0“, proveďte následující kroky.

  1. Na panelu nástrojů PlatformIO klikněte na ikonu terminálu
  2. V typu terminálu: upgrade pio -dev
  3. Kód RestartVS a PlatfromIO by měly být aktualizovány

Krok 7: Ladění: Konfigurace

Ladění: Konfigurace
Ladění: Konfigurace

K povolení ladění potřebujeme upravit soubor „PlatofrmIO.ini“, stačí k němu přidat dvě věci.

debug_tool = esp-prog

Tím se nastaví nástroj pro ladění, který používáme.

debug_init_break = nastavení tbreak

Toto je trik, který jsme se naučili z videa Andress Spiess o ladění na ESP32. Říká ladicímu programu, aby se zastavil v nastavení naší aplikace.

Krok 8: Ladění: Spuštění ladění

Ladění: Spuštění ladění
Ladění: Spuštění ladění
Ladění: Spuštění ladění
Ladění: Spuštění ladění
Ladění: Spuštění ladění
Ladění: Spuštění ladění
Ladění: Spuštění ladění
Ladění: Spuštění ladění

Než se do toho pustíme, uděláme menší změnu náčrtu, která usnadní ukázku toho, co lze s laděním dělat.

  1. Vytvořte novou proměnnou „int delayTime = 1000;“mimo jakékoli metody z toho bude globální proměnná.
  2. Nahraďte číslo uvnitř volání zpoždění ve smyčce touto novou proměnnou: delay (delayTime);

Nahrajte kód na tabuli ještě jednou, poté spusťte ladění, na panelu nástrojů klikněte na „Spustit“a poté na „Spustit ladění“

V okně terminálu uvidíte věci, které se pohybují, ale i když to říká, že to bylo úspěšné, pokud kliknete na „Debug Console“, uvidíte, že to stále funguje, dokončení bude trvat několik sekund.

Pokud vše proběhlo podle očekávání, uvidíte, že se ladicí program zastaví na začátku instalace.

Krok 9: Ladění: Základní použití

Ladění: Základní použití
Ladění: Základní použití
Ladění: Základní použití
Ladění: Základní použití
Ladění: Základní použití
Ladění: Základní použití
Ladění: Základní použití
Ladění: Základní použití

Pojďme si probrat některé ze základů toho, co můžete s debuggerem dělat

Vytváření zarážek:

Bod zlomu je bod vašeho kódu, kde chcete, aby se ladicí program zastavil. Chcete -li vytvořit zarážku, klikněte vlevo od čísla řádku. Jako ukázku přidejte zarážku na první řádek v metodě smyčky.

Navigace v zarážce:

Chcete -li se pohybovat mezi zarážkou nebo přejít na další řádek kódu, můžete použít nástroje, které se zobrazí v horní části obrazovky. Stisknutím tlačítka „pokračovat“(vypadá jako tlačítko přehrávání) přesuňte zarážku, kterou jsme právě vytvořili, do smyčky.

Variabilní hodinky:

Hodinky s proměnnými vám umožňují sledovat hodnotu proměnných, když je debugger zastaven na zarážce. Chcete -li přidat nové hodinky s proměnnými, klikněte na ikonu + a poté zadejte název proměnné. Jako ukázku zadejte proměnnou, kterou jsme přidali v předchozím kroku „delayTime“

Variabilní prohlížeč:

Můžete také zobrazit všechny proměnné a jejich hodnoty, které jsou k dispozici ve vašem aktuálním zarážce. Abyste to předvedli, podíváte -li se do sekce „Globální“, měli byste najít proměnnou „delayTime“.

Úprava hodnoty proměnných:

Můžete také upravit hodnoty proměnných a projeví se to okamžitě na chování vašich kódů. Chcete -li to prokázat, klikněte na proměnnou delayTime v části Prohlížeč proměnných a změňte hodnotu na "100". Chcete -li, aby to fungovalo, deaktivujte zarážku uvnitř smyčky opětovným kliknutím nalevo od čísla řádku. Na navigačním panelu zarážky stiskněte tlačítko Pokračovat. LED dioda na vašem ESP32 by nyní měla blikat mnohem rychleji než dříve.

Krok 10: Řešení potíží

Odstraňování problémů
Odstraňování problémů

Během testování jsem zjistil, že někdy jsem nemohl nahrávat do ESP32, když byl připojen k ESP-prog, a nemohl jsem přijít na vzor, proč se to stalo, protože většinu času jsem mohl nahrávat bez nějaké problémy. Zjistil jsem, že mohu jednoduše odpojit ESP32 a ESP-Prog, nahrát kód do ESP32 a poté je znovu připojit a fungovalo by to dobře.

Krok 11: Conclussion

Myslím, že je to opravdu skvělý nástroj, který lze přidat do sady nástrojů, který vám pomůže zjistit, co se děje ve vašem projektu.

Rád bych slyšel, jestli to považujete za užitečné! Dejte mi prosím vědět v níže uvedených komentářích, nebo se připojte ke mně a spoustě dalších tvůrců na mém serveru Discord, kde můžeme diskutovat o tomto tématu nebo o jakémkoli jiném, co se týká výrobce, lidé jsou tam opravdu nápomocní, takže je to skvělé místo k zavěšení ven.

Také bych chtěl moc poděkovat svým sponzorům Github, kteří pomáhají podporovat to, co dělám, opravdu si toho vážím. Pokud nevíte, Github odpovídá sponzorství pro první rok, takže pokud uděláte sponzorství, bude mu to odpovídat 100% v příštích několika měsících. Děkuji za přečtení!

Doporučuje: