Përmbajtje:
- Hapi 1: Kërkesat e softuerit
- Hapi 2: Instalimi dhe konfigurimi i shoferit
- Hapi 3: OpenOCD, Toolchain dhe Gdb
- Hapi 4: Instalimet dhe Testi i Parë
- Hapi 5: Shtoni konfigurimin e korrigjimit në kodin Visual Studio
Video: ESP32 - Zgjidhje e lirë për Debug në Circruit: 5 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:22
Përshëndetje, Në këtë udhëzues përshkruhet se si të vendosni një përshtatës të lirë JTAG bazuar në çipin FTDI 2232HL, me kod vizual dhe shtesë arduino.
- Moduli FTDI 2232HL me lidhës USB që fillon nga 8 $ në ebay dhe nuk kërkohet softuer me pagesë. Kjo është një zgjidhje e shkëlqyeshme për hobistët që nuk duan të shpenzojnë 50 $+ në përshtatës profesionale JTAG.
- Ky përshtatës mund të përdoret për korrigjimin e platformave të tjera si ESP8266, ARM, AVR dhe shumë të tjera. Disa konfigurime varen nga platforma e synuar, ky udhëzim mbulon vetëm konfigurimin për ESP32.
- Nëse tashmë zotëroni një përshtatës JTAG, mund ta përdorni kur mbështetet nga openOCD, thjesht filloni openocd me skedarë konfigurimi të ndryshëm bazuar në llojin e përshtatësit tuaj jtag.
- platform.io mund ta bëjë konfigurimin më të lehtë për ju, por debug -u mbështetet vetëm në versionin profesional të paguar.
- Punon me shumicën e moduleve ESP32. (për shembull wemos lirë lolin 32)
- ky përshtatës jtag duhet të funksionojë edhe me linux, por unë personalisht nuk e kam testuar atë.
Hapi 1: Kërkesat e softuerit
Arduino IDE versioni 1.8 ose më i ri. Versioni i dyqanit të Windows nuk mbështetet. Ju duhet të përdorni versionin klasik të instaluesit i cili mund të shkarkohet nga faqja zyrtare e Arduino
Kodi i studios vizuale të Microsoft
Këto shtesa për kodin vizual të studios janë të detyrueshme
- Arduino
- Korrigjimi amtare
Unë gjithashtu rekomandoj që të instaloni këtë shtesë që mundëson inteligjencën për C/C ++
C/C ++
Në këtë manual unë do të përdor 2 dosje pune:
D: / devel / ESP32 / tools / - këtu kam vendosur të gjitha mjetet
C: / Users / xxxxx / Documents / Arduino / YourProject / - kjo është dosje me skicë
ju mund t'i vendosni skedarët tuaj kudo tjetër nëse dëshironi, thjesht mos harroni të azhurnoni të gjitha referencat me rrugën tuaj aktuale.
Hapi 2: Instalimi dhe konfigurimi i shoferit
Edhe nëse dritaret automatikisht zbulojnë FT2232 si parazgjedhje, drejtuesit e paracaktuar të Windows nuk janë të mjaftueshëm për të gjitha veçoritë e përparuara dhe është e nevojshme të shkarkoni dhe instaloni drejtuesin nga faqja FTDI
Kur është instaluar drejtuesi i duhur, duhet të shihni modulin tuaj FT2232 në menaxherin e pajisjes jo vetëm si 2 porte serike, por edhe si "konvertues serial USB A" dhe "konvertues serial USB B"
Hapi i dytë është ndryshimi i drejtuesit për një kanal të konvertuesit tonë. Shkarkoni mjetin zadig nga https://zadig.akeo.ie/. Nëse e kuptoj saktë, ky mjet lidh shoferin winUSB me pajisjen FTDI e cila mundëson komunikim të nivelit të ulët midis pajisjes openOCD dhe USB.
Në mjetin zadig, në menunë "Opsionet" kontrolloni "Trego të gjitha pajisjet", atëherë duhet të shihni përshtatësin tuaj në listën e pajisjeve në dispozicion. Zgjidhni "Dual RS232-HS (Ndërfaqja 0)" pastaj zgjidhni drejtuesin zëvendësues "WinUSB v6.1.xxxx" dhe klikoni përfundimisht në butonin e zëvendësimit të drejtuesit.
Kur lidhni përshtatësin tuaj me portë të ndryshme USB të kompjuterit tuaj, është e nevojshme të ndryshoni përsëri cilësimet e drejtuesit përmes mjetit zadig, përndryshe openOCD nuk do të gjejë përshtatësin tuaj.
Hapi 3: OpenOCD, Toolchain dhe Gdb
1. Open OCD është mjet për korrigjimin e qarkut, në njërën anë flet me çip në anën tjetër ofron server gdb ku mund të lidhet korrigjuesi (klienti). Shkarkoni openOCD për ESP32 nga https://github.com/espressif/openocd-esp32/releases dhe shpaketojeni atë në dosjen D: / devel / ESP32 / tools
2. redaktoni skedarët e konfigurimit të openOCD:
esp-wroom-32.cfg
Rruga e plotë për këtë skedar është:
D: / devel / ESP32 / tools / openocd-esp32 / share / openocd / scripts / board / esp-wroom-32.cfg
Në këtë skedar mund të vendosni shpejtësinë e komunikimit duke ndryshuar parametrin "adapter_khz". Për shembull "adapter_khz 8000" do të thotë 8Mhz.
Si parazgjedhje është 20MHz dhe mund të jetë shumë e lartë nëse përdorni tela të gjata më të gjata ose dërrasë buke. Unë rekomandoj të filloni me 1Mhz dhe nëse gjithçka është në rregull, shkoni në shpejtësi më të lartë, për mua 8Mhz funksionon me besueshmëri.
minimodule.cfg
Rruga e plotë për këtë skedar është: D: / devel / ESP32 / tools / openocd-esp32 / share / openocd / scripts / interface / ftdi / minimodule.cfg
Nëse e kuptoj saktë, minimoduli i vërtetë është bordi i mbivlerësimit me një çmim të tepërt me FT 2232 të prodhuar nga FTDI dhe ndryshimi i vetëm midis minimodulit të vërtetë dhe modulit të lirë ose çipit të zhveshur të disponueshëm në treg është përshkrimi i paracaktuar USB. OCD e hapur po kërkon përshtatës jtag bazuar në përshkrimin e pajisjes, gjithashtu layout init duhet të rregullohet.
Moduli i lirë ka përshkrimin "Dual RS232-HS". Nëse nuk jeni të sigurt për përshkrimin e pajisjes tuaj, mund ta kontrolloni te menaxheri i pajisjes -> vetitë e pajisjes -> detajet e skedës -> vlera e pronës "Përshkrimi i pajisjes i raportuar me autobus"
Përmbajtja e minimodule.cfg duhet të duket si shembulli më poshtë, linjat fillojnë me # mund të fshihen.
ndërfaqe 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 0x0008i
esp32.cfg
Rruga e plotë për këtë skedar është:
D: / devel / ESP32 / tools / openocd-esp32 / share / openocd / scripts / target / esp32.cfg
Shtoni këto 2 rreshta në fund të esp32.cfg. Pa këtë modifikim, shtimi i pikave të frenimit nuk do të funksionojë.
#Forconi pikat e prishjes. Pasi të kemi një hartë të kujtesës, ne gjithashtu mund të lejojmë softuerin bps.gdb_breakpoint_override hard
3. Shkarkoni dhe instaloni xtensa-esp32-elf toolchain-ky zinxhir mjetesh përmban korrigjues të linjës së komandës (klient gdb) i cili është jetik për të pasur një debug të punës nga çdo IDE grafik. Zinxhiri i zhveshur i veglave mund të shkarkohet nga faqja espressif, seksioni "Konfigurimi alternativ"
Hapi 4: Instalimet dhe Testi i Parë
Lidhni modulin FT2322 me ESP. Unë rekomandoj të përdorni sa më shumë tela të shkurtër. Nëse jeni i ri në JTAG, mos harroni se TDI i përshtatësit do të shkojë në TDI të çipit, gjithashtu TDO i përshtatësit do të shkojë në TDO të çipit. Linjat e të dhënave JTAG NUK KALOJN si Rx/Tx në uart!
Për testin e mëposhtëm rekomandoj skicën e shembullit të ndezjes të ngarkimit ose ndonjë skicë tjetër e cila mund të tregojë kur CPU po funksionon ose jo duke ndezur LED ose duke bipuar ose shkruar në tastierën serike.
Filloni openOCD duke ndjekur komandën
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 bord /esp-wroom-32.cfg
Kjo do të fillojë openOCD dhe nëse gjithçka është në rregull, duhet të shihni në linjën e komandës dalja përmban rreshtat e mëposhtëm:
Info: shpejtësia e orës 8000 kHzInfo: JTAG trokitje e lehtë: esp32.cpu0 rubinet/pajisje e gjetur: 0x120034e5 (mfg: 0x272 (Tensilica), pjesë: 0x2003, ver: 0x1) Info: JTAG trokitje e lehtë: esp32.cpu1 trokitje e lehtë/pajisja e gjetur: 0x120034e5 (mfg: 0x272 (Tensilica), pjesë: 0x2003, ver: 0x1)
Gjithashtu procesi openocd do të dëgjojë në portin TCP 3333
Hapni terminalin e ri dhe filloni klientin e linjës komanduese gdb duke ndjekur komandën
D: / devel / ESP32 / tools / xtensa-esp32-elf / bin / xtensa-esp32-elf-gdb.exe
Prisni një sekondë dhe kur terminali gdb do të jetë gati, shkruani komandat e mëposhtme një nga një
objektivi i telekomandës: ndalimi i rivendosjes së 3333 muajve vazhdon
komanda e parë hap lidhjen me serverin e debugut openocd, e dyta do të ndalojë ekzekutimin e programit në ESP dhe LED duhet të ndalojë së ndezuri, të vazhdojë të rivendosë ekzekutimin e programit dhe LED duhet të fillojë të pulsojë përsëri.
Hapi 5: Shtoni konfigurimin e korrigjimit në kodin Visual Studio
Unë supozoj se në atë pikë ju tashmë keni konfiguruar kodin vizual të studios dhe shtesën arduino në mënyrë korrekte dhe mund të verifikoni dhe ngarkoni skicën tuaj në tabelë. Nëse jo, ju lutemi kontrolloni disa udhëzime se si të konfiguroni kodin vizual të studios dhe arduino, për shembull në këtë faqe
Për të punuar me korrigjimin e nevojshëm, është e nevojshme të specifikoni dosjen e prodhimit të ndërtuar. Nën dosjen tuaj të skicës ekziston dosja (e fshehur).vscode, ku ndodhet skedari arduino.json. shtoni në këtë skedar rreshtin e mëposhtëm:
"output": "BuildOutput/"
ekzekutoni verifikoni ose ngarkoni dhe kontrolloni përsëri skedarin tuaj të skicimit, duhet të ketë dosje të re BuildOutput dhe brenda tij skedar me.elf zgjerim. skedari elf është jetik për korrigjimin.
Cilësimet e korrigjuesit janë në nisjen e skedarit.json. Krijoni këtë skedar me përmbajtjen e mëposhtme, ose mund ta kopjoni këtë skedar nga projekti shembull i bashkangjitur. Mos harroni të rregulloni rreshtin 26 dhe të përcaktoni rrugën e duhur për skedarin.elf të projektit tuaj.
{// Përdorni IntelliSense për të mësuar rreth atributeve të mundshme. // Rri pezull për të parë përshkrimet e atributeve ekzistuese. // Për më shumë informacion, vizitoni: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "konfigurimet": [{"name": "Arduino-GDB-openOCD "," type ":" cppdbg "," request ":" start "," program ":" $ {file} "," cwd ":" $ {workspaceRoot}/BuildOutput/"," MIMode ":" gdb ", "targetArchitecture": "krah", "miDebuggerPath": "D: /devel/ESP32/tools/xtensa-esp32-elf/bin/xtensa-esp32-elf-gdb.exe", "debugServerArgs": "", " customLaunchSetupCommands ": [{" text ":" target telekomandë: 3333 "}, {" text ":" mon reset reset stop "}, {// variant dinamik" text ":" file c:/Users/xxxxx/Documents/Arduino /${workspaceFolderBasename}/BuildOutput/${fileBasename}.elf "// variant statik //" tekst ":" file c: /Users/xxxxx/Documents/Arduino/YourProject/BuildOutput/YourProject.ino.elf "}, {"text": "flushregs"}, {"text": "thb app_main"}, {"text": "c", "ignoreFailures": true}], "stopAtEntry": true, "serverStarted": "Info \: [ w / d \.]*: / hardware "," launchCompleteCommand ":" exec-continue "," filterStderr ": true," args ": }]}
Si të filloni korrigjimin:
- Plotësoni dhe ngarkoni skicën tuaj në bord
- Filloni openOCD me parametra
- Vendosni pikat e frenimit në kodin ku dëshironi
- Pasi të keni vendosur të gjitha pikat e frenimit, sigurohuni që të keni hapur skedarin kryesor.ino të projektit tuaj. (ose rruga e kodit të fortë për në skedarin.elf në laun.json)
- Hap panelin e korrigjimit në kodin vs (Ctrl + Shift + D)
- Zgjidhni korrigjuesin "Arduino-GDB-openOCD", duhet të jetë i disponueshëm vetëm.
- Godit F5 për të filluar korrigjimin
Recommended:
Furnizues i Energjisë me Tension të Lirë të Lirë të Ndryshëm: 3 Hapa
Furnizues i Energjisë me Tension të Lartë të Lirë të Ndryshëm: Ndërtoni një furnizim me energji të rregulluar të tensionit të lartë për karikimin e kondensatorit ose një aplikim tjetër të tensionit të lartë. Ky projekt mund të kushtojë më pak se 15 dollarë dhe ju do të jeni në gjendje të merrni më shumë se 1000V dhe të jeni në gjendje të rregulloni daljen nga 0-1000V+. Ky udhëzim
Qark i formueshëm i lirë - Qarku i vërtetë i formës së lirë !: 8 hapa
Qark i formueshëm i lirë | Qark i vërtetë i formës së lirë !: Një qark LED me telekomandë me telekomandë të lirë të formueshme. Një ndjekës i lehtë i gjithanshëm i zbatueshëm DIY me modele të kontrolluara nga Arduino. Historia: Unë jam frymëzuar nga qarku i formës së lirë … Kështu që unë sapo bëra një qark të formës së lirë që është edhe i formësueshëm (mund të jetë
Tingull Reaktiv I Lirë Ir Led i Lirë: 4 Hapa
Sound Reactive Cheap Ir Led Strip: Sound Reactive Cheap Ir Led Stripwell, ideja erdhi pasi shiriti led mbërriti nga AliExpress dhe ato nuk ishin neopixel por rrip LED RGB me 44krys ose 24 lloje kryesore të telekomandës, Dumb me lol, porosita atë të gabuarin . I doja për një festë, por wi
Kornizë e lirë e lirë e fotografisë dixhitale: 6 hapa (me fotografi)
Kornizë e lirë e lirë e fotografisë dixhitale: Unë në thelb e bëra këtë si një dhuratë për ditëlindjen për të dashurën time. Po kërkoni një ide të mrekullueshme dhuratë? Kjo eshte! Kostoja totale ishte nën 100 dollarë, dhe mund të jetë shumë më pak nëse jeni tru. Unë e di që nuk jam i pari që kam dalë me idenë e një shtëpie
Ndërfaqe me shumë prekje në atë të lirë (me të vërtetë të lirë): 3 hapa
Ndërfaqe me shumë prekje në atë të lirë (me të vërtetë të lirë): Ky është udhëzuesi im i parë, kështu që ju lutemi tregohuni të mirë. Kjo është mënyra se si të bëni një ndërfaqe me shumë prekje nga tavolina juaj për shumë pak para. Më në fund mora një video, më vjen keq për normën e keqe të kornizës që laptopi im nuk është aq i mirë