Obsah:
- Krok 1: Požiadavky na softvér
- Krok 2: Inštalácia a konfigurácia ovládača
- Krok 3: OpenOCD, Toolchain a Gdb
- Krok 4: Zapojenie a prvý test
- Krok 5: Pridajte konfiguráciu ladenia do kódu Visual Studio
Video: ESP32 - lacné riešenie pre ladenie Circruit: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Dobrý deň, v tomto návode je popísané, ako nastaviť lacný adaptér JTAG na základe čipu FTDI 2232HL s vizuálnym kódom a doplnkom arduino.
- Modul FTDI 2232HL s konektorom USB od 8 $ na ebay a nie je potrebný žiadny platený softvér. Je to skvelé riešenie pre domácich majstrov, ktorí nechcú minúť viac ako 50 $ za profesionálny adaptér JTAG.
- Tento adaptér je možné použiť na ladenie iných platforiem, ako sú ESP8266, ARM, AVR a mnohých ďalších. Niektoré konfigurácie závisia od cieľovej platformy, táto inštrukcia sa týka iba nastavenia pre ESP32.
- Ak už vlastníte nejaký adaptér JTAG, môžete ho použiť, ak je podporovaný openOCD, stačí spustiť openocd s iným konfiguračným súborom podľa typu vášho adaptéra jtag.
- platform.io vám môže uľahčiť nastavenie, ale ladenie je podporované iba v platenej profesionálnej verzii.
- Funguje s väčšinou modulov ESP32. (napríklad lacné wemos lolin 32)
- tento jtag adaptér by mal fungovať aj s linuxom, ale osobne som ho netestoval.
Krok 1: Požiadavky na softvér
Arduino IDE verzie 1.8 alebo novšej. Verzia Windows Store nie je podporovaná. Musíte použiť klasickú verziu inštalátora, ktorú je možné stiahnuť z oficiálnej stránky Arduino
Kód Microsoft Visual Studio
Tieto doplnky pre kód vizuálneho štúdia sú povinné
- Arduino
- Natívne ladenie
Odporúčam tiež nainštalovať tento doplnok, ktorý umožňuje inteligentnosť pre C/C ++
C/C ++
V tejto príručke použijem 2 pracovné priečinky:
D: / devel / ESP32 / tools / - sem som umiestnil všetky nástroje
C: / Users / xxxxx / Documents / Arduino / YourProject / - toto je priečinok so skicou
ak chcete, môžete svoje súbory umiestniť kdekoľvek inde, len nezabudnite aktualizovať všetky referencie svojou skutočnou cestou.
Krok 2: Inštalácia a konfigurácia ovládača
Aj keď systém Windows automaticky automaticky detekuje FT2232, predvolené ovládače systému Windows nestačia na všetky pokročilé funkcie a je potrebné stiahnuť a nainštalovať ovládač z webu FTDI
Keď je nainštalovaný správny ovládač, váš modul FT2232 by sa mal v správcovi zariadení zobrazovať nielen ako 2 sériové porty, ale aj ako „sériový prevodník USB A“a „sériový prevodník USB B“
Druhým krokom je zmena ovládača pre jeden kanál nášho prevodníka. Stiahnite si nástroj zadig z https://zadig.akeo.ie/. Ak tomu správne rozumiem, tento nástroj prepojí ovládač winUSB so zariadením FTDI, čo umožňuje nízkoúrovňovú komunikáciu medzi openOCD a USB zariadením.
V nástroji zadig v ponuke „Možnosti“začiarknite políčko „Zobraziť všetky zariadenia“a potom by ste mali vidieť svoj adaptér v zozname dostupných zariadení. Vyberte „Dual RS232-HS (Interface 0)“, potom vyberte náhradný ovládač „WinUSB v6.1.xxxx“a nakoniec kliknite na tlačidlo nahradiť ovládač.
Keď pripojíte adaptér k inému portu USB počítača, je potrebné znova zmeniť nastavenia ovládača pomocou nástroja zadig, v opačnom prípade openOCD váš adaptér nenájde.
Krok 3: OpenOCD, Toolchain a Gdb
1. Open OCD je nástroj na ladenie kruhov, na jednej strane hovorí s čipom, na druhej strane poskytuje server gdb, ku ktorému sa môže pripojiť debugger (klient). Stiahnite si openOCD pre ESP32 z https://github.com/espressif/openocd-esp32/releases a rozbaľte ho do priečinka D: / devel / ESP32 / tools
2. upravte konfiguračné súbory openOCD:
esp-wroom-32.cfg
Úplná cesta k tomuto súboru je:
D: / devel / ESP32 / tools / openocd-esp32 / share / openocd / scripts / board / esp-wroom-32.cfg
V tomto súbore môžete nastaviť rýchlosť komunikácie zmenou parametra "adapter_khz". Napríklad „adaptér_kHz 8000“znamená 8 MHz.
Predvolená hodnota je 20 MHz a môže byť príliš vysoká, ak používate dlhšie prepojovacie vodiče alebo nepájivú dosku. Odporúčam začať na 1Mhz a ak je všetko v poriadku, prejdite na vyššie otáčky, na mňa 8Mhz funguje spoľahlivo.
minimodule.cfg
Úplná cesta k tomuto súboru je: D: / devel / ESP32 / tools / openocd-esp32 / share / openocd / scripts / interface / ftdi / minimodule.cfg
Ak tomu dobre rozumiem, originálny minimodul je predražená brzdová doska s FT 2232 vyrábaná spoločnosťou FTDI a iba rozdiel medzi originálnym minimodulom a lacným modulom alebo holým čipom dostupný na trhu je predvolený popis USB. otvorený OCD hľadá adaptér jtag na základe popisu zariadenia, je tiež potrebné upraviť inicializáciu rozloženia.
Lacný modul má popis "Dual RS232-HS". Ak si nie ste istí popisom svojho zariadenia, môžete ho skontrolovať v správcovi zariadení -> vlastnosti zariadenia -> detaily karty -> hodnota vlastnosti "Popis zariadenia nahláseného zbernicou"
Obsah minimodule.cfg by mal vyzerať ako príklad nižšie, riadky začínajúce na # je možné odstrániť.
rozhranie ftdi #ftdi_device_desc "FT2232H MiniModule" ftdi_device_desc "Dual RS232 -HS" ftdi_vid_pid 0x0403 0x6010 #ftdi_layout_init 0x0018 0x05fb ftdi_layout_init 0x0008 0x000b ftdi_layout
esp32.cfg
Úplná cesta k tomuto súboru je:
D: / devel / ESP32 / tools / openocd-esp32 / share / openocd / scripts / target / esp32.cfg
Pripojte nasledujúce 2 riadky na koniec súboru esp32.cfg. Bez tejto úpravy nebude pridávanie brzdových bodov fungovať.
#Vynútiť hraničné body hw. Keď máme mapu pamäte, môžeme tiež povoliť softvér bps.gdb_breakpoint_override
3. Stiahnite a nainštalujte si reťazec nástrojov xtensa-esp32-elf-tento reťazec nástrojov obsahuje debugger príkazového riadka (klient gdb), ktorý je životne dôležitý pre funkčné ladenie z akéhokoľvek grafického IDE. Bare toolchain je možné stiahnuť z webu espressif, sekcia „Alternatívne nastavenie“https://docs.espressif.com/projects/esp-idf/en/latest/get-started/windows-setup-scratch.html
Krok 4: Zapojenie a prvý test
Pripojte modul FT2322 k ESP. Odporúčam používať čo najkratšie vodiče. Ak ste v JTAG noví, nezabudnite, že TDI adaptéra prejde na TDI čipu, taktiež TDO adaptéra prejde na TDO čipu. Dátové riadky JTAG nie sú na uart križované ako Rx/Tx!
Pre nasledujúci test odporúčam nahrať skicu s ukážkou žmurknutia alebo inú skicu, ktorá môže indikovať, či je procesor spustený alebo nie, blikaním diódy LED alebo pípaním alebo zápisom na sériovú konzolu.
Spustite openOCD nasledujúcim príkazom
D: / devel / ESP32 / tools / openocd-esp32 / bin / openocd.exe-s D: / devel / ESP32 / tools / openocd-esp32 / share / openocd / scripts -f interface/ftdi/minimodule.cfg -f board /esp-wroom-32.cfg
Spustí sa openOCD a ak je všetko v poriadku, mali by ste vo výstupe príkazového riadka vidieť nasledujúce riadky:
Informácie: takt 8000 kHz Informácie: Tap JTAG: esp32.cpu0 nájdený tap/zariadenie: 0x120034e5 (mfg: 0x272 (Tensilica), časť: 0x2003, ver: 0x1) Info: Tap JTAG: esp32.cpu1 nájdený kohútik/zariadenie: 0x120034e5 (mfg: 0x272 (Tensilica), časť: 0x2003, ver: 0x1)
Proces openocd bude tiež počúvať na porte TCP 3333
Otvorte nový terminál a spustite klienta príkazového riadka gdb podľa príkazu
D: / devel / ESP32 / tools / xtensa-esp32-elf / bin / xtensa-esp32-elf-gdb.exe
Počkajte chvíľu, a keď bude terminál gdb pripravený, napíšte nasledujúce príkazy jeden po druhom
cieľové diaľkové ovládanie: 3333 mesiacov resetovanie zastaví, pokračujte
prvý príkaz otvorí pripojenie k ladiacemu serveru openocd, druhý zastaví spustenie programu na ESP a kontrolka LED by mala prestať blikať, pokračovať v obnovení vykonávania programu a kontrolka LED by mala začať znova blikať.
Krok 5: Pridajte konfiguráciu ladenia do kódu Visual Studio
V tom momente predpokladám, že ste už správne nakonfigurovali kód vizuálneho štúdia a doplnok arduino a môžete svoj náčrt overiť a nahrať na nástenku. Ak nie, prečítajte si návod na konfiguráciu kódu vizuálneho štúdia a arduina, napríklad na tejto stránke
Aby ladenie fungovalo, je potrebné zadať výstupný priečinok zostavenia. Pod priečinkom skici sa nachádza (skrytý) priečinok.vscode, kde je súbor arduino.json. pridajte do tohto súboru nasledujúci riadok:
"output": "BuildOutput/"
spustite overenie alebo nahrajte a znova skontrolujte priečinok so skicami, mal by tam byť nový priečinok BuildOutput a vnútri súbor s príponou.elf. súbor elf je životne dôležitý pre ladenie.
Nastavenia ladiaceho programu sú v súbore launch.json. Vytvorte tento súbor s nasledujúcim obsahom alebo ho môžete skopírovať z priloženého ukážkového projektu. Nezabudnite upraviť riadok 26 a definovať správnu cestu k súboru.elf vášho projektu.
{// Pomocou technológie IntelliSense získate informácie o možných atribútoch. // Po umiestnení kurzora myši sa zobrazia popisy existujúcich atribútov. // Viac informácií nájdete na: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [{"name": "Arduino-GDB-openOCD "," type ":" cppdbg "," request ":" launch "," program ":" $ {file} "," cwd ":" $ {workspaceRoot}/BuildOutput/"," MIMode ":" gdb ", "targetArchitecture": "arm", "miDebuggerPath": "D: /devel/ESP32/tools/xtensa-esp32-elf/bin/xtensa-esp32-elf-gdb.exe", "debugServerArgs": "", " customLaunchSetupCommands ": [{" text ":" cieľový diaľkový ovládač: 3333 "}, {" text ":" mon reset halt "}, {// dynamický variant" text ":" súbor c:/Používatelia/xxxxx/Dokumenty/Arduino /${workspaceFolderBasename}/BuildOutput/${fileBasename}.elf "// statický variant //" text ":" súbor c: /Users/xxxxx/Documents/Arduino/YourProject/BuildOutput/YourProject.ino.elf "}, {"text": "flushregs"}, {"text": "thb app_main"}, {"text": "c", "ignoreFailures": true}], "stopAtEntry": true, "serverStarted": "Informácie \: [ w / d \.]*: / hardware "," launchCompleteCommand ":" exec-continue "," filterStderr ": true," args ": }]}
Ako začať s ladením:
- Vyrovnajte sa a nahrajte svoj náčrt na palubu
- Spustite openOCD s parametrami
- Nastavte brzdné body v kóde na požadované miesto
- Po nastavení všetkých brzdných bodov sa uistite, že ste otvorili hlavný súbor.ino svojho projektu. (alebo cesta k súboru.elf v pevnom kóde v súbore launch.json)
- Otvorte panel ladenia v porovnaní s kódom (Ctrl + Shift + D)
- Vyberte ladiaci program „Arduino-GDB-openOCD“, mal by byť k dispozícii iba.
- Spustite ladenie stlačením klávesu F5
Odporúča:
Riešenie pre ľahké znečistenie - Artemis: 14 krokov
Riešenie znečistenia svetlom - Artemis: Svetelné znečistenie je niečo, čo ovplyvňuje nás všetkých na celom svete. Odkedy bola žiarovka vynájdená, svetlo sa stalo oveľa populárnejším a používa sa špeciálne vo veľkých mestách ako New York a Chicago. Všetko toto svetlo môže postihnúť
SASSIE: Systém pre riešenie trápneho ticha a vylepšovanie interakcií: 5 krokov
SASSIE: Systém pre riešenie trápneho ticha a vylepšovač interakcií: SASSIE je odpoveďou na otázku, ktorú sme si položili počas trápneho ticha v jednom bode svojho života: „Mám hovoriť ďalej?“Teraz si nemusíte robiť starosti, pretože SASSIE je špeciálne navrhnutá tak, aby rozpoznala trápne ticho,
Riešenie IOT pre zdieľaný bicykel: 6 krokov
Riešenie IOT pre zdieľaný bicykel: Zdieľaný bicykel je v Číne v dnešnej dobe veľmi populárny. Na trhu je viac ako 10 značiek zdieľaných bicyklov a “ mobike ” je najznámejší, má viac ako 100 miliónov registrovaných používateľov a rozšíril sa do ďalších miest
Arduino Project: Testovací rozsah LoRa modul RF1276 pre sledovanie GPS Riešenie: 9 krokov (s obrázkami)
Arduino Project: Test Range LoRa Module RF1276 for GPS Tracking Solution: Connection: USB - SerialNeed: Chrome Browser Need: 1 X Arduino Mega Need: 1 X GPS Need: 1 X SD card Need: 2 X LoRa Modem RF1276Function: Arduino Send GPS value k hlavnej základni - údaje o hlavnej základni ukladajú do modulu Dataino Server Lora: Ultra dlhý dosah
Cenovo dostupné riešenie pre víziu s robotickým ramenom založeným na Arduine: 19 krokov (s obrázkami)
Cenovo dostupné riešenie vízie s robotickým ramenom založeným na Arduine: Keď hovoríme o strojovom videní, vždy sa nám to zdá také nedosiahnuteľné. Vytvorili sme demo vízie s otvoreným zdrojovým kódom, ktoré by bolo veľmi jednoduché urobiť pre každého. V tomto videu s kamerou OpenMV robot bez ohľadu na to, kde je červená kocka,