Orodha ya maudhui:

ESP32 - Suluhisho la bei rahisi kwa Utatuzi wa Circruit: Hatua 5
ESP32 - Suluhisho la bei rahisi kwa Utatuzi wa Circruit: Hatua 5

Video: ESP32 - Suluhisho la bei rahisi kwa Utatuzi wa Circruit: Hatua 5

Video: ESP32 - Suluhisho la bei rahisi kwa Utatuzi wa Circruit: Hatua 5
Video: Управляйте 10 выходными контактами или реле с помощью 10 кнопочных переключателей с 1 входным контактом Arduino ANPB-V2. 2024, Novemba
Anonim
ESP32 - Suluhisho la bei rahisi kwa Utatuzi wa Circruit
ESP32 - Suluhisho la bei rahisi kwa Utatuzi wa Circruit

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

Usanidi wa Dereva na Usanidi
Usanidi wa Dereva na Usanidi
Usanidi wa Dereva na Usanidi
Usanidi wa Dereva na Usanidi
Usanidi wa Dereva na Usanidi
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

OpenOCD, Miti ya zana na Gdb
OpenOCD, Miti ya zana 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

Wiring na Mtihani wa Kwanza
Wiring na Mtihani wa Kwanza
Wiring na Mtihani wa Kwanza
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

Ongeza Usanidi wa Kutatua kwa Msimbo wa Studio ya Visual
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:

  1. Tuma na pakia mchoro wako kwenye ubao
  2. Anza OpenOCD na vigezo
  3. Weka vinjari kwa msimbo ambapo unataka
  4. 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)
  5. Fungua jopo la utatuzi katika nambari ya vs (Ctrl + Shift + D)
  6. Chagua kitatuaji cha "Arduino-GDB-openOCD", kinapaswa kupatikana tu.
  7. Piga F5 ili uanze utatuzi

Ilipendekeza: