Mundarija:
- 1 -qadam: Dasturiy ta'minot shartlari
- 2 -qadam: haydovchini o'rnatish va sozlash
- 3 -qadam: OpenOCD, asboblar zanjiri va Gdb
- 4 -qadam: simlar va birinchi sinov
- 5 -qadam: Visual Studio kodiga disk raskadrovka konfiguratsiyasini qo'shing
Video: ESP32 - aylanma disk raskadrovka uchun arzon echim: 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Salom, bu ko'rsatmada FTDI 2232HL chipiga asoslangan vizual kod va arduino addon bilan arzon JTAG adapterini qanday o'rnatish kerakligi tasvirlangan.
- USB ulagichi bilan FTDI 2232HL moduli ebayda 8 dollardan boshlanadi va pullik dasturiy ta'minot talab qilinmaydi. Bu professional JTAG adapteriga 50 $+ sarflashni istamaydigan havaskorlar uchun ajoyib echim.
- Bu adapter ESP8266, ARM, AVR va boshqa ko'plab boshqa platformalarni disk raskadrovka qilish uchun ishlatilishi mumkin. Ba'zi konfiguratsiya maqsadli platformaga bog'liq, bu ko'rsatma faqat ESP32 uchun o'rnatishni o'z ichiga oladi.
- Agar sizda JTAG adapteri bo'lsa, uni openOCD qo'llab -quvvatlasa, undan foydalanishingiz mumkin, faqat jtag adapter turiga qarab turli xil konfiguratsiya fayli bilan openocd -ni ishga tushiring.
- platform.io sizga sozlashni osonlashtirishi mumkin, lekin disk raskadrovka faqat pullik professional versiyada qo'llab -quvvatlanadi.
- ESP32 modullarining ko'pchiligi bilan ishlaydi. (masalan, arzon wemos lolin 32)
- bu jtag adapteri linux bilan ham ishlashi kerak, lekin men uni shaxsan sinab ko'rmaganman.
1 -qadam: Dasturiy ta'minot shartlari
Arduino IDE 1.8 yoki undan yangi versiyasi. Windows do'koni versiyasi qo'llab -quvvatlanmaydi. Klassik o'rnatish versiyasini ishlatishingiz kerak, uni rasmiy Arduino sahifasidan yuklab olishingiz mumkin
Microsoft vizual studiya kodi
Vizual studiya kodi uchun ushbu qo'shimchalar majburiydir
- Arduino
- Mahalliy disk raskadrovka
Men C/C ++ uchun intelisense -ni yoqadigan ushbu qo'shimchani o'rnatishni tavsiya qilaman
C/C ++
Ushbu qo'llanmada men 2 ta ishchi papkadan foydalanaman:
D: / devel / ESP32 / tools / - bu erda men barcha vositalarni joylashtirdim
C: / Users / xxxxx / Documents / Arduino / YourProject / - bu eskizli papka
Agar xohlasangiz, fayllaringizni boshqa joyga qo'yishingiz mumkin, iltimos, barcha yo'llanmalarni haqiqiy yo'lingiz bilan yangilashni unutmang.
2 -qadam: haydovchini o'rnatish va sozlash
Hatto derazalar avtomatik ravishda FT2232 -ni aniqlasa ham, Windows -ning standart drayverlari barcha qo'shimcha funktsiyalar uchun etarli emas va drayverni FTDI saytidan yuklab olish va o'rnatish kerak
To'g'ri haydovchi o'rnatilganda, siz FT2232 modulini qurilma menejerida nafaqat ikkita ketma -ket port, balki "USB ketma -ket USB konvertori" va "USB ketma -ket konvertori B" sifatida ham ko'rishingiz kerak.
Ikkinchi qadam - konvertorimizning bitta kanali uchun drayverni o'zgartirish. Zadig vositasini https://zadig.akeo.ie/ saytidan yuklab oling. Agar men bu vositani to'g'ri tushunsam, winUSB drayverini FTDI qurilmasiga ulayman, bu esa openOCD va USB qurilmasi o'rtasida past darajadagi aloqa o'rnatishga imkon beradi.
Zadig asbobining "Tanlovlar" menyusida "Barcha qurilmalarni ko'rsatish" bandini belgilang, shunda siz adapterni mavjud qurilmalar ro'yxatida ko'rishingiz kerak. "Dual RS232-HS (Interface 0)" ni tanlang, so'ngra "WinUSB v6.1.xxxx" drayverini tanlang va drayverni almashtirish tugmasini bosing.
Adapterni kompyuterning boshqa USB portiga ulaganingizda, drayver sozlamalarini zadig vositasi orqali o'zgartirish zarur, aks holda openOCD sizning adapteringizni topa olmaydi.
3 -qadam: OpenOCD, asboblar zanjiri va Gdb
1. Ochiq OKB - bu disk raskadrovka vositasi, bir tomondan u chip bilan gaplashadi, bir tomondan u gdb serverini tuzatuvchi (mijoz) ulanishi mumkin. ESP32 uchun openOCD-ni https://github.com/espressif/openocd-esp32/releases saytidan yuklab oling va uni D: / devel / ESP32 / tools / jildiga oching.
2. openOCD konfiguratsiya fayllarini tahrirlash:
esp-wroom-32.cfg
Bu faylga to'liq yo'l:
D: / devel / ESP32 / tools / openocd-esp32 / share / openocd / scripts / board / esp-wroom-32.cfg
Ushbu faylda siz "adapter_khz" parametrini o'zgartirish orqali aloqa tezligini o'rnatishingiz mumkin. Masalan, "adapter_khz 8000" 8 MGts ni bildiradi.
Standart - 20 MGts va agar siz uzunroq o'tish simlari yoki taxtadan foydalansangiz, bu juda yuqori bo'lishi mumkin. Men 1 MGts dan boshlashni maslahat beraman va agar hamma narsa yaxshi bo'lsa, yuqori tezlikka o'ting, men uchun 8 MGts ishonchli ishlaydi.
minimodule.cfg
Bu faylga to'liq yo'l: D: / devel / ESP32 / tools / openocd-esp32 / share / openocd / scripts / interface / ftdi / minimodule.cfg
Agar men to'g'ri tushunsam, haqiqiy minimodul - bu FTDI tomonidan ishlab chiqarilgan FT 2232 rusumli tormoz taxtasi va bozorda mavjud bo'lgan haqiqiy minimodul va arzon modul yoki yalang'och chip o'rtasidagi farq - bu standart USB tavsifi. ochiq OKB qurilmaning tavsifiga asoslangan jtag adapterini qidiradi, shuningdek, tartibni sozlash kerak.
Arzon modul "Dual RS232-HS" tavsifiga ega. Agar siz qurilmangiz tavsifiga ishonchingiz komil bo'lmasa, uni qurilma menejeri -> qurilma xususiyatlari -> yorliq tafsilotlari -> "Avtobus haqida xabar berilgan qurilma tavsifi" bo'limida tekshirishingiz mumkin.
Minimodule.cfg ning mazmuni quyidagi misolga o'xshash bo'lishi kerak, # bilan boshlangan satrlarni o'chirish mumkin.
interfeysi 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 0x00s -0x00b
esp32.cfg
Bu faylga to'liq yo'l:
D: / devel / ESP32 / tools / openocd-esp32 / share / openocd / scripts / target / esp32.cfg
Esp32.cfg oxiriga quyidagi 2 qatorni qo'shing. Ushbu o'zgartirishsiz, tormoz nuqtalarini qo'shish ishlamaydi.
#Hw to'xtash nuqtalarini majburlang. Xotira xaritasiga ega bo'lgandan so'ng, bps.gdb_breakpoint_override dasturiga ham qattiq ruxsat bera olamiz
3. Xtensa-esp32-elf asboblar zanjirini yuklab oling va o'rnating-bu asboblar panelida har qanday grafik IDE dan ishchi disk raskadrovka qilish uchun muhim bo'lgan buyruq satrini tuzatuvchisi (gdb mijozi) mavjud. Yalang'och asboblar zanjirini espressif saytining "Muqobil sozlash" bo'limidan yuklab olish mumkin
4 -qadam: simlar va birinchi sinov
FT2322 modulini ESP bilan ulang. Men iloji boricha qisqa simlardan foydalanishni tavsiya qilaman, agar siz JTAG -da yangi bo'lsangiz, adapterning TDI -ni chipning TDI -ga o'tishini unutmang, shuningdek, adapterning TDO -si ham TDO -ga o'tadi. JTAG ma'lumot liniyalari uartda Rx/Tx kabi kesishmagan!
Keyingi test uchun men LEDning miltillashi, signal berish yoki ketma -ket konsoliga yozish orqali CPU ishlayotganini yoki ishlamasligini ko'rsatadigan milt -milt eskizni yoki boshqa eskizni yuklashni tavsiya qilaman.
Buyruqni bajarish orqali OpenOCD -ni ishga tushiring
D: / devel / ESP32 / tools / openocd-esp32 / bin / openocd.exe-s D: / devel / ESP32 / tools / openocd-esp32 / share / openocd / scripts -f interfeysi/ftdi/minimodule.cfg -f kartasi /esp-wroom-32.cfg
Bu openOCD -ni ishga tushiradi va agar hamma narsa yaxshi bo'lsa, buyruq satrining chiqishida quyidagi satrlarni ko'rishingiz kerak:
Ma'lumot: soat tezligi 8000 kHz mfg: 0x272 (Tensilica), qism: 0x2003, ver: 0x1)
Openocd jarayoni TCP 3333 portida ham eshitiladi
Yangi terminalni oching va buyruq satri gdb mijozini buyruqni bajaring
D: / devel / ESP32 / vositalari / xtensa-esp32-elf / bin / xtensa-esp32-elf-gdb.exe
Bir soniya kutib turing va gdb terminali tayyor bo'lganda quyidagi buyruqlarni birma -bir yozing
maqsadli masofadan boshqarish pulti: 3333 oyni tiklashni to'xtatish
birinchi buyruq openocd disk raskadrovka serveriga ulanishni ochadi, ikkinchisi ESPda dasturning bajarilishini to'xtatadi va LED yonib -o'chishni to'xtatadi, dasturning bajarilishini tiklashni davom ettiradi va LED yana miltillay boshlaydi.
5 -qadam: Visual Studio kodiga disk raskadrovka konfiguratsiyasini qo'shing
O'ylaymanki, siz vizual studiya kodini va arduino addon -ni to'g'ri tuzgansiz va siz o'zingizning eskizingizni taxtaga yuklashingiz mumkin. Agar yo'q bo'lsa, iltimos, vizual studiya kodini va arduino-ni sozlash bo'yicha ko'rsatmalarni tekshiring, masalan, bu sahifada
Nosozliklarni tuzatish uchun kerakli chiqish papkasini belgilash kerak. Eskiz papkangiz ostida.vscode (yashirin) papkasi bor, bu erda arduino.json fayli. ushbu faylga quyidagi qatorni qo'shing:
"chiqish": "BuildOutput/"
tekshirish yoki yuklashni ishga tushiring va eskiz papkasini qayta tekshiring, yangi BuildOutput papkasi va ichida.elf kengaytmasi bo'lgan fayl bo'lishi kerak. elf fayli disk raskadrovka uchun juda muhim.
Nosozliklarni tuzatish sozlamalari launch.json faylida. Ushbu faylni quyidagi tarkib bilan yarating yoki siz ushbu faylni biriktirilgan misol loyihasidan nusxalashingiz mumkin. 26 -qatorni sozlashni va loyihangiz.elf faylining to'g'ri yo'lini belgilashni unutmang.
{// Mumkin bo'lgan atributlar haqida bilish uchun IntelliSense -dan foydalaning. // Mavjud atributlarning tavsiflarini ko'rish uchun sichqonchaning ustiga bosing. // Qo'shimcha ma'lumot olish uchun tashrif buyuring: https://go.microsoft.com/fwlink/?linkid=830387 "versiya": "0.2.0", "konfiguratsiyalar": [{"nomi": "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 "}, {// dinamik variant" text ":" file c:/Users/xxxxx/Documents/Arduino /${workspaceFolderBasename}/BuildOutput/${fileBasename}.elf "// statik variant //" matn ":" fayl c: /Users/xxxxx/Documents/Arduino/YourProject/BuildOutput/YourProject.ino.elf "}, {"text": "flushregs"}, {"text": "thb app_main"}, {"text": "c", "ignoreFailures": true}], "stopAtEntry": true, "serverStarted": "Ma'lumot \: [ w / d \.]*: / apparat "," launchCompleteCommand ":" exec-Continue "," filterStderr ": true," args ": }]}
Nosozliklarni tuzatishni qanday boshlash kerak:
- Murojaat qiling va eskizingizni taxtaga yuklang
- Parametrlar bilan openOCD -ni ishga tushiring
- Siz xohlagan joyga kodda tormoz nuqtalarini o'rnating
- Barcha tormoz nuqtalarini o'rnatganingizdan so'ng, loyihangizning asosiy.ino faylini ochganingizga ishonch hosil qiling. (yoki launch.json da.elf faylining qattiq kodli yo'li)
- Nosozliklarni tuzatish panelini boshqa kodda oching (Ctrl + Shift + D)
- "Arduino-GDB-openOCD" tuzatuvchisini tanlang, faqat mavjud bo'lishi kerak.
- Tuzatishni boshlash uchun F5 tugmasini bosing
Tavsiya:
HackerBox 0049: disk raskadrovka: 8 qadam
HackerBox 0049: Debug: Dunyo bo'ylab HackerBox xakerlariga salom! HackerBox 0049 uchun biz raqamli mikrokontroller tizimlarini tuzatish, Arduino IDE ichida LOLIN32 ESP-32 WiFi Bluetooth platformasini sozlash, FastLED Animation L dasturini qo'llash bo'yicha tajriba o'tkazmoqdamiz
CloudX yordamida ketma -ket disk raskadrovka: 3 qadam
CloudX yordamida ketma -ket disk raskadrovka: Ushbu loyihada men ketma -ket terminal orqali disk raskadrovka tushunchasini tushuntirishni maqsad qilganman. Lekin birinchi navbatda, uning kontseptsiyasini ma'nolari orqali tushuntirishga ruxsat bering.1. ketma -ket aloqa -havo aloqasi CloudX bo
Avtoturargoh bo'lmagan joylar uchun echim: 5 qadam
To'xtash joylari yo'qligi uchun yechim: Bu loyiha mening jamoam gazetadagi maqoladan olgan ilhomining natijasidir. Maqolada odamlar mashinalarini hech qanday to'xtash joylarida to'xtatib qo'yishlari haqida so'z yuritilgan. Bu katta muammoga aylandi, natijada tirbandlik va boshqalarga noqulaylik tug'dirdi
Kichik qismlar uchun qanday qilib arzon va bepul "yordam qo'llarini" arzon qilish mumkin: 6 qadam
Qanday qilib kichik qismlar uchun arzon va oson "yordam qo'llarini" arzon qilish mumkin. Xo'sh, bugun ertalab (2.23.08) va kecha (2.22.08), men biror narsani lehimlamoqchi edim, lekin menda yo'q edi. yordam qo'llari, shuning uchun men buni ertalab qildim. (2.23.08) Bu men uchun ajoyib ishlaydi, odatda hech qanday muammo bo'lmaydi. Hammasini qilish juda oson, asosan bepul
Eski Xbox 360 qattiq disk + qattiq disk uzatish to'plami = portativ USB qattiq disk !: 4 qadam
Eski Xbox 360 qattiq disk + qattiq disk uzatish to'plami = ko'chma USB qattiq disk !: Shunday qilib … Siz Xbox 360 uchun 120 gigabaytli qattiq disk sotib olishga qaror qildingiz. Endi sizda eski qattiq disk bor. endi ishlating, shuningdek foydasiz kabel. Siz uni sotishingiz yoki berishingiz mumkin … yoki yaxshi ishlatishingiz mumkin