Obsah:
- Zásoby
- Krok 1: Podívejte se na video
- Krok 2: Hardware - díly a zapojení
- Krok 3: Hardware - Nastavení ovladače
- Krok 4: Software: Instalace PlatformIO
- Krok 5: Software: Používání PlatformIO
- Krok 6: Ladění: Potenciální banánová slupka
- Krok 7: Ladění: Konfigurace
- Krok 8: Ladění: Spuštění ladění
- Krok 9: Ladění: Základní použití
- Krok 10: Řešení potíží
- Krok 11: Conclussion
Video: Jak používat debugger na ESP32: 11 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
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
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í
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
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.
- 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ší.
- Stáhněte a nainstalujte si nástroj Zadig odtud, což nám umožňuje nainstalovat obecný ovladač potřebný pro ladění.
- S připojeným ESP-Prog otevřete Zadig
- V aplikaci Zadig v části „Možnosti“klikněte na „Seznam všech zařízení“
- 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!
- 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
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
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:
- Klikněte na tlačítko Domů na panelu nástrojů PlatformIO (Jak je znázorněno na obrázku)
- Klikněte na tlačítko „Příklady projektů“
- 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
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.
- Na panelu nástrojů PlatformIO klikněte na ikonu terminálu
- V typu terminálu: upgrade pio -dev
- Kód RestartVS a PlatfromIO by měly být aktualizovány
Krok 7: 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í
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.
- Vytvořte novou proměnnou „int delayTime = 1000;“mimo jakékoli metody z toho bude globální proměnná.
- 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í
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íží
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:
Jak vytvořit zaváděcí jednotku Linux (a jak ji používat): 10 kroků
Jak vytvořit zaváděcí jednotku Linux (a jak ji používat): Toto je jednoduchý úvod, jak začít s Linuxem, konkrétně Ubuntu
Rotační kodér: Jak funguje a jak jej používat s Arduinem: 7 kroků
Rotační kodér: Jak to funguje a jak používat s Arduinem: Tento a další úžasné návody si můžete přečíst na oficiálním webu ElectroPeak Přehled V tomto tutoriálu se seznámíte s používáním rotačního kodéru. Nejprve uvidíte nějaké informace o rotačním kodéru a poté se naučíte, jak
ESP32 Bluetooth Tutorial - Jak používat vestavěný Bluetooth v ESP32: 5 kroků
ESP32 Bluetooth Tutorial | Jak používat vestavěný Bluetooth ESP32: Ahoj kluci, protože deska ESP32 je dodávána s WiFi & Bluetooth oba, ale pro naše většinou Projekty obvykle používáme pouze Wifi, nepoužíváme Bluetooth. Takže v tomto návodu ukážu, jak snadné je používat Bluetooth ESP32 & Pro vaše základní projekty
Jak používat terminál Mac a jak používat klíčové funkce: 4 kroky
Jak používat terminál Mac a jak používat klíčové funkce: Ukážeme vám, jak otevřít terminál MAC. V Terminálu vám také ukážeme několik funkcí, jako je ifconfig, změna adresářů, přístup k souborům a arp. Ifconfig vám umožní zkontrolovat vaši IP adresu a vaši MAC adresu
Jak používat ESP32 k ovládání LED pomocí Blynk přes WiFi: 7 kroků (s obrázky)
Jak používat ESP32 k ovládání LED pomocí Blynk přes WiFi: Tento tutoriál bude používat vývojovou desku ESP32 k ovládání LED pomocí Blynku přes WiFi. Blynk je platforma s aplikacemi pro iOS a Android pro ovládání Arduina, Raspberry Pi a podobných přes internet. Jedná se o digitální řídicí panel, kde si můžete postavit