ዝርዝር ሁኔታ:
- ደረጃ 1 የሶፍትዌር ፍላጎቶች
- ደረጃ 2 - የአሽከርካሪ መጫኛ እና ውቅር
- ደረጃ 3: OpenOCD ፣ Toolchain እና Gdb
- ደረጃ 4 ሽቦ እና የመጀመሪያ ሙከራ
- ደረጃ 5: የእይታ ስቱዲዮ ኮድ አርም ውቅርን ያክሉ
ቪዲዮ: ESP32 - በ Circruit ማረሚያ ውስጥ ርካሽ መፍትሄ 5 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:32
ጤና ይስጥልኝ ፣ በዚህ አስተማሪ ውስጥ በ FTDI 2232HL ቺፕ ላይ በመመርኮዝ በምስል ኮድ እና በአርዱዲኖ አዶ ላይ በመመርኮዝ ርካሽ የ JTAG አስማሚ እንዴት እንደሚቋቋም ተገልጻል።
- ኤፍቲዲ 2232 ኤች ኤል ሞዱል በዩኤስቢ አያያዥ ከ ebay ከ 8 ዶላር ጀምሮ እና የሚከፈልበት ሶፍትዌር አያስፈልግም። በ profesionall JTAG አስማሚ ላይ 50 $+ ለማውጣት ለማይፈልጉ የትርፍ ጊዜ ማሳለፊያ ባለሙያ ይህ በጣም ጥሩ መፍትሔ ነው።
- ይህ አስማሚ እንደ ESP8266 ፣ ARM ፣ AVR እና ሌሎች ብዙ ያሉ ሌሎች የመሣሪያ ስርዓቶችን ለማረም ሊያገለግል ይችላል። አንዳንድ ውቅር በዒላማ መድረክ ላይ የሚመረኮዝ ነው ፣ ይህ መመሪያ ለ ESP32 ማዋቀርን ብቻ ይሸፍናል።
- አስቀድመው አንዳንድ የ JTAG አስማሚ ባለቤት ከሆኑ በ openOCD በሚደገፍበት ጊዜ ሊጠቀሙበት ይችላሉ ፣ ልክ በ jtag አስማሚዎ ዓይነት ላይ በመመስረት ከተለያዩ የውቅረት ፋይል ጋር ክፈትኮድ ይጀምሩ።
- platform.io ማዋቀሩን ለእርስዎ ቀላል ሊያደርግ ይችላል ፣ ግን ማረም የሚደገፈው በሚከፈልበት የባለሙያ ስሪት ውስጥ ብቻ ነው።
- ከአብዛኞቹ የ ESP32 ሞጁሎች ጋር ይሰራል። (ለምሳሌ ርካሽ ማስታወሻዎች ሎሊን 32)
- ይህ የ jtag አስማሚ ከሊኑክስ ጋር አብሮ መሥራት አለበት ፣ ግን እኔ በግሌ አልሞከርኩትም።
ደረጃ 1 የሶፍትዌር ፍላጎቶች
የአርዱዲኖ አይዲኢ ስሪት 1.8 ወይም ከዚያ በላይ። የዊንዶውስ ማከማቻ ስሪት አይደገፍም። ከኦፊሴላዊው አርዱዲኖ ገጽ https://www.arduino.cc ሊወርድ የሚችል ክላሲክ ጫኝ ሥሪት መጠቀም አለብዎት
የማይክሮሶፍት ቪዥዋል ስቱዲዮ ኮድ
ለእይታ ስቱዲዮ ኮድ እነዚህ ተጨማሪዎች አስገዳጅ ናቸው
- አርዱinoኖ
- ቤተኛ አርም
እኔ ደግሞ ለ C/C ++ ውስጣዊ ግንዛቤን የሚያስችለውን ይህንን addon ን እንዲጭኑ እመክራለሁ
ሲ/ሲ ++
በዚህ ማኑዋል ውስጥ 2 የሥራ አቃፊዎችን እጠቀማለሁ-
መ: / devel / ESP32 / tools / - እዚህ ሁሉንም መሳሪያዎች አስቀምጫለሁ
ሐ: / ተጠቃሚዎች / xxxxx / ሰነዶች / Arduino / YourProject / - ይህ ንድፍ ያለው አቃፊ ነው
ከፈለጉ ፋይሎችዎን በማንኛውም ቦታ ማስቀመጥ ይችላሉ ፣ እባክዎን ሁሉንም ማጣቀሻዎች በእውነተኛ መንገድዎ ማዘመንዎን አይርሱ።
ደረጃ 2 - የአሽከርካሪ መጫኛ እና ውቅር
ምንም እንኳን ዊንዶውስ በራስ -ሰር FT2232 ን በነባሪነት ቢያውቅም ፣ የዊንዶውስ ነባሪ ነጂዎች ለሁሉም የቅድሚያ ባህሪዎች በቂ አይደሉም እና ነጂውን ከ FTDI ጣቢያ ማውረድ እና መጫን አስፈላጊ ነው
ትክክለኛው አሽከርካሪ ሲጫን የእርስዎን FT2232 ሞዱል በመሣሪያ አቀናባሪ ውስጥ እንደ 2 ተከታታይ ወደቦች ብቻ ሳይሆን እንደ “የዩኤስቢ ተከታታይ መለወጫ ሀ” እና “የዩኤስቢ ተከታታይ መለወጫ ለ”
ሁለተኛው እርምጃ ለተለዋጭችን አንድ ሰርጥ የለውጥ ነጂ ነው። የዛዲግ መሣሪያን ከ https://zadig.akeo.ie/ ያውርዱ። እኔ በትክክል ከተረዳሁ ይህ መሣሪያ በ openOCD እና በዩኤስቢ መሣሪያ መካከል ዝቅተኛ ደረጃ መገናኘትን ከሚያስችለው FTDI መሣሪያ ጋር ያሸንፋል።
በ zadig መሣሪያ ውስጥ ፣ በ “አማራጮች” ምናሌ ውስጥ “ሁሉንም መሳሪያዎች አሳይ” ላይ ምልክት ያድርጉ ፣ ከዚያ በሚገኙት መሣሪያዎች ዝርዝር ውስጥ አስማሚዎን ማየት አለብዎት። “ባለሁለት RS232-HS (በይነገጽ 0)” ን ይምረጡ እና ከዚያ ምትክ ነጂን ይምረጡ “WinUSB v6.1.xxxx” እና በአሽከርካሪው ምትክ ቁልፍ ላይ ጠቅ ያድርጉ።
አስማሚዎን ወደ ተለያዩ የዩኤስቢ ወደብ ከኮምፒዩተርዎ ጋር ሲያገናኙ ፣ በ zadig መሣሪያ በኩል እንደገና የአሽከርካሪ ቅንብሮችን መለወጥ አስፈላጊ ነው ፣ አለበለዚያ ክፍት ኦሲዲ አስማሚዎን አያገኝም።
ደረጃ 3: OpenOCD ፣ Toolchain እና Gdb
1. ክፍት ኦ.ሲ.ሲ.ሲ.ሲ.ሲ.ሲ.ሲ.ሲ.ሲ.ሲ.ሲ.ዲ.ሲ. ለማረም መሣሪያ ነው ፣ በአንደኛው በኩል ቺፕን ያወራል ፣ አራሚ (ደንበኛ) የሚገናኝበትን gdb አገልጋይ ይሰጣል። ከ https://github.com/espressif/openocd-esp32/releases ለ ESP32 openOCD ያውርዱ እና ወደ አቃፊ D: / devel / ESP32 / tools / ያውርዱ
2. የ openOCD ውቅረት ፋይሎችን ያርትዑ
esp-wroom-32.cfg
ወደዚህ ፋይል ሙሉ ዱካ የሚከተለው ነው-
D: / devel / ESP32 / tools / openocd-esp32 / share / openocd / scripts / board / esp-wroom-32.cfg
በዚህ ፋይል ውስጥ የግንኙነት ፍጥነትን በለውጥ ግቤት “አስማሚ_khz” ማዘጋጀት ይችላሉ። ለምሳሌ “አስማሚ_khz 8000” ማለት 8 ሜኸዝ ነው።
ነባሪው 20 ሜኸ ነው እና ረጅም የዝላይ ሽቦዎችን ወይም የዳቦ ሰሌዳ የሚጠቀሙ ከሆነ በጣም ከፍተኛ ሊሆን ይችላል። በ 1 ሜኸዝ እንዲጀምሩ እመክራለሁ እና ሁሉም ነገር ደህና ከሆነ ወደ ከፍተኛ ፍጥነት ይሂዱ ፣ ለእኔ 8 ሜኸዝ በአስተማማኝ ሁኔታ ይሠራል።
minimodule.cfg
ወደዚህ ፋይል ሙሉ ዱካ D: / devel / ESP32 / tools / openocd-esp32 / share / openocd / scripts / interface / ftdi / minimodule.cfg
በትክክል ከገባኝ ፣ እውነተኛ minimodule በ FTDI ከተመረተው FT 2232 ጋር በጣም ውድ የፍሬክ ቦርድ ነው እና በእውነተኛ minimodule እና ርካሽ ሞዱል ወይም በገቢያ ላይ የሚገኝ ባዶ ቺፕ መካከል ያለው ልዩነት ነባሪ የዩኤስቢ መግለጫ ነው። ክፍት ኦ.ዲ.ዲ በመሣሪያ መግለጫ ላይ በመመስረት የ jtag አስማሚ ይፈልጋል ፣ እንዲሁም የአቀማመጥ init መስተካከል አለበት።
ርካሽ ሞጁል “Dual RS232-HS” መግለጫ አለው። ስለ መሣሪያዎ መግለጫ እርግጠኛ ካልሆኑ በመሣሪያ አቀናባሪ ውስጥ ማየት ይችላሉ -> የመሣሪያ ባህሪዎች -> የትር ዝርዝሮች -> የንብረት ዋጋ “የአውቶቡስ ሪፖርት የተደረገ የመሣሪያ መግለጫ”
የ minimodule.cfg ይዘት ከዚህ በታች ምሳሌን መምሰል አለበት ፣ መስመሮች የሚጀምሩት በ # ሊሰረዝ ይችላል።
በይነገጽ 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_
esp32.cfg
ወደዚህ ፋይል ሙሉ ዱካ የሚከተለው ነው-
D: / devel / ESP32 / tools / openocd-esp32 / share / openocd / scripts / target / esp32.cfg
እስከ esp32.cfg መጨረሻ ድረስ 2 መስመሮችን ይከተሉ። ያለዚህ ማሻሻያ ፣ ብሬክ ነጥቦችን ማከል አይሰራም።
#የፎርስ ኤች ዋይ ነጥቦች። አንዴ የማህደረ ትውስታ ካርታ ካለን ፣ ሶፍትዌሮችን bps.gdb_breakpoint_override ጠንክረን ልንፈቅድ እንችላለን
3. xtensa-esp32-elf toolchain ን ያውርዱ እና ይጫኑ-ይህ የመሣሪያ ሰንሰለት ከማንኛውም የግራፊክ IDE የሥራ ማረም እንዲኖረው የትእዛዝ መስመር ማረም (gdb ደንበኛ) ይ containsል። ባዶ የመሳሪያ ሰንሰለት ከ espressif ጣቢያ ፣ ክፍል “አማራጭ ማዋቀር”
ደረጃ 4 ሽቦ እና የመጀመሪያ ሙከራ
የ FT2322 ሞዱሉን ከ ESP ጋር ያገናኙ። በተቻለ መጠን አጭር ሽቦዎችን ለመጠቀም እመክራለሁ። ለ JTAG አዲስ ከሆኑ ፣ የአስማሚው TDI ወደ ቺፕ TDI እንደሚሄድ ፣ እንዲሁም አስማሚው TDO ወደ ቺፕ TDO እንደሚሄድ አይርሱ። የ JTAG የውሂብ መስመሮች እንደ Rx/Tx በ uart ላይ አልተሰበሩም!
ለፈተና ለመሞከር ብልጭታ ምሳሌን ንድፍ ወይም ሌላ ሲዲ (ሲፒዩ) ሲበራ ወይም አለመሆኑን ሊያመለክት የሚችል ሌላ ንድፍ እንዲለግስ እመክራለሁ።
ትዕዛዙን በመከተል openOCD ን ይጀምሩ
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 board /esp-wroom-32.cfg
ይህ openOCD ን ይጀምራል እና ሁሉም ነገር ደህና ከሆነ በትእዛዝ መስመር ውፅዓት ውስጥ የሚከተሉትን መስመሮች ይይዛል-
መረጃ: የሰዓት ፍጥነት 8000 kHz መረጃ: JTAG መታ: esp32.cpu0 መታ/መሣሪያ ተገኝቷል: 0x120034e5 (mfg: 0x272 (Tensilica), ክፍል: 0x2003, ver: 0x1) መረጃ: JTAG መታ: esp32.cpu1 መታ/መሣሪያ ተገኝቷል: 0x120034e5 (mfg: 0x272 (Tensilica) ፣ ክፍል 0x2003 ፣ ver: 0x1)
እንዲሁም openocd ሂደት በ TCP ወደብ 3333 ያዳምጣል
ኮማንድን በመከተል አዲስ ተርሚናል ይክፈቱ እና የትእዛዝ መስመር gdb ደንበኛን ይጀምሩ
መ: / devel / ESP32 / tools / xtensa-esp32-elf / bin / xtensa-esp32-elf-gdb.exe
አንድ ሰከንድ ይጠብቁ እና መቼ gdb ተርሚናል ዝግጁ ሆኖ ትዕዛዞችን አንድ በአንድ ይፃፉ
የዒላማ ርቀት - 3333mon ዳግም ማስጀመር ማቆሙ ቀጥሏል
የመጀመሪያው ትዕዛዝ ከ openocd ማረሚያ አገልጋይ ጋር ግንኙነትን ይከፍታል ፣ ሁለተኛው በ ESP ላይ የፕሮግራም አፈፃፀምን ያቆማል እና ኤልዲዲ ብልጭ ድርግም ማለት ፣ የፕሮግራም ማስመለስን መቀጠል እና ኤልዲ እንደገና ብልጭ ድርግም ማለት አለበት።
ደረጃ 5: የእይታ ስቱዲዮ ኮድ አርም ውቅርን ያክሉ
በዚያ ነጥብ ላይ አስቀድመው የእይታ ስቱዲዮ ኮድ እና አርዱዲኖ አዶን በትክክል እንዳዋቀሩ እገምታለሁ እና ንድፍዎን በቦርዱ ላይ ማረጋገጥ እና መስቀል ይችላሉ። ካልሆነ ፣ እባክዎን የእይታ ስቱዲዮ ኮድ እና አርዱዲኖ እንዴት እንደሚዋቀሩ አንዳንድ መመሪያዎችን ይመልከቱ ፣ ለምሳሌ በዚህ ገጽ ላይ
የግንባታ ውፅዓት አቃፊን ለመጥቀስ እርማቱ አስፈላጊ ሆኖ እንዲሠራ ለማድረግ። በንድፍ አቃፊዎ ስር (የተደበቀ) አቃፊ.vscode አለ ፣ ፋይል arduino.json የት አለ። በሚከተለው መስመር ወደዚህ ፋይል ያክሉ
"ውፅዓት": "BuildOutput/"
አሂድ ያረጋግጡ ወይም ይስቀሉ እና የስዕል አቃፊዎን እንደገና ይፈትሹ ፣ አዲስ የ BuildOutput አቃፊ መኖር አለበት እና በእሱ ውስጥ ከራስ ማስፋፊያ ጋር ፋይል ያድርጉ። elf ፋይል ለማረም አስፈላጊ ነው።
አራሚ ቅንብሮች በፋይል launch.json ውስጥ ናቸው። በሚከተለው ይዘት ይህንን ፋይል ይፍጠሩ ፣ ወይም ይህንን ፋይል ከተያያዘው ምሳሌ ፕሮጀክት መቅዳት ይችላሉ። መስመር 26 ን ማስተካከል እና ለፕሮጀክትዎ እራስዎ ፋይል ትክክለኛውን መንገድ መግለፅዎን አይርሱ።
{// ስለ ሊሆኑ የሚችሉ ባህሪዎች ለማወቅ IntelliSense ን ይጠቀሙ። // የነባር ባህሪያትን መግለጫዎች ለማየት ያንዣብቡ። // ለተጨማሪ መረጃ https://go.microsoft.com/fwlink/?linkid=830387 "ስሪት": "0.2.0", "ውቅሮች": [{"ስም": "Arduino-GDB-openOCD") "," type ":" cppdbg "," request ":" launch "," program ":" $ {file} "," cwd ":" $ {workspaceRoot}/BuildOutput/"," MIMode ":" gdb ", "targetArchitecture": "ክንድ" ፣ "miDebuggerPath": "D:/devel/ESP32/tools/xtensa-esp32-elf/bin/xtensa-esp32-elf-gdb.exe" ፣ "አራሚ አገልጋይ": "", " customLaunchSetupCommands ": [{" text ":" target remote: 3333 "}, {" text ":" mon reset stop "}, {// ተለዋዋጭ ተለዋጭ" ጽሑፍ ":" ፋይል ሐ:/ተጠቃሚዎች/xxxxx/ሰነዶች/አርዱinoኖ /${workspaceFolderBasename}/BuildOutput/${fileBasename}.elf "// static variant //" text ":" file c: /Users/xxxxx/Documents/Arduino/YourProject/BuildOutput/YourProject.ino.elf "} ፣ " \: [w / d \.]*: / hardware "," launchCompleteCommand ":" exec-continue "," filterStderr ": true," args ": }]}}
ማረም እንዴት እንደሚጀመር
- ያክብሩ እና ንድፍዎን ወደ ተሳፍረው ይስቀሉ
- መለኪያዎች በመጠቀም openOCD ን ይጀምሩ
- በሚፈልጉበት ኮድ ውስጥ የፍሬክ ነጥቦችን ያዘጋጁ
- ሁሉንም የብሬክ ነጥቦችን ካዘጋጁ በኋላ የፕሮጀክትዎን ዋና.ino ፋይል መክፈትዎን ያረጋግጡ። (ወይም hardcode ዱካ ወደ.elf ፋይል በ laun.json ውስጥ)
- በእኛ አርም ኮድ ውስጥ አርም ፓነልን ይክፈቱ (Ctrl + Shift + D)
- «Arduino-GDB-openOCD» አራሚ ይምረጡ ፣ ብቻ የሚገኝ መሆን አለበት።
- ማረም ለመጀመር F5 ን ይምቱ
የሚመከር:
የብርሃን ብክለት መፍትሄ - አርጤምስ 14 ደረጃዎች
የብርሃን ብክለት መፍትሄ - አርጤምስ - የብርሃን ብክለት በዓለም ዙሪያ ሁላችንንም የሚነካ ነገር ነው። አምፖሉ ከተፈለሰፈበት ጊዜ ጀምሮ ብርሃኑ በጣም ታዋቂ እየሆነ መጥቷል እና እንደ ኒው ዮርክ ሲቲ እና ቺካጎ ባሉ ትላልቅ ከተሞች ውስጥ ጥቅም ላይ ውሏል። ይህ ሁሉ ብርሃን ሊወድ ይችላል
SASSIE: ለአስቸጋሪ ዝምታ መፍትሄ እና መስተጋብር ማሻሻያ ስርዓት 5 ደረጃዎች
SASSIE: ለአስቸጋሪ ዝምታ መፍትሄ እና መስተጋብር ማሻሻያ ስርዓት - SASSIE ሁላችንም በሕይወታችን ውስጥ በአንድ ነጥብ ላይ “እኛ በሚቀጥለው ቀጥሎ እናውራ? ደህና ፣ አሁን መጨነቅ አይኖርብዎትም ምክንያቱም SASSIE በተለይ አሰቃቂ ዝምታን ለመለየት የተነደፈ ነው ፣
የ IOT መፍትሄ ለጋራ ብስክሌት 6 ደረጃዎች
IOT መፍትሔ ለጋራ መጋሪያ ብስክሌት - በአሁኑ ጊዜ የማጋሪያ ብስክሌት በቻይና ውስጥ በጣም ታዋቂ ነው። በገበያ ላይ ብስክሌት መጋራት ከ 10 በላይ ብራንዶች አሉ ፣ እና ‹ሞቢክ› ” በጣም ዝነኛ ነው ፣ ከ 100 ሚሊዮን በላይ የተመዘገቡ ተጠቃሚዎች አሉት ፣ እና ወደ ሌሎች ከተሞች ተዛምቷል
እጅግ በጣም ርካሽ ርካሽ የቤት ውስጥ ሰሚሜትር - 8 ደረጃዎች (ከስዕሎች ጋር)
እጅግ በጣም ርካሽ ርካሽ የቤት ውስጥ ሰሚሜትር - ለመገንባት ቀላል እና ርካሽ ስሱ አርዱinoኖ ሲኢሶሜትር
ርካሽ 4 ወደብ NES ዩኤስቢ 2.0 HUB ን ርካሽ በሆነ መንገድ 5 ደረጃዎች
ርካሽ 4 ወደብ NES USB 2.0 HUB ን ያፅዱ - ይህ አስተማሪ 4 ቱ ወደብ ዩኤስቢ NES መቆጣጠሪያን በእራስዎ በጣም ንፁህ እንዴት እንደሚያደርጉ ያሳየዎታል። ይህ ከዚህ በፊት እንደተሰራ አውቃለሁ ፣ ግን እኔ ብዙ ጽዳት ስላበቃ እንዴት እንዳደረግኩ ለማሳየት ይህንን እለጥፋለሁ። ክፍሎች ዋጋ = ለዩኤስቢ ማዕከል 4 ዶላር