Orodha ya maudhui:
- Hatua ya 1: Utaftaji wa Programu
- Hatua ya 2: Usanidi wa Dereva na Usanidi
- Hatua ya 3: OpenOCD, Toolchain na Gdb
- Hatua ya 4: Wiring na Mtihani wa Kwanza
- Hatua ya 5: Ongeza Usanidi wa Kutatua kwa Msimbo wa Studio ya Visual
Video: ESP32 - Suluhisho la bei rahisi kwa Utatuzi wa Circruit: Hatua 5
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:53
Halo, Katika maelezo haya inaelezewa jinsi ya kuweka adapta ya bei nafuu ya JTAG kulingana na chip ya FTDI 2232HL, na nambari ya kuona na addu ya arduino.
- Moduli ya FTDI 2232HL na kontakt USB kuanzia 8 $ kwenye ebay na hakuna programu inayolipwa inahitajika. Huu ni suluhisho nzuri kwa anayependeza ambaye hataki kutumia $ 50 + kwa profesionall adapta ya JTAG.
- Adapter hii inaweza kutumika kwa utatuzi wa majukwaa mengine kama ESP8266, ARM, AVR na zingine nyingi. Usanidi fulani unategemea jukwaa lengwa, mafundisho haya inashughulikia tu usanidi wa ESP32.
- Ikiwa tayari unamiliki adapta ya JTAG, unaweza kuitumia wakati inasaidiwa na openOCD, anza tu openocd na faili tofauti ya usanidi kulingana na aina ya adapta yako ya jtag.
- platform.io inaweza kukurahisishia usanidi, lakini utatuzi unasaidiwa tu katika toleo la kitaalam lililolipwa.
- Inafanya kazi na moduli nyingi za ESP32. (kwa mfano wemos za bei nafuu lolin 32)
- adapta hii ya jtag inapaswa kufanya kazi na linux pia, lakini mimi mwenyewe sikuijaribu.
Hatua ya 1: Utaftaji wa Programu
Toleo la Arduino IDE 1.8 au mpya. Toleo la duka la Windows halitumiki. Lazima utumie toleo la usakinishaji wa kawaida ambao unaweza kupakuliwa kutoka kwa ukurasa rasmi wa Arduino
Msimbo wa studio ya kuona ya Microsoft
Viongezeo hivi vya nambari ya studio ya kuona ni lazima
- Arduino
- Utatuzi wa asili
Ninapendekeza pia kusanidi kiambatisho hiki kinachowezesha ujasusi kwa C / C ++
C / C ++
Katika mwongozo huu nitatumia folda 2 zinazofanya kazi:
D: / devel / ESP32 / zana / - hapa nimeweka zana zote
C: / Watumiaji / xxxxx / Nyaraka / Arduino / YourProject / - hii ni folda iliyo na mchoro
unaweza kuweka faili zako mahali pengine popote ikiwa unataka, tafadhali usisahau kusasisha marejeleo yote na njia yako halisi.
Hatua ya 2: Usanidi wa Dereva na Usanidi
Hata kama windows otomatiki hugundua FT2232 kwa chaguo-msingi, madereva chaguo-msingi ya windows hayatoshi kwa huduma zote za mapema na inahitajika kupakua na kusanikisha dereva kutoka kwa wavuti ya FTDI
Wakati dereva sahihi amewekwa, unapaswa kuona moduli yako ya FT2232 katika msimamizi wa kifaa sio tu kama bandari 2 za serial lakini pia kama "USB serial converter A" na "USB serial converter B"
Hatua ya pili ni dereva wa mabadiliko kwa kituo kimoja cha kibadilishaji chetu. Pakua zana ya zadig kutoka https://zadig.akeo.ie/. Ikiwa ninaelewa vizuri kifaa hiki kiunganishe dereva wa winUSB kwenye kifaa cha FTDI ambacho kinawezesha mawasiliano ya kiwango cha chini kati ya openOCD na kifaa cha USB.
Katika zana ya zadig, kwenye menyu "Chaguzi" angalia "Onyesha Vifaa vyote", basi unapaswa kuona adapta yako katika orodha ya vifaa vinavyopatikana. Chagua "Dual RS232-HS (Interface 0)" kisha chagua dereva mbadala "WinUSB v6.1.xxxx" na bonyeza finaly bonyeza kitufe cha dereva.
Unapounganisha adapta yako kwenye bandari tofauti ya USB ya kompyuta yako, ni muhimu kubadilisha mipangilio ya dereva kupitia zana ya zadig tena, kwa wazi openOCD haitapata adapta yako.
Hatua ya 3: OpenOCD, Toolchain na Gdb
1. Open OCD ni chombo cha kutengeneza utatuaji, kwa upande mmoja inazungumza na chip kwa upande mwingine inatoa seva ya gdb ambapo mtatuaji (mteja) anaweza kuungana. Pakua openOCD ya ESP32 kutoka https://github.com/espressif/openocd-esp32/releases na uifunue kwenye folda D: / devel / ESP32 / zana
2. hariri faili za usanidi wa openOCD:
esp-chumba-32.cfg
Njia kamili ya faili hii ni:
D: / devel / ESP32 / zana / openocd-esp32 / share / openocd / scripts / board / esp-wroom-32.cfg
Katika faili hii unaweza kuweka kasi ya mawasiliano kwa kubadilisha parameter "adapter_khz". Kwa mfano "adapta_khz 8000" inamaanisha 8Mhz.
Chaguo-msingi ni 20MHz na inaweza kuwa juu sana ikiwa unatumia waya ndefu za kuruka au ubao wa mkate. Ninapendekeza kuanza saa 1Mhz na ikiwa kila kitu ni sawa, nenda kwa kasi zaidi, kwangu 8Mhz inafanya kazi kwa uaminifu.
minimodule.cfg
Njia kamili ya faili hii ni: D: / devel / ESP32 / zana / openocd-esp32 / share / openocd / scripts / interface / ftdi / minimodule.cfg
Ikiwa ninaelewa kwa usahihi, minimodule halisi ina bei ya juu ya bodi ya kuvunja na FT 2232 iliyotengenezwa na FTDI na tofauti tu kati ya minimodule halisi na moduli ya bei rahisi au chip iliyo wazi kwenye soko ni maelezo chaguomsingi ya USB. OCD wazi inatafuta adapta ya jtag kulingana na maelezo ya kifaa, pia init ya mpangilio inahitaji kubadilishwa.
Moduli ya bei rahisi ina maelezo "Dual RS232-HS". Ikiwa hauna uhakika juu ya maelezo ya kifaa chako, unaweza kukiangalia katika kidhibiti cha kifaa -> mali za kifaa -> maelezo ya kichupo -> thamani ya mali "Maelezo ya kifaa yaliyoripotiwa na basi"
Yaliyomo ya minimodule.cfg inapaswa kuonekana kama mfano hapa chini, mistari huanza na # inaweza kufutwa.
kiolesura cha 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 0x20data 0x20data
esp32.cfg
Njia kamili ya faili hii ni:
D: / devel / ESP32 / zana / openocd-esp32 / share / openocd / scripts / target esp32.cfg
Tumia kufuata mistari 2 hadi mwisho wa esp32.cfg. Bila mabadiliko haya, kuongeza vituo vya kuvunja haitafanya kazi.
#Force hw mapumziko. Mara tu tunapokuwa na ramani ya kumbukumbu, tunaweza pia kuruhusu programu bps.gdb_breakpoint_override ngumu
3. Pakua na usanikishe zana ya zana ya xtensa-esp32-elf - zana hii ya zana ina kitatuaji cha laini ya amri (mteja wa gdb) ambayo ni muhimu kuwa na utatuzi wa kazi kutoka kwa IDE yoyote ya picha. Zana ya zana inaweza kupakuliwa kutoka kwa tovuti ya espressif, sehemu ya "Mbadala mbadala"
Hatua ya 4: Wiring na Mtihani wa Kwanza
Unganisha moduli ya FT2322 na ESP. Ninapendekeza kutumia waya fupi iwezekanavyo. Ikiwa wewe ni mpya kwa JTAG, usisahau kwamba TDI ya adapta itaenda kwa TDI ya chip, pia TDO ya adapta itaenda kwa TDO ya chip. Mistari ya data ya JTAG HAIJAVULIKA kama Rx / Tx kwenye uart!
Kwa jaribio lifuatalo ninapendekeza kupakia mchoro wa mfano wa mchoro au mchoro mwingine ambao unaweza kuonyesha wakati CPU inaendesha au sio kwa kupepesa LED au kulia au kuandika kwa serial console.
Anza OpenOCD kwa kufuata amri
D: / devel / ESP32 / zana / openocd-esp32 / bin / openocd.exe-s D: / devel / ESP32 / zana / openocd-esp32 / share / openocd / script -f interface / ftdi / minimodule.cfg -f bodi / chumba cha kulala- 32.cfg
Hii itaanza openOCD na ikiwa kitu chochote ni sawa unapaswa kuona katika pato la mstari wa amri lina mistari ifuatayo:
Maelezo: kasi ya saa 8000 kHz Maelezo: bomba la JTAG: esp32.cpu0 bomba / kifaa kilichopatikana: 0x120034e5 (mfg: 0x272 (Tensilica), sehemu: 0x2003, ver: 0x1) Maelezo: Bomba la JTAG: esp32.cpu1 bomba / kifaa kilichopatikana: 0x120034e5 (mfg: 0x272 (Tensilica), sehemu: 0x2003, ver: 0x1)
Mchakato wa openocd utasikiliza kwenye bandari ya TCP 3333
Fungua terminal mpya na anza mteja wa mstari wa amri gdb kwa kufuata comand
D: / devel / ESP32 / zana \xtxtsa-esp32-elf / bin / xtensa-esp32-elf-gdb.exe
Subiri sekunde na wakati kituo cha gdb kitakuwa tayari andika amri zifuatazo moja kwa moja
lengo la mbali: 3333mon seta upya endelea
Amri ya kwanza inafungua unganisho kwa seva ya utatuaji wa openocd, pili itasimamisha utekelezaji wa programu kwenye ESP na LED inapaswa kuacha kupepesa, endelea kurejesha utekelezaji wa programu na mwangaza wa LED uanze kupepesa tena.
Hatua ya 5: Ongeza Usanidi wa Kutatua kwa Msimbo wa Studio ya Visual
Ninahisi wakati huo tayari umesanidi nambari ya studio ya kuona na addu ya arduino kwa usahihi na unaweza kudhibitisha na kupakia mchoro wako kwenye bodi. Ikiwa sivyo, tafadhali angalia maagizo jinsi ya kusanidi nambari ya studio ya kuona na arduino, kwa mfano kwenye ukurasa huu
Ili kufanya utatuaji kazi ufanye kazi kwa kubainisha folda ya pato la ujenzi. Chini ya folda yako ya mchoro kuna folda (iliyofichwa).vscode, faili ya arduino.json iko wapi. ongeza kwenye faili hii ifuatayo mstari:
"pato": "BuildOutput /"
endesha kuthibitisha au kupakia na angalia folda yako ya mchoro tena, inapaswa kuwa na folda mpya ya BuildOutput na ndani yake faili na.elf extensition. elf ni muhimu kwa utatuzi.
Mipangilio ya Debugger iko kwenye uzinduzi wa faili.json. Unda faili hii na yaliyomo, au unaweza kunakili faili hii kutoka kwa mradi wa mfano ulioambatishwa. Usisahau kurekebisha laini ya 26 na ufafanue njia sahihi ya faili yako ya mradi.
{// Tumia IntelliSense kujifunza juu ya sifa zinazowezekana. // Hover kuona maelezo ya sifa zilizopo. // Kwa habari zaidi, tembelea: "," type ":" cppdbg "," request ":" uzinduzi "," 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 ": [{" maandishi ":" lengo la mbali: 3333 "}, {" maandishi ":" mon reset sit " /${workspaceFolderBasename}/BuildOutput/${fileBasename}.elf "// static variant //" text ":" file c: /Users/xxxxx/Documents/Arduino/YourProject/BuildOutput/YourProject.ino.elf "}, {"text": "flushregs"}, {"text": "thb app_main"}, {"text": "c", "ignoreFailures": true}], "stopAtEntry": kweli, "serverStarted": "Habari \: [ w / d \.] *: / vifaa vya ujenzi "," launchCompleteCommand ":" exec-continue "," filterStderr ": kweli," args ": }]}
Jinsi ya kuanza utatuzi:
- Tuma na pakia mchoro wako kwenye ubao
- Anza OpenOCD na vigezo
- Weka vinjari kwa msimbo ambapo unataka
- Baada ya kuweka vituo vyote vya kuvunja, hakikisha kuwa umefungua faili kuu ya mradi wako. (au njia ngumu ya faili ya.elf katika uzinduzi.json)
- Fungua jopo la utatuzi katika nambari ya vs (Ctrl + Shift + D)
- Chagua kitatuaji cha "Arduino-GDB-openOCD", kinapaswa kupatikana tu.
- Piga F5 ili uanze utatuzi
Ilipendekeza:
Moduli ya Bei ya Bei ya Haraka yenye bei rahisi: Hatua 4
Moduli ya Bee ya Bei ya Bei ya Haraka ya bei rahisi: Nyuki wa haraka ni programu ya IOS / Android ya kukagua / kusanidi Bodi za Kudhibiti Ndege. Pata habari zote hapa: Kiunga cha SpeedyBee Inapeana upataji rahisi kwa watawala wa Ndege bila kutumia kompyuta au kompyuta ndogo, inasaidia sana wakati wako nje katika fi
Bei ya bei rahisi na rahisi ya Arduino: Hatua 7 (na Picha)
Nafuu na Rahisi Arduino Eggbot: Katika Maagizo haya nataka kuonyesha jinsi ya kutengeneza kipangaji rahisi na cha bei rahisi cha arduino ambacho kinaweza kuchora mayai au vitu vingine vya duara. Kwa kuongeza, hivi karibuni Pasaka na nyumba hii ya nyumbani itakuwa rahisi sana
Bei ya bei rahisi na rahisi ya Toleo la 1: 7 Hatua
Bei ya bei rahisi na rahisi ya Toleo la 1: Wamiliki wa betri bila shaka wanashikilia betri na ni muhimu sana katika miradi ya elektroniki haswa zile zinazohitaji betri. Huyu ndiye mmiliki rahisi zaidi wa betri ambaye ningeweza kuja naye. Jambo bora ni kwamba ni rahisi na hutumia vitu vya nyumbani
Bei ya bei rahisi na rahisi ya Toleo la 2: 6 Hatua
Bei ya bei rahisi na rahisi ya Toleo la 2: Hili ni toleo la pili la mmiliki wangu wa betri. Mmiliki huyu ni kwa wale wanaopenda kubana vizuri. Kwa kweli ni ngumu sana utahitaji kitu ili kuondoa betri iliyokufa. Hiyo ni ikiwa unaipima ndogo sana na hairuhusu nafasi ya kutosha ya popo
Bei ya bei rahisi na rahisi ya Ipod !: 4 Hatua
Bei ya bei rahisi na rahisi ya Ipod !: Hapa kuna njia rahisi ya kutengeneza kizimbani chenye nguvu na ngumu kutoka kwenye sanduku, na sehemu zingine ambazo zilikuja na kugusa / Iphone. Ipod, Itouch, au bidhaa zingine za I sina jukumu