
आधिकारिक OpenOCD केवल-पढ़ने योग्य मिरर (कोई पुल अनुरोध नहीं)
OpenOCD JTAG इंटरफ़ेस और TAP समर्थन की स्तरित वास्तुकला के साथ ऑन-चिप प्रोग्रामिंग और डिबगिंग समर्थन प्रदान करता है, जिसमें शामिल हैं:
OpenOCD के साथ बातचीत के लिए कई नेटवर्क इंटरफ़ेस उपलब्ध हैं: टेलनेट, Tcl, और GDB। GDB सर्वर OpenOCD को GNU GDB प्रोग्राम (और अन्य जो GDB प्रोटोकॉल बोलते हैं, जैसे IDA Pro) का उपयोग करके एम्बेडेड सिस्टम के स्रोत-स्तरीय डिबगिंग के लिए "रिमोट टार्गेट" के रूप में कार्य करने में सक्षम बनाता है।
यह README फ़ाइल निम्नलिखित विषयों का अवलोकन प्रस्तुत करती है:
यदि आपके पास कोई लोकप्रिय बोर्ड है तो बस OpenOCD को उसके कॉन्फ़िग के साथ शुरू करें, जैसे:
openocd -f board/stm32f4discovery.cfg
यदि आप किसी विशिष्ट टार्गेट के साथ किसी विशेष एडेप्टर को जोड़ रहे हैं, तो आपको JTAG इंटरफ़ेस और टार्गेट कॉन्फ़िग दोनों को स्रोत करना होगा, जैसे:
openocd -f interface/ftdi/jtagkey2.cfg -c "transport select jtag" \
-f target/ti/calypso.cfg
openocd -f interface/stlink.cfg -c "transport select swd" \
-f target/stm32l0.cfg
OpenOCD स्टार्टअप के बाद, GDB को इससे कनेक्ट करें
(gdb) target extended-remote localhost:3333
OpenOCD स्थापित करने का सबसे आसान तरीका आपके ऑपरेटिंग सिस्टम के पैकेज मैनेजर के माध्यम से है।
Debian / Ubuntu
sudo apt install openocd
Fedora
sudo dnf install openocd
macOS (Homebrew के माध्यम से)
brew install open-ocd
Windows (MSYS2 के माध्यम से)
pacman -S mingw-w64-x86_64-openocd
ये पैकेज अक्सर ब्लीडिंग-एज Git मेनलाइन की तुलना में अधिक स्थिर होते हैं, जहाँ सक्रिय विकास होता है। "पैकेजर्स" डेवलपर्स द्वारा नए स्रोत कोड रिलीज़ प्रकाशित करने के बाद OpenOCD के बाइनरी रिलीज़ बनाते हैं। पुराने OpenOCD संस्करण वर्तमान रिलीज़ में समस्याओं के निदान के लिए उपयुक्त नहीं हैं। उपयोगकर्ताओं को यह सुनिश्चित करने के लिए अपने वितरण रखरखावकर्ताओं या इंटरफ़ेस विक्रेताओं के संपर्क में रहना चाहिए कि उचित अपडेट नियमित रूप से प्रदान किए जाएँ।
यदि आप इनमें से किसी एक बाइनरी पैकेज का उपयोग करते हैं, तो आपको समर्थन या नए बाइनरी संस्करणों के लिए पैकेजर से संपर्क करना होगा। OpenOCD डेवलपर्स पैकेज्ड बाइनरी के लिए प्रत्यक्ष समर्थन प्रदान नहीं करते हैं।
आप OpenOCD के पैकेजर हैं यदि आप:
एक पैकेजर के रूप में, आप अधिकांश मुद्दों की पहली रिपोर्ट का अनुभव करेंगे। जब आप अपने उपयोगकर्ताओं के लिए उन समस्याओं को ठीक करते हैं, तो आपका समाधान अन्य उपयोगकर्ताओं के सैकड़ों (यदि हजारों नहीं) प्रश्नों को रोकने में मदद कर सकता है।
यदि आपके लिए कुछ काम नहीं करता है, तो कृपया OpenOCD डेवलपर्स को सूचित करने का प्रयास करें कि सिस्टम या दस्तावेज़ीकरण को कैसे बेहतर बनाया जाए ताकि भविष्य की समस्याओं से बचा जा सके, और हमारी सहायता करने के लिए अनुवर्ती कार्रवाई करें ताकि यह सुनिश्चित हो सके कि मुद्दा हमारे भविष्य के रिलीज़ में पूरी तरह से हल हो गया है।
ऐसा कहा जा रहा है, OpenOCD डेवलपर्स यह भी चाहेंगे कि आप कुछ सुझावों का पालन करें:
इन-ट्री दस्तावेज़ीकरण के अलावा, नवीनतम मैनुअल निम्नलिखित URL पर ऑनलाइन देखे जा सकते हैं:
OpenOCD उपयोगकर्ता गाइड: http://openocd.org/doc/html/index.html
OpenOCD डेवलपर मैनुअल: http://openocd.org/doc/doxygen/html/index.html
ये नवीनतम विकास संस्करणों को दर्शाते हैं, इसलिए निम्नलिखित अनुभाग बताता है कि पैकेज से पूर्ण दस्तावेज़ीकरण कैसे बनाया जाए।
अधिक जानकारी के लिए, इन दस्तावेज़ों का संदर्भ लें या OpenOCD डेवलपर मेलिंग सूची की सदस्यता लेकर डेवलपर्स से संपर्क करें: [email protected]
डिफ़ॉल्ट रूप से OpenOCD बिल्ड प्रक्रिया "Info प्रारूप" में दस्तावेज़ तैयार करती है और इसे मानक तरीके से स्थापित करती है, ताकि info openocd इस तक पहुँच सके।
इसके अतिरिक्त, OpenOCD उपयोगकर्ता गाइड निम्नलिखित विभिन्न प्रारूपों में तैयार किया जा सकता है:
यदि PDFVIEWER सेट है, तो यह PDF उपयोगकर्ता गाइड बनाता और देखता है।
make pdf && ${PDFVIEWER} doc/openocd.pdf
यदि HTMLVIEWER सेट है, तो यह HTML उपयोगकर्ता गाइड बनाता और देखता है।
make html && ${HTMLVIEWER} doc/openocd.html/index.html
OpenOCD डेवलपर मैनुअल में आंतरिक वास्तुकला और कोड के बारे में अन्य विवरणों के बारे में जानकारी है:
नोट: सुनिश्चित करें कि doxygen स्थापित है, doxygen --version टाइप करें
make doxygen && ${HTMLVIEWER} doxygen/index.html
AM335x, ARM-JTAG-EW, ARM-USB-OCD, ARM-USB-TINY, AT91RM9200, axm0432, BCM2835, Bus Blaster, Buspirate, Cadence DPI, Cadence vdebug, Chameleon, CMSIS-DAP, Cortino, Cypress KitProg, DENX, Digilent JTAG-SMT2, DLC 5, DLP-USB1232H, embedded projects, Espressif USB JTAG Programmer, eStick, FlashLINK, FlossJTAG, Flyswatter, Flyswatter2, FTDI FT232R, Gateworks, Hoegl, ICDI, ICEBear, J-Link, JTAG VPI, JTAGkey, JTAGkey2, JTAG-lock-pick, KT-Link, Linux GPIOD, Lisa/L, LPC1768-Stick, Mellanox rshim, MiniModule, NGX, Nuvoton Nu-Link, Nu-Link2, NXHX, NXP IMX GPIO, OOCDLink, Opendous, OpenJTAG, Openmoko, OpenRD, OSBDM, Presto, Redbee, Remote Bitbang, RLink, SheevaPlug devkit, Stellaris evkits, ST-LINK (SWO tracing supported), STM32-PerformanceStick, STR9-comStick, sysfsgpio, Tigard, TI XDS110, TUMPA, Turtelizer, ULINK, USB-A9260, USB-Blaster, USB-JTAG, USBprog, VPACLink, VSLLink, Wiggler, XDS100v2, Xilinx XVC/PCIe, Xverve.
ARM: AArch64, ARM11, ARM7, ARM9, Cortex-A/R (v7-A/R), Cortex-M (ARMv{6/7/8}-M), FA526, Feroceon/Dragonite, XScale. ARCv2, AVR32, DSP563xx, DSP5680xx, EnSilica eSi-RISC, EJTAG (MIPS32, MIPS64), ESP32, ESP32-S2, ESP32-S3, Intel Quark, LS102x-SAP, RISC-V, ST STM8, Xtensa.
ADUC702x, AT91SAM, AT91SAM9 (NAND), ATH79, ATmega128RFA1, Atmel SAM, AVR, CFI, DSP5680xx, EFM32, EM357, eSi-RISC, eSi-TSMC, EZR32HG, FM3, FM4, Freedom E SPI, GD32, i.MX31, Kinetis, LPC8xx/LPC1xxx/LPC2xxx/LPC541xx, LPC2900, LPC3180, LPC32xx, LPCSPIFI, Marvell QSPI, MAX32, Milandr, MXC, NIIET, nRF51, nRF52 , NuMicro, NUC910, Nuvoton NPCX, onsemi RSL10, Orion/Kirkwood, PIC32mx, PSoC4/5LP/6, Raspberry RP2040, Renesas RPC HF and SH QSPI, S3C24xx, S3C6400, SiM3x, SiFive Freedom E, Stellaris, ST BlueNRG, STM32, STM32 QUAD/OCTO-SPI for Flash/FRAM/EEPROM, STMSMI, STR7x, STR9x, SWM050, TI CC13xx, TI CC26xx, TI CC32xx, TI MSP432, Winner Micro w600, Xilinx XCF, XMC1xxx, XMC4xxx.
INSTALL फ़ाइल में configure चलाने और OpenOCD स्रोत कोड को संकलित करने के लिए सामान्य निर्देश हैं। वह फ़ाइल सभी GNU ऑटोटूल्स पैकेजों के लिए डिफ़ॉल्ट रूप से प्रदान की जाती है। यदि आप GNU ऑटोटूल्स से परिचित नहीं हैं, तो आपको पहले उन निर्देशों को पढ़ना चाहिए।
नोट: यदि INSTALL फ़ाइल मौजूद नहीं है, तो इसका मतलब है कि आप किसी OpenOCD रिलीज़ से नहीं, बल्कि किसी विकास शाखा से स्रोत कोड का उपयोग कर रहे हैं। इस स्थिति में, नीचे 'Compiling OpenOCD' निर्देशों का पालन करें और फ़ाइल पहले कमांड ./bootstrap द्वारा बनाई जाएगी।
इस दस्तावेज़ का शेष भाग उन लोगों के लिए कुछ निर्देश प्रदान करने का प्रयास करता है जो त्वरित-स्थापना की तलाश में हैं।