Sisukord:
- 1. samm: tarkvara eelised
- Samm: draiveri installimine ja konfigureerimine
- Samm: OpenOCD, Toolchain ja Gdb
- Samm: juhtmestik ja esimene test
- Samm: lisage silumiskonfiguratsioon Visual Studio koodile
Video: ESP32 - odav lahendus Circruuti silumiseks: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Tere! Selles juhendis kirjeldatakse, kuidas seadistada odavat JTAG -adapterit, mis põhineb FTDI 2232HL kiibil, visuaalse koodi ja arduino lisandiga.
- FTDI 2232HL moodul USB -pistikuga alates 8 $ eBays ja tasulist tarkvara pole vaja. See on suurepärane lahendus harrastajatele, kes ei soovi kulutada 50 dollarit+ professionaalse JTAG -adapteri peale.
- Seda adapterit saab kasutada teiste platvormide, näiteks ESP8266, ARM, AVR ja paljude teiste silumiseks. Mõni konfiguratsioon sõltub sihtplatvormist, see juhend hõlmab ainult ESP32 seadistamist.
- Kui teil juba on mõni JTAG -adapter, saate seda kasutada, kui seda toetab openOCD, käivitage lihtsalt openocd erineva konfiguratsioonifailiga, sõltuvalt teie jtag -adapteri tüübist.
- platform.io võib teie jaoks seadistamist lihtsustada, kuid silumist toetatakse ainult tasulises professionaalses versioonis.
- Töötab enamiku ESP32 moodulitega. (näiteks odav wemos lolin 32)
- see jtag -adapter peaks töötama ka Linuxiga, kuid ma isiklikult ei testinud seda.
1. samm: tarkvara eelised
Arduino IDE versioon 1.8 või uuem. Windowsi poe versiooni ei toetata. Peate kasutama klassikalist installijaversiooni, mille saate alla laadida Arduino ametlikult lehelt
Microsofti visuaalse stuudio kood
Need visuaalse stuudio koodi lisad on kohustuslikud
- Arduino
- Natiivne silumine
Samuti soovitan installida selle lisandmooduli, mis võimaldab C/C ++ jaoks intelisense
C/C ++
Selles juhendis kasutan 2 töökausta:
D: / devel / ESP32 / tools / - siia olen paigutanud kõik tööriistad
C: / Users / xxxxx / Documents / Arduino / YourProject / - see on visandiga kaust
soovi korral saate oma failid mujale paigutada, lihtsalt ärge unustage kõiki viiteid oma tegeliku teega värskendada.
Samm: draiveri installimine ja konfigureerimine
Isegi kui Windows tuvastab vaikimisi automaatselt FT2232, ei piisa Windowsi vaikedraiveritest kõigi eelfunktsioonide jaoks ning draiver tuleb alla laadida ja installida FTDI saidilt
Kui õige draiver on installitud, peaksite seadmehalduris nägema oma FT2232 moodulit mitte ainult kahe jadapordina, vaid ka kui "USB jadamuundur A" ja "USB jadamuundur B"
Teine samm on draiveri vahetamine meie muunduri ühe kanali jaoks. Laadige zadigi tööriist alla aadressilt https://zadig.akeo.ie/. Kui ma õigesti aru saan, ühendab see tööriist winUSB draiveri FTDI -seadmega, mis võimaldab madalat taset suhelda openOCD ja USB -seadme vahel.
Zadigi tööriista menüüs "Valikud" märkige "Kuva kõik seadmed", siis peaksite nägema oma adapterit saadaolevate seadmete loendis. Valige "Dual RS232-HS (liides 0)", seejärel valige asendusdraiver "WinUSB v6.1.xxxx" ja klõpsake lõpuks draiveri vahetamise nupul.
Kui ühendate adapteri arvuti erineva USB -pordiga, on vaja draiveri seadeid zadigi tööriista abil uuesti muuta, vastasel juhul ei leia openOCD teie adapterit.
Samm: OpenOCD, Toolchain ja Gdb
1. Avatud OCD on tööriist ringhäälingu silumiseks, ühel küljel räägib see kiibist, teisel pool pakub gdb -serverit, millega silur (klient) saab ühenduse luua. Laadige alla OpenOCD ESP32 jaoks saidilt https://github.com/espressif/openocd-esp32/releases ja pakkige see kausta D: / devel / ESP32 / tools
2. redigeerige openOCD konfiguratsioonifaile:
esp-wroom-32.cfg
Selle faili täielik tee on järgmine:
D: / devel / ESP32 / tools / openocd-esp32 / share / openocd / scripts / board / esp-wroom-32.cfg
Selles failis saate seada side kiiruse, muutes parameetrit "adapter_khz". Näiteks "adapter_khz 8000" tähendab 8Mhz.
Vaikeväärtus on 20 MHz ja see võib olla liiga kõrge, kui kasutate pikemaid hüppajajuhtmeid või leivaplaati. Soovitan alustada 1Mhz -st ja kui kõik on korras, minge suuremale kiirusele, minu jaoks töötab 8Mhz usaldusväärselt.
minimaalne moodul.cfg
Selle faili täielik tee on: D: / devel / ESP32 / tools / openocd-esp32 / share / openocd / scripts / interface / ftdi / minimalodule.cfg
Kui ma õigesti aru saan, on ehtne minimoodul FTDI toodetud FT 2232 -ga ülehinnatud pidurdusplaat ja ainus erinevus ehtsa miinimooduli ja odava mooduli või turul saadaval oleva kiibi vahel on vaikimisi USB -kirjeldus. open OCD otsib seadme kirjelduse põhjal jtag -adapterit, samuti tuleb kohandada paigutuse init.
Odava mooduli kirjeldus on "Dual RS232-HS". Kui te pole oma seadme kirjelduses kindel, saate seda vaadata seadmehalduris -> seadme atribuudid -> vahekaardi üksikasjad -> atribuudi "Bus teatatud seadme kirjeldus" väärtus
Minimodule.cfg sisu peaks välja nägema nagu allpool toodud näide, # -ga algavad read saab kustutada.
liides 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_data
esp32.cfg
Selle faili täielik tee on järgmine:
D: / devel / ESP32 / tools / openocd-esp32 / share / openocd / scripts / target / esp32.cfg
Lisage esp32.cfg lõppu järgmised 2 rida. Ilma selle modifikatsioonita piduripunktide lisamine ei toimi.
#Force hw murdepunktid. Kui meil on mälukaart, saame lubada ka tarkvara bps.gdb_breakpoint_override kõvasti
3. Laadige alla ja installige tööriistakett xtensa-esp32-elf-see tööriistakett sisaldab käsurea silurit (gdb klient), mis on hädavajalik mis tahes graafilise IDE silumiseks. Palja tööriistaketi saab alla laadida espressifi saidilt, jaotisest "Alternatiivne seadistamine"
Samm: juhtmestik ja esimene test
Ühendage FT2322 moodul ESP -ga. Soovitan kasutada võimalikult lühikesi juhtmeid. Kui olete JTAGi uus, ärge unustage, et adapteri TDI läheb kiibi TDI -le, samuti läheb adapteri TDO kiibi TDO -le. JTAG -i andmeliinid ei ole ristitud nagu Rx/Tx uartil!
Järgmiseks testiks soovitan üles laadida vilkuva näite visandi või mõne muu visandi, mis vilkuva LED -i vilkumise või piiksumise või jadakonsoolile kirjutamise abil võib näidata, kas protsessor töötab või mitte.
Käivitage openOCD, järgides käsku
D: / devel / ESP32 / tools / openocd-esp32 / bin / openocd.exe-s D: / devel / ESP32 / tools / openocd-esp32 / share / openocd / scripts -f interface/ftdi/minimalodule.cfg -f board /esp-wroom-32.cfg
See käivitab openOCD ja kui kõik on korras, peaksite käsurea väljundis nägema järgmisi ridu:
Info: taktsagedus 8000 kHz Info: JTAG kraan: esp32.cpu0 kraan/seade leitud: 0x120034e5 (mfg: 0x272 (Tensilica), osa: 0x2003, ver: 0x1) Info: JTAG kraan: esp32.cpu1 kraan/leitud seade: 0x120034e5 (mfg: 0x272 (Tensilica), osa: 0x2003, ver: 0x1)
Samuti kuulab openocd protsess TCP porti 3333
Avage uus terminal ja käivitage käsurealt gdb klient, järgides käsku
D: / devel / ESP32 / tools / xtensa-esp32-elf / bin / xtensa-esp32-elf-gdb.exe
Oodake hetk ja kui gdb -terminal on valmis, kirjutage ükshaaval järgmised käsud
sihtpult: 3333moni lähtestamise peatamine jätkub
esimene käsk avab ühenduse openocd silumisserveriga, teine peatab programmi täitmise ESP -l ja LED peaks lõpetama vilkumise, jätkama programmi täitmise taastamist ja LED peaks uuesti vilkuma.
Samm: lisage silumiskonfiguratsioon Visual Studio koodile
Eeldan, et sel hetkel olete juba visuaalse stuudio koodi ja arduino lisandi õigesti seadistanud ning saate oma visandi tahvlile kinnitada ja üles laadida. Kui ei, siis palun vaadake mõningaid juhiseid visuaalse stuudio koodi ja arduino seadistamiseks, näiteks sellel lehel
Silumise toimimiseks on vaja koostada väljundkaust. Eskiisikausta all on (peidetud) kaust.vscode, kus asub fail arduino.json. lisage sellele failile järgmine rida:
"output": "BuildOutput/"
käivitage kontroll või laadige üles ja kontrollige oma visandikausta uuesti, seal peaks olema uus BuildOutput kaust ja selle sees fail.elf laiendusega. elf -fail on silumiseks hädavajalik.
Siluri seaded on failis launch.json. Looge see fail järgmise sisuga või saate selle faili kopeerida lisatud näidisprojektist. Ärge unustage reguleerida rida 26 ja määratleda oma projekti.elf -faili õige tee.
{// Kasutage IntelliSense'i võimalike atribuutide tundmaõppimiseks. // Hõljutage kursorit olemasolevate atribuutide kirjelduste vaatamiseks. // Lisateabe saamiseks külastage: https://go.microsoft.com/fwlink/?linkid=830387 "versioon": "0.2.0", "konfiguratsioonid": [{"nimi": "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 ":" target remote: 3333 "}, {" text ":" mon reset halt "}, {// dünaamiline variant" text ":" file c:/Users/xxxxx/Documents/Arduino /${workspaceFolderBasename}/BuildOutput/${fileBasename}.elf "// staatiline variant //" text ":" 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 \.]*: / riistvara "," launchCompleteCommand ":" exec-jatka "," filterStderr ": true," args ": }]}
Silumise alustamine:
- Järgige ja laadige oma eskiis pardale
- Käivitage parameetritega openOCD
- Seadke piduripunktid koodi, kuhu soovite
- Pärast kõigi pidurduspunktide seadistamist veenduge, et olete avanud oma projekti peamise.ino -faili. (või kõvakoodi tee.elf -failini käivitamisel.json)
- Ava silumispaneel vs -koodis (Ctrl + Tõstuklahv + D)
- Valige silur "Arduino-GDB-openOCD", peaks olema saadaval ainult.
- Silumise alustamiseks vajutage klahvi F5
Soovitan:
Valgusreostuse lahendus - Artemis: 14 sammu
Valgusreostuse lahendus - Artemis: valgusreostus mõjutab meid kõiki üle maailma. Pärast lambipirni leiutamist on valgus muutunud palju populaarsemaks ja seda on spetsiaalselt kasutatud suurtes linnades nagu New York City ja Chicago. Kõik see valgus võib mõjutada
IOT lahendus ühisrattale: 6 sammu
IOT lahendus ühisrattale: jagamisratas on tänapäeval Hiinas väga populaarne. Turul on rohkem kui 10 kaubamärki jagamisratast ja “ mobike ” on kõige kuulsam, sellel on üle 100 miljoni registreeritud kasutaja ja see on levinud ka teistesse linnadesse
Mikro -USB -kaablid - lihtne lahendus: 5 sammu
Mikro-USB-kaablid-lihtne lahendus: väga levinud probleem paljude (ja mõnda aega mitte nii) odavate USB-mikro-USB-kaablite puhul on see, et mikro-USB-pistiku jätkuva painutamise tõttu lõikavad sisemised kaablid ise ja kaabel peatub töö. Keskmise kvalifikatsiooniga jootekolvi kasutaja jaoks
Arduino projekt: testivahemik LoRa moodul RF1276 GPS -i jälgimiseks Lahendus: 9 sammu (piltidega)
Arduino projekt: testivahemik LoRa moodul RF1276 GPS -i jälgimiseks Lahendus: Ühendus: USB - jada Vajadus: Chrome'i brauseri vajadus: 1 X Arduino Mega vajadus: 1 X GPS -i vajadus: 1 X SD -kaardi vajadus: 2 X LoRa -modem RF1276 Funktsioon: Arduino Saada GPS -väärtus põhibaasi - peamine baas salvestab andmed Dataino Server Lora moodulis: ülikõrge vahemik
SKY CAM õhukaamera lahendus: 10 sammu (koos piltidega)
SKY CAM õhukaamera lahendus: See juhendab teile juhiseid selle kohta, kuidas ma tegin koolis oma GCSE elektrooniliste toodete projekti jaoks kaugjuhtimispuldi (poolautonoomse) kaabelkaamerasüsteemi ja loodetavasti võimaldab teil luua oma süsteemi! See on mõeldud jämeda juhisena