जेटीजी: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 172: Line 172:
पुराने एआरएम7 और एआरएम9 कोर में एक एंबेडेडिस मॉड्यूल शामिल है<ref name="arm9ejs">[http://infocenter.arm.com/help/topic/com.arm.doc.ddi0222b/DDI0222.pdf ARM9EJ-S Technical Reference Manual] revision r1p2.  Appendix B "Debug in Depth" presents the EmbeddedICE-RT module, as seen in the popular ARM926ejs core.</ref> जो उन अधिकांश सुविधाओं को जोड़ती है, लेकिन निर्देश निष्पादन के लिए एक असामान्य तंत्र है: डीबगर को सीपीयू निर्देश पाइपलाइन, घड़ी से घड़ी चलाना चाहिए, और सीपीयू को डेटा पढ़ने और लिखने के लिए डेटा बसों तक सीधे पहुंचना चाहिए। एआरएम11 उन पुराने कोर के समान ट्रेस सपोर्ट (ईटीएम, ईटीबी) के लिए उसी मॉडल का उपयोग करता है।
पुराने एआरएम7 और एआरएम9 कोर में एक एंबेडेडिस मॉड्यूल शामिल है<ref name="arm9ejs">[http://infocenter.arm.com/help/topic/com.arm.doc.ddi0222b/DDI0222.pdf ARM9EJ-S Technical Reference Manual] revision r1p2.  Appendix B "Debug in Depth" presents the EmbeddedICE-RT module, as seen in the popular ARM926ejs core.</ref> जो उन अधिकांश सुविधाओं को जोड़ती है, लेकिन निर्देश निष्पादन के लिए एक असामान्य तंत्र है: डीबगर को सीपीयू निर्देश पाइपलाइन, घड़ी से घड़ी चलाना चाहिए, और सीपीयू को डेटा पढ़ने और लिखने के लिए डेटा बसों तक सीधे पहुंचना चाहिए। एआरएम11 उन पुराने कोर के समान ट्रेस सपोर्ट (ईटीएम, ईटीबी) के लिए उसी मॉडल का उपयोग करता है।


नए एआरएम कॉर्टेक्स कोर इस डीबग मॉडल के समान दिखते हैं, लेकिन प्रत्यक्ष सीपीयू एक्सेस के बजाय डीबग एक्सेस पोर्ट (डीएपी) पर निर्मित होते हैं। इस आर्किटेक्चर (नाम कोरसाइट टेक्नोलॉजी) में, कोर और जेटीएजी मॉड्यूल पूरी तरह से स्वतंत्र हैं। उन्हें जेटीएजी से भी अलग किया जाता है ताकि उन्हें केवल छह-तार जेटीएजी इंटरफ़ेस के बजाय एआरएम के दो-तार 'SWD' इंटरफ़ेस (नीचे देखें) पर होस्ट किया जा सके। (एआरएम चार मानक जेटीएजी सिग्नल लेता है और वैकल्पिक टीआरएसटी जोड़ता है, साथ ही अनुकूली क्लॉकिंग के लिए उपयोग किया जाने वाला आरटीकेके सिग्नल।) कोरसाइट जेटीएजी-डीपी कोर घड़ियों के लिए अतुल्यकालिक है, और आरटीकेके को प्रायुक्त नहीं करता है।<ref>{{cite web|url=http://infocenter.arm.com/help/topic/com.arm.doc.ddi0314h/Chdhbbjd.html#Chdihede|title=CoreSight Components Technical Reference Manual: 2.3.2. Implementation specific details|website=infocenter.arm.com}}</ref> साथ ही, नए कोर ने ट्रेस सपोर्ट को अपडेट किया है।
नए एआरएम कॉर्टेक्स कोर इस डीबग मॉडल के समान दिखते हैं, लेकिन प्रत्यक्ष सीपीयू एक्सेस के बजाय डीबग एक्सेस पोर्ट (डीएपी) पर निर्मित होते हैं। इस आर्किटेक्चर (नाम कोरसाइट टेक्नोलॉजी) में, कोर और जेटीएजी मॉड्यूल पूरी तरह से स्वतंत्र हैं। उन्हें जेटीएजी से भी अलग किया जाता है ताकि उन्हें केवल छह-तार जेटीएजी इंटरफ़ेस के बजाय एआरएम के दो-तार 'एसडब्ल्यूडी' इंटरफ़ेस (नीचे देखें) पर होस्ट किया जा सके। (एआरएम चार मानक जेटीएजी सिग्नल लेता है और वैकल्पिक टीआरएसटी जोड़ता है, साथ ही अनुकूली क्लॉकिंग के लिए उपयोग किया जाने वाला आरटीकेके सिग्नल।) कोरसाइट जेटीएजी-डीपी कोर घड़ियों के लिए अतुल्यकालिक है, और आरटीकेके को प्रायुक्त नहीं करता है।<ref>{{cite web|url=http://infocenter.arm.com/help/topic/com.arm.doc.ddi0314h/Chdhbbjd.html#Chdihede|title=CoreSight Components Technical Reference Manual: 2.3.2. Implementation specific details|website=infocenter.arm.com}}</ref> साथ ही, नए कोर ने ट्रेस सपोर्ट को अपडेट किया है।


=== हॉल्ट मोड डिबगिंग ===
=== हॉल्ट मोड डिबगिंग ===
Line 197: Line 197:
== उपयोग ==
== उपयोग ==
* कुछ बेहद निम्न अंत प्रणालियों को छोड़कर, अनिवार्य रूप से सभी [[अंतः स्थापित प्रणालियाँ]] प्लेटफॉर्म में इन-परिपथ डिबगिंग और [[फर्मवेयर]] प्रोग्रामिंग के साथ-साथ बाउंड्री स्कैन परीक्षण के लिए एक जेटीएजी पोर्ट होता है:
* कुछ बेहद निम्न अंत प्रणालियों को छोड़कर, अनिवार्य रूप से सभी [[अंतः स्थापित प्रणालियाँ]] प्लेटफॉर्म में इन-परिपथ डिबगिंग और [[फर्मवेयर]] प्रोग्रामिंग के साथ-साथ बाउंड्री स्कैन परीक्षण के लिए एक जेटीएजी पोर्ट होता है:
** [[एमआईपीएस आर्किटेक्चर]] प्रोसेसर जेटीएजी सपोर्ट के साथ आते हैं, कभी-कभी टू-वायर SWD वैरिएंट या इंस्ट्रक्शन या डेटा बसों पर ट्रैफिक की हाई स्पीड ट्रेसिंग को सपोर्ट करते हैं।
** [[एमआईपीएस आर्किटेक्चर]] प्रोसेसर जेटीएजी सपोर्ट के साथ आते हैं, कभी-कभी टू-वायर एसडब्ल्यूडी वैरिएंट या इंस्ट्रक्शन या डेटा बसों पर ट्रैफिक की हाई स्पीड ट्रेसिंग को सपोर्ट करते हैं।
** आधुनिक 8-बिट और 16-बिट [[ microcontroller ]] चिप्स, जैसे [[Atmel AVR|एटमेल एवीआर]] और [[TI MSP430]] चिप्स, जेटीएजी प्रोग्रामिंग और डिबगिंग का समर्थन करते हैं। हालांकि, सबसे छोटे चिप्स में अतिरिक्त पिन नहीं हो सकते हैं (और इस प्रकार मालिकाना एकल-वायर प्रोग्रामिंग इंटरफेस पर भरोसा करते हैं); यदि पिन की संख्या 32 से अधिक है, तो संभवतः एक जेटीएजी विकल्प है।
** आधुनिक 8-बिट और 16-बिट [[ microcontroller | सूक्ष्मनियंत्रक]] चिप्स, जैसे [[Atmel AVR|एटमेल एवीआर]] और [[TI MSP430|टीआई एमएसपी430]] चिप्स, जेटीएजी प्रोग्रामिंग और डिबगिंग का समर्थन करते हैं। हालांकि, सबसे छोटे चिप्स में अतिरिक्त पिन नहीं हो सकते हैं (और इस प्रकार मालिकाना एकल-वायर प्रोग्रामिंग इंटरफेस पर भरोसा करते हैं); यदि पिन की संख्या 32 से अधिक है, तो संभवतः एक जेटीएजी विकल्प है।
** आज उपयोग किए जाने वाले लगभग सभी एफपीजीए और [[CPLD]] को जेटीएजी पोर्ट के माध्यम से प्रोग्राम किया जा सकता है। PLD की जेटीएजी प्रोग्रामिंग के लिए जेईडीईसी मानक JESD-71 द्वारा एक [[मानक परीक्षण और प्रोग्रामिंग भाषा]] परिभाषित की गई है।
** आज उपयोग किए जाने वाले लगभग सभी एफपीजीए और [[CPLD|सीपीएलडी]] को जेटीएजी पोर्ट के माध्यम से प्रोग्राम किया जा सकता है। पीएलडी की जेटीएजी प्रोग्रामिंग के लिए जेईडीईसी मानक जेईएसडी-71 द्वारा एक [[मानक परीक्षण और प्रोग्रामिंग भाषा]] परिभाषित की गई है।
** कई एमआईपीएस आर्किटेक्चर और [[PowerPC]] प्रोसेसर में जेटीएजी सपोर्ट है
** कई एमआईपीएस आर्किटेक्चर और [[PowerPC|पावरपीसी]] प्रोसेसर में जेटीएजी सपोर्ट है
** Intel Core, Xeon, Atom, और Quark प्रोसेसर सभी जेटीएजी जांच मोड का समर्थन करते हैं, तथाकथित 60-पिन एक्सटेंडेड डिबग पोर्ट [XDP] का उपयोग करके जेटीएजी के Intel विशिष्ट एक्सटेंशन के साथ। इसके अतिरिक्त क्वार्क प्रोसेसर अधिक पारंपरिक 10-पिन कनेक्टर्स का समर्थन करता है।
** इंटेल कोर, झियोन, एटम और क्वार्क प्रोसेसर सभी जेटीएजी जांच मोड का समर्थन करते हैं, तथाकथित 60-पिन एक्सटेंडेड डिबग पोर्ट [एक्सडीपी] का उपयोग करके जेटीएजी के Intel विशिष्ट एक्सटेंशन के साथ। इसके अतिरिक्त क्वार्क प्रोसेसर अधिक पारंपरिक 10-पिन कनेक्टर्स का समर्थन करता है।
**उपभोक्ता उत्पाद जैसे नेटवर्किंग उपकरण और उपग्रह टेलीविजन एकीकृत रिसीवर/डिकोडर अक्सर माइक्रोप्रोसेसर का उपयोग करते हैं जो जेटीएजी का समर्थन करते हैं, फ़र्मवेयर को फिर से लोड करने का वैकल्पिक साधन प्रदान करते हैं यदि मौजूदा [[बूटलोडर]] किसी तरह से दूषित हो गया है।
**उपभोक्ता उत्पाद जैसे नेटवर्किंग उपकरण और उपग्रह टेलीविजन एकीकृत रिसीवर/डिकोडर अक्सर माइक्रोप्रोसेसर का उपयोग करते हैं जो जेटीएजी का समर्थन करते हैं, फ़र्मवेयर को फिर से लोड करने का वैकल्पिक साधन प्रदान करते हैं यदि मौजूदा [[बूटलोडर]] किसी तरह से दूषित हो गया है।
*[[ पेरिफ़ेरल कंपोनेंट इंटरकनेक्ट ]] बस कनेक्टर मानक में पिन 1-5 पर वैकल्पिक जेटीएजी सिग्नल होते हैं;<ref>{{cite web|url=http://www.techfest.com/hardware/bus/pci.htm#4.10|title=PCI Local Bus Technical Summary, 4.10 JTAG/Boundary Scan Pins|access-date=13 July 2007|archive-url=https://web.archive.org/web/20061107201536/http://www.techfest.com/hardware/bus/pci.htm#4.10|archive-date=7 November 2006|url-status=dead}}</ref> [[PCI Express|पीसीआई Express]] में 5-9 पिनों पर जेटीएजी सिग्नल होते हैं।<ref>{{cite web|url=http://www.interfacebus.com/Design_PCI_Express_16x_PinOut.html|title=Serial PCI Express Bus 16x Pinout and PCIe Pin out Signal names|website=www.interfacebus.com}}</ref> एक भ्रष्ट [[BIOS]] को रिफ़्लेश करने के लिए एक विशेष जेटीएजी कार्ड का उपयोग किया जा सकता है।
*[[ पेरिफ़ेरल कंपोनेंट इंटरकनेक्ट ]] बस कनेक्टर मानक में पिन 1-5 पर वैकल्पिक जेटीएजी सिग्नल होते हैं;<ref>{{cite web|url=http://www.techfest.com/hardware/bus/pci.htm#4.10|title=PCI Local Bus Technical Summary, 4.10 JTAG/Boundary Scan Pins|access-date=13 July 2007|archive-url=https://web.archive.org/web/20061107201536/http://www.techfest.com/hardware/bus/pci.htm#4.10|archive-date=7 November 2006|url-status=dead}}</ref> [[PCI Express|पीसीआई एक्सप्रेस]] में 5-9 पिनों पर जेटीएजी सिग्नल होते हैं।<ref>{{cite web|url=http://www.interfacebus.com/Design_PCI_Express_16x_PinOut.html|title=Serial PCI Express Bus 16x Pinout and PCIe Pin out Signal names|website=www.interfacebus.com}}</ref> एक भ्रष्ट [[BIOS|बीआईओएस]] को रिफ़्लेश करने के लिए एक विशेष जेटीएजी कार्ड का उपयोग किया जा सकता है।
* बाउंड्री स्कैन टेस्टिंग और इन-प्रणाली (डिवाइस) प्रोग्रामिंग एप्लिकेशन को कभी-कभी सीरियल वेक्टर फॉर्मेट का उपयोग करके प्रोग्राम किया जाता है, जो एक साधारण सिंटैक्स का उपयोग करके जेटीएजी संचालन का एक शाब्दिक प्रतिनिधित्व है। अन्य प्रोग्रामिंग प्रारूपों में 'JAM' और SटीएपीL और हाल ही में आईईईई Std शामिल हैं। 1532 परिभाषित प्रारूप 'आईएससी' (इन-प्रणाली व्यवस्था का प्रारूप के लिए संक्षिप्त)। ISC प्रारूप का उपयोग प्रोग्रामेबल लॉजिक डिवाइसेस (यानी एफपीजीए और CPLDs) के लिए उन्नत BSDL मॉडल के संयोजन में किया जाता है जिसमें बुनियादी न्यूनतम आईईईई 1149.1 निर्देशों के अलावा अतिरिक्त ISC_<ऑपरेशन> निर्देश शामिल होते हैं। [[Xilinx]], Altera, Lattice, Cypress, Actel, आदि से एफपीजीए प्रोग्रामिंग टूल आमतौर पर ऐसी फ़ाइलों को निर्यात करने में सक्षम होते हैं।
* बाउंड्री स्कैन टेस्टिंग और इन-प्रणाली (डिवाइस) प्रोग्रामिंग एप्लिकेशन को कभी-कभी सीरियल वेक्टर फॉर्मेट का उपयोग करके प्रोग्राम किया जाता है, जो एक साधारण सिंटैक्स का उपयोग करके जेटीएजी संचालन का एक शाब्दिक प्रतिनिधित्व है। अन्य प्रोग्रामिंग प्रारूपों में 'जैम' और एसटीएपीएल और हाल ही में आईईईई मानक शामिल हैं। 1532 परिभाषित प्रारूप 'आईएससी' (इन-प्रणाली व्यवस्था का प्रारूप के लिए संक्षिप्त)। ISC प्रारूप का उपयोग प्रोग्रामेबल लॉजिक डिवाइसेस (यानी एफपीजीए और सीपीएलडी) के लिए उन्नत बीएसडीएल मॉडल के संयोजन में किया जाता है जिसमें बुनियादी न्यूनतम आईईईई 1149.1 निर्देशों के अलावा अतिरिक्त ISC_<ऑपरेशन> निर्देश शामिल होते हैं। [[Xilinx|शीलिंक्स]], अल्टेरा, जाली, सरू, एक्टेल, आदि से एफपीजीए प्रोग्रामिंग टूल आमतौर पर ऐसी फ़ाइलों को निर्यात करने में सक्षम होते हैं।
* जैसा कि उल्लेख किया गया है, कई बोर्डों में विनिर्माण कार्यों का समर्थन करने के लिए जेटीएजी कनेक्टर, या सिर्फ पैड शामिल हैं, जहां सीमा स्कैन परीक्षण बोर्ड की गुणवत्ता (खराब मिलाप जोड़ों की पहचान, आदि) को सत्यापित करने और फ्लैश मेमोरी या एफपीजीए को आरंभ करने में मदद करता है।
* जैसा कि उल्लेख किया गया है, कई बोर्डों में विनिर्माण कार्यों का समर्थन करने के लिए जेटीएजी कनेक्टर, या सिर्फ पैड शामिल हैं, जहां सीमा स्कैन परीक्षण बोर्ड की गुणवत्ता (खराब मिलाप जोड़ों की पहचान, आदि) को सत्यापित करने और फ्लैश मेमोरी या एफपीजीए को आरंभ करने में मदद करता है।
* जेटीएजी फील्ड अपडेट और समस्या निवारण का भी समर्थन कर सकता है।
* जेटीएजी फील्ड अपडेट और समस्या निवारण का भी समर्थन कर सकता है।
Line 213: Line 213:
=== कनेक्टर्स ===
=== कनेक्टर्स ===
[[Image:Netgear ProSafe Dual WAN VPN Gigabit Firewall FVS336G JTAG interface.jpeg|thumb|right|एक [[नेटगियर]] FVS336G [[फ़ायरवॉल (कंप्यूटिंग)]] निचले बाएँ में एक 14 पिन जेटीएजी हेडर के साथ।]]
[[Image:Netgear ProSafe Dual WAN VPN Gigabit Firewall FVS336G JTAG interface.jpeg|thumb|right|एक [[नेटगियर]] FVS336G [[फ़ायरवॉल (कंप्यूटिंग)]] निचले बाएँ में एक 14 पिन जेटीएजी हेडर के साथ।]]
[[Image:ADSL modem router internals labeled.jpg|thumb|right|स्थान 5 पर 8 पिन जेटीएजी हेडर के साथ एक नेटगियर DG632 ADSL मॉडम।]]जेटीएजी एडेप्टर भौतिक कनेक्टर्स के लिए कोई आधिकारिक मानक नहीं हैं। विकास बोर्डों में आमतौर पर पसंदीदा विकास उपकरणों का समर्थन करने के लिए एक हेडर शामिल होता है; कुछ मामलों में वे ऐसे कई शीर्षलेख शामिल करते हैं, क्योंकि उन्हें ऐसे कई उपकरणों का समर्थन करने की आवश्यकता होती है। उदाहरण के लिए, एक माइक्रोकंट्रोलर, एफपीजीए और एआरएम एप्लिकेशन प्रोसेसर शायद ही कभी उपकरण साझा करते हैं, इसलिए उन सभी घटकों का उपयोग करने वाले विकास बोर्ड में तीन या अधिक शीर्षलेख हो सकते हैं। उत्पादन बोर्ड शीर्षलेखों को छोड़ सकते हैं, या जब स्थान सीमित हो तो परीक्षण बिंदुओं का उपयोग करके जेटीएजी सिग्नल एक्सेस प्रदान कर सकते हैं।
[[Image:ADSL modem router internals labeled.jpg|thumb|right|स्थान 5 पर 8 पिन जेटीएजी हेडर के साथ एक नेटगियर डीजी632 एडीएसएल मॉडम।]]जेटीएजी एडेप्टर भौतिक कनेक्टर्स के लिए कोई आधिकारिक मानक नहीं हैं। विकास बोर्डों में आमतौर पर पसंदीदा विकास उपकरणों का समर्थन करने के लिए एक हेडर शामिल होता है; कुछ मामलों में वे ऐसे कई शीर्षलेख शामिल करते हैं, क्योंकि उन्हें ऐसे कई उपकरणों का समर्थन करने की आवश्यकता होती है। उदाहरण के लिए, एक माइक्रोकंट्रोलर, एफपीजीए और एआरएम एप्लिकेशन प्रोसेसर शायद ही कभी उपकरण साझा करते हैं, इसलिए उन सभी घटकों का उपयोग करने वाले विकास बोर्ड में तीन या अधिक शीर्षलेख हो सकते हैं। उत्पादन बोर्ड शीर्षलेखों को छोड़ सकते हैं, या जब स्थान सीमित हो तो परीक्षण बिंदुओं का उपयोग करके जेटीएजी सिग्नल एक्सेस प्रदान कर सकते हैं।


कुछ सामान्य पिनआउट<ref>[http://www.jtagtest.com/pinouts/ JTAG Pinouts] lists a few JTAG-only header layouts that have widespread tool support.</ref> के लिए {{convert|2.54|mm|in|abbr=on}} [[पिन हेडर]] हैं:
कुछ सामान्य पिनआउट<ref>[http://www.jtagtest.com/pinouts/ JTAG Pinouts] lists a few JTAG-only header layouts that have widespread tool support.</ref> के लिए {{convert|2.54|mm|in|abbr=on}} [[पिन हेडर]] हैं:


* एआरएम 2×10 पिन (या कभी-कभी पुराने 2×7), लगभग सभी एआरएम आधारित प्रणाली द्वारा उपयोग किया जाता है
* एआरएम 2×10 पिन (या कभी-कभी पुराने 2×7), लगभग सभी एआरएम आधारित प्रणाली द्वारा उपयोग किया जाता है
* एमआईपीएस Eजेटीएजी (2 × 7 पिन) एमआईपीएस टेक्नोलॉजीज आधारित प्रणाली के लिए उपयोग किया जाता है
* एमआईपीएस ईजेटीएजी (2 × 7 पिन) एमआईपीएस टेक्नोलॉजीज आधारित प्रणाली के लिए उपयोग किया जाता है
* 2 × 5 पिन [[Altera]] ByteBlaster- संगत जेटीएजी कई विक्रेताओं द्वारा विस्तारित
* 2 × 5 पिन [[Altera|अल्टेरा]] बाइटब्लास्टर- संगत जेटीएजी कई विक्रेताओं द्वारा विस्तारित
* 2 × 5 पिन एटमेल एवीआर एसआरएसटी के साथ Altera जेटीएजी का विस्तार करता है (और कुछ मामलों में टीआरएसटी और एक इवेंट आउटपुट)
* 2 × 5 पिन एटमेल एवीआर एसआरएसटी के साथ अल्टेरा जेटीएजी का विस्तार करता है (और कुछ मामलों में टीआरएसटी और एक इवेंट आउटपुट)
* 2 × 7 पिन [[ टेक्सस उपकरण ]] टेक्सास इंस्ट्रूमेंट्स टीएमएस320 और [[ओएमएपी]] जैसे एआरएम-आधारित उत्पादों के साथ प्रयोग किया जाता है
* 2 × 7 पिन [[ टेक्सस उपकरण ]] टेक्सास इंस्ट्रूमेंट्स टीएमएस320 और [[ओएमएपी]] जैसे एआरएम-आधारित उत्पादों के साथ प्रयोग किया जाता है
* 8 पिन (एकल पंक्ति) जेनेरिक PLD जेटीएजी कई जाली ispDOWNLOAD केबलों के साथ संगत
* 8 पिन (एकल पंक्ति) जेनेरिक पीएलडी जेटीएजी कई जाली आईएसपीडाउनलोड केबलों के साथ संगत
* [[MIPI डिबग आर्किटेक्चर]]10-/20-कनेक्टर्स (1.27 mm 050 ) जेटीएजी, cजेटीएजी और SWD के लिए
* [[MIPI डिबग आर्किटेक्चर|एमआईपीआई डिबग आर्किटेक्चर]]10-/20-कनेक्टर्स (1.27 mm 050 ) जेटीएजी, सीजेटीएजी और एसडब्ल्यूडी के लिए


उन कनेक्टर्स में केवल चार मानकीकृत सिग्नल (टीएमएस, टीकेके, टीडीआई, टीडीओ) से अधिक शामिल होते हैं। आमतौर पर रीसेट सिग्नल प्रदान किए जाते हैं, टीआरएसटी (टीएपी रीसेट) और एसआरएसटी (प्रणाली रीसेट) में से एक या दोनों। कनेक्टर आमतौर पर बोर्ड-अंडर-टेस्ट का लॉजिक सप्लाई वोल्टेज प्रदान करता है ताकि जेटीएजी एडेप्टर उपयुक्त लॉजिक स्तरों का उपयोग करें<!-- eg 5, 3.3, ..., 1V, ... -->. बोर्ड वोल्टेज बोर्ड के वर्तमान डिबगर इनपुट के रूप में भी काम कर सकता है। अधिक जटिल डिबगिंग आर्किटेक्चर का समर्थन करने के लिए अन्य ईवेंट इनपुट या आउटपुट सिग्नल प्रदान किए जा सकते हैं, या सामान्य प्रयोजन इनपुट/आउटपुट | सामान्य प्रयोजन I/O (GPIO) लाइनें।
उन कनेक्टर्स में केवल चार मानकीकृत सिग्नल (टीएमएस, टीकेके, टीडीआई, टीडीओ) से अधिक शामिल होते हैं। आमतौर पर रीसेट सिग्नल प्रदान किए जाते हैं, टीआरएसटी (टीएपी रीसेट) और एसआरएसटी (प्रणाली रीसेट) में से एक या दोनों। कनेक्टर आमतौर पर बोर्ड-अंडर-टेस्ट का लॉजिक सप्लाई वोल्टेज प्रदान करता है ताकि जेटीएजी एडेप्टर उपयुक्त लॉजिक स्तरों का उपयोग करें. बोर्ड वोल्टेज "बोर्ड प्रेजेंट" डीबगर इनपुट के रूप में भी काम कर सकता है। अधिक जटिल डिबगिंग आर्किटेक्चर का समर्थन करने के लिए अन्य ईवेंट इनपुट या आउटपुट सिग्नल या सामान्य उद्देश्य I/O (GPIO) लाइनें प्रदान किए जा सकते हैं।


जेटीएजी संचालन के संयोजन के साथ हाई-स्पीड [[ अनुरेखण (सॉफ्टवेयर) ]] का समर्थन करने के लिए उच्च अंत उत्पाद अक्सर घने कनेक्टर (अक्सर 38-पिन [[MICTOR]] कनेक्टर) का उपयोग करते हैं। एक हालिया चलन है कि विकास बोर्ड जेटीएजी में एक यूएसबी इंटरफ़ेस को एकीकृत करते हैं, जहाँ एक सीरियल पोर्ट के लिए एक दूसरे चैनल का उपयोग किया जाता है। (छोटे बोर्ड यूएसबी के माध्यम से भी संचालित किए जा सकते हैं। चूंकि आधुनिक पीसी सीरियल पोर्ट को छोड़ देते हैं, ऐसे एकीकृत डिबग लिंक विकासकर्ता के लिए अव्यवस्था को काफी कम कर सकते हैं।) प्रोडक्शन बोर्ड अक्सर [[नाखून परीक्षक का बिस्तर]] पर भरोसा करते हैं। परीक्षण बिंदुओं के लिए बेड-ऑफ-नेल संयोजन परीक्षण और प्रोग्रामिंग के लिए।
जेटीएजी संचालन के संयोजन के साथ हाई-स्पीड [[ अनुरेखण (सॉफ्टवेयर) ]] का समर्थन करने के लिए उच्च अंत उत्पाद अक्सर घने कनेक्टर (अक्सर 38-पिन [[MICTOR|मिक्टर]] कनेक्टर) का उपयोग करते हैं। एक हालिया चलन है कि विकास बोर्ड जेटीएजी में एक यूएसबी इंटरफ़ेस को एकीकृत करते हैं, जहाँ एक सीरियल पोर्ट के लिए एक दूसरे चैनल का उपयोग किया जाता है। (छोटे बोर्ड यूएसबी के माध्यम से भी संचालित किए जा सकते हैं। चूंकि आधुनिक पीसी सीरियल पोर्ट को छोड़ देते हैं, ऐसे एकीकृत डिबग लिंक विकासकर्ता के लिए अव्यवस्था को काफी कम कर सकते हैं।) प्रोडक्शन बोर्ड अक्सर परीक्षण और प्रोग्रामिंग के लिए परीक्षण बिंदुओं के लिए बेड-ऑफ़-नेल कनेक्शन पर भरोसा करते हैं।


=== एडेप्टर हार्डवेयर ===
=== एडेप्टर हार्डवेयर ===
Line 243: Line 243:
एम्बेडेड सॉफ़्टवेयर के लिए अधिकांश विकास परिवेशों में जेटीएजी समर्थन शामिल है। मोटे तौर पर ऐसे सॉफ्टवेयर के तीन स्रोत हैं:
एम्बेडेड सॉफ़्टवेयर के लिए अधिकांश विकास परिवेशों में जेटीएजी समर्थन शामिल है। मोटे तौर पर ऐसे सॉफ्टवेयर के तीन स्रोत हैं:


* चिप विक्रेता उपकरण प्रदान कर सकते हैं, आमतौर पर उनके द्वारा आपूर्ति किए जाने वाले जेटीएजी एडॉप्टर की आवश्यकता होती है। उदाहरणों में एफपीजीए विक्रेता जैसे Xilinx और Altera, एटमेल अपने एवीआर8 और एवीआर32 उत्पाद लाइनों के लिए, और टेक्सास इंस्ट्रूमेंट्स अपने अधिकांश डीएसपी और सूक्ष्म उत्पादों के लिए शामिल हैं। इस तरह के उपकरण अत्यधिक विशिष्ट होते हैं, और एफपीजीए और डीएसपीs जैसे अत्यधिक विशिष्ट चिप्स के लिए एकमात्र वास्तविक विकल्प हो सकते हैं। निचले स्तर के सॉफ्टवेयर उपकरण नि:शुल्क प्रदान किए जा सकते हैं। जेटीएजी एडेप्टर स्वयं मुक्त नहीं हैं, हालांकि कभी-कभी उन्हें विकास बोर्डों के साथ बंडल किया जाता है।
* चिप विक्रेता उपकरण प्रदान कर सकते हैं, आमतौर पर उनके द्वारा आपूर्ति किए जाने वाले जेटीएजी एडॉप्टर की आवश्यकता होती है। उदाहरणों में एफपीजीए विक्रेता जैसे शीलिंक्स और Altera, एटमेल अपने एवीआर8 और एवीआर32 उत्पाद लाइनों के लिए, और टेक्सास इंस्ट्रूमेंट्स अपने अधिकांश डीएसपी और सूक्ष्म उत्पादों के लिए शामिल हैं। इस तरह के उपकरण अत्यधिक विशिष्ट होते हैं, और एफपीजीए और डीएसपीs जैसे अत्यधिक विशिष्ट चिप्स के लिए एकमात्र वास्तविक विकल्प हो सकते हैं। निचले स्तर के सॉफ्टवेयर उपकरण नि:शुल्क प्रदान किए जा सकते हैं। जेटीएजी एडेप्टर स्वयं मुक्त नहीं हैं, हालांकि कभी-कभी उन्हें विकास बोर्डों के साथ बंडल किया जाता है।
* उपकरण विक्रेता उन्हें आपूर्ति कर सकते हैं, आमतौर पर क्रॉस-प्लेटफ़ॉर्म विकास सहायता प्रदान करने के लिए कई चिप विक्रेताओं के साथ मिलकर। एआरएम आर्किटेक्चर-आधारित उत्पादों में विशेष रूप से समृद्ध तृतीय पक्ष बाजार है, और उनमें से कई विक्रेताओं ने एमआईपीएस आर्किटेक्चर और पावरपीसी जैसे गैर-एआरएम प्लेटफॉर्मों तक विस्तार किया है। टूल विक्रेता कभी-कभी [[जीएनयू संकलक संग्रह]] और [[जीएनयू डीबगर]] जैसे मुफ्त सॉफ्टवेयर के आसपास उत्पादों का निर्माण करते हैं, जीयूआई समर्थन के साथ अक्सर एक्लिप्स (सॉफ्टवेयर) का उपयोग करते हैं। जेटीएजी एडेप्टर कभी-कभी समर्थन बंडलों के साथ बेचे जाते हैं।
* उपकरण विक्रेता उन्हें आपूर्ति कर सकते हैं, आमतौर पर क्रॉस-प्लेटफ़ॉर्म विकास सहायता प्रदान करने के लिए कई चिप विक्रेताओं के साथ मिलकर। एआरएम आर्किटेक्चर-आधारित उत्पादों में विशेष रूप से समृद्ध तृतीय पक्ष बाजार है, और उनमें से कई विक्रेताओं ने एमआईपीएस आर्किटेक्चर और पावरपीसी जैसे गैर-एआरएम प्लेटफॉर्मों तक विस्तार किया है। टूल विक्रेता कभी-कभी [[जीएनयू संकलक संग्रह]] और [[जीएनयू डीबगर]] जैसे मुफ्त सॉफ्टवेयर के आसपास उत्पादों का निर्माण करते हैं, जीयूआई समर्थन के साथ अक्सर एक्लिप्स (सॉफ्टवेयर) का उपयोग करते हैं। जेटीएजी एडेप्टर कभी-कभी समर्थन बंडलों के साथ बेचे जाते हैं।
* ओपन सोर्स टूल्स मौजूद हैं। जैसा कि ऊपर उल्लेख किया गया है, जीसीसी और जीडीबी एक अच्छे टूलचैन के मूल हैं, और उनका समर्थन करने के लिए जीयूआई वातावरण हैं।
* ओपन सोर्स टूल्स मौजूद हैं। जैसा कि ऊपर उल्लेख किया गया है, जीसीसी और जीडीबी एक अच्छे टूलचैन के मूल हैं, और उनका समर्थन करने के लिए जीयूआई वातावरण हैं।


ऐसे सभी सॉफ़्टवेयर में मूल डिबगर समर्थन शामिल होता है: रोकना, रोकना, एकल स्टेपिंग, ब्रेकप्वाइंट, डेटा संरचना ब्राउज़िंग, और इसी तरह।
इस तरह के सभी सॉफ़्टवेयर में सिंगल स्टेपिंग ब्रेकप्वाइंट डेटा संरचना ब्राउज़िंग आदि को रोकने के लिए बुनियादी डीबगर समर्थन शामिल है। वाणिज्यिक उपकरण बहुत सटीक सिमुलेटर और ट्रेस विश्लेषण जैसे उपकरण प्रदान करते हैं, जो वर्तमान में खुले स्रोत के रूप में उपलब्ध नहीं हैं।
वाणिज्यिक उपकरण बहुत सटीक सिमुलेटर और ट्रेस विश्लेषण जैसे उपकरण प्रदान करते हैं, जो वर्तमान में खुले स्रोत के रूप में उपलब्ध नहीं हैं।


== समान इंटरफ़ेस मानक ==
== समान इंटरफ़ेस मानक ==
सीरियल वायर डिबग (SWD) एक वैकल्पिक 2-पिन इलेक्ट्रिकल इंटरफ़ेस है जो समान प्रोटोकॉल का उपयोग करता है। यह मौजूदा जीएनडी संयोजन का उपयोग करता है। SWD एआरएम डिबग इंटरफ़ेस v5 में परिभाषित एआरएम सीपीयू मानक द्वि-दिशात्मक वायर प्रोटोकॉल का उपयोग करता है।<ref>{{Cite web|url=http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0031c/index.html|title=एआरएम सूचना केंद्र|website=infocenter.arm.com|access-date=2017-08-10}}</ref> यह डिबगर को प्रणाली मेमोरी और परिधीय या डिबग रजिस्टरों तक पहुंच के लिए एक और [[उन्नत माइक्रोकंट्रोलर बस आर्किटेक्चर]] बस मास्टर बनने में सक्षम बनाता है। डेटा दर तक है {{nowrap|4 MB/s}} {{nowrap|at 50 MHz}}. SWD में बिल्ट-इन एरर डिटेक्शन भी है। SWD क्षमता वाले जेटीएजी उपकरणों पर, टीएमएस और टीकेके का उपयोग SWDIO और SWCLK संकेतों के रूप में किया जाता है, जो दोहरे मोड वाले प्रोग्रामर प्रदान करते हैं।


सीरियल वायर डिबग (SWD) एक वैकल्पिक 2-पिन इलेक्ट्रिकल इंटरफ़ेस है जो समान प्रोटोकॉल का उपयोग करता है। यह मौजूदा जीएनडी संयोजन का उपयोग करता है। SWD एआरएम डिबग इंटरफ़ेस v5 में परिभाषित एआरएम सीपीयू मानक द्वि-दिशात्मक वायर प्रोटोकॉल का उपयोग करता है।<ref>{{Cite web|url=http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0031c/index.html|title=एआरएम सूचना केंद्र|website=infocenter.arm.com|access-date=2017-08-10}}</ref> यह डिबगर को प्रणाली मेमोरी और परिधीय या डिबग रजिस्टरों तक पहुंच के लिए एक और [[उन्नत माइक्रोकंट्रोलर बस आर्किटेक्चर]] बस मास्टर बनने में सक्षम बनाता है। डेटा दर तक है {{nowrap|4 MB/s}} {{nowrap|at 50 MHz}}. SWD में बिल्ट-इन एरर डिटेक्शन भी है। SWD क्षमता वाले जेटीएजी उपकरणों पर, टीएमएस और टीकेके का उपयोग SWDIO और SWCLK संकेतों के रूप में किया जाता है, जो दोहरे मोड वाले प्रोग्रामर प्रदान करते हैं।
सीरियल वायर डिबग (एसडब्ल्यूडी) एक वैकल्पिक 2-पिन इलेक्ट्रिकल इंटरफ़ेस है जो समान प्रोटोकॉल का उपयोग करता है। यह मौजूदा जीएनडी संयोजन का उपयोग करता है। एसडब्ल्यूडी एआरएम डिबग इंटरफ़ेस v5 में परिभाषित एआरएम सीपीयू मानक द्वि-दिशात्मक वायर प्रोटोकॉल का उपयोग करता है।<ref>{{Cite web|url=http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0031c/index.html|title=एआरएम सूचना केंद्र|website=infocenter.arm.com|access-date=2017-08-10}}</ref> यह डिबगर को प्रणाली मेमोरी और परिधीय या डिबग रजिस्टरों तक पहुंच के लिए एक और [[उन्नत माइक्रोकंट्रोलर बस आर्किटेक्चर]] बस मास्टर बनने में सक्षम बनाता है। डेटा दर {{nowrap|50 मेगाहर्ट्ज पर}} {{nowrap|4 एमबी/एस}} तक है। एसडब्ल्यूडी में बिल्ट-इन एरर डिटेक्शन भी है। एसडब्ल्यूडी क्षमता वाले जेटीएजी उपकरणों पर, टीएमएस और टीकेके का उपयोग एसडब्ल्यूडीओ और एसडब्ल्यूसीएलके संकेतों के रूप में किया जाता है, जो दोहरे मोड वाले प्रोग्रामर प्रदान करते हैं।


== यह भी देखें ==
== यह भी देखें ==

Revision as of 21:47, 10 March 2023

जेटीएजी (जॉइंट टेस्ट एक्शन ग्रुप के नाम पर रखा गया है जिसने इसे संहिताबद्ध किया है) निर्माण के बाद मुद्रित परिपथ बोर्डों के डिजाइन और परीक्षण के सत्यापन के लिए एक प्रौद्योगिक मानक है।

जेटीएजी तर्क अनुकरण के पूरक उपकरण के रूप में इलेक्ट्रॉनिक डिजाइन स्वचालन (ईडीए) में ऑन-चिप उपकरण के लिए मानकों को प्रायुक्त करता है।[1] यह प्रणाली एड्रेस और डेटा बसों के लिए सीधे बाहरी एक्सेस की आवश्यकता के बिना लो-ओवरहेड एक्सेस के लिए धारावाहिक संचार इंटरफेस को प्रायुक्त करने वाले एक समर्पित डिबग पोर्ट के उपयोग को निर्दिष्ट करता है। इंटरफ़ेस एक ऑन-चिप टेस्ट एक्सेस पोर्ट (टीएपी) से जुड़ता है जो परीक्षण रजिस्टरों के एक सेट तक पहुंचने के लिए एक राज्य (कंप्यूटर विज्ञान) प्रोटोकॉल को प्रायुक्त करता है जो चिप तर्क स्तर और विभिन्न भागों की डिवाइस क्षमताओं को प्रस्तुत करता है।

निर्माण के बाद मुद्रित परिपथ बोर्डों के डिजाइन और परीक्षण की पुष्टि करने की एक विधि विकसित करने के लिए 1985 में ज्वाइंट टेस्ट एक्शन ग्रुप का गठन किया गया। 1990 में इंस्टीट्यूट ऑफ़ इलेक्ट्रिकल एंड इलेक्ट्रॉनिक्स इंजीनियर्स ने प्रयास के परिणामों को आईईईई मानक 1149.1-1990 में संहिताबद्ध किया, जिसका शीर्षक मानक टेस्ट एक्सेस पोर्ट और सीमा-स्कैन आर्किटेक्चर था।

जेटीएजी मानकों को कई सेमीकंडक्टर चिप निर्माताओं द्वारा विक्रेता-विशिष्ट सुविधाएँ प्रदान करने के लिए विशेष प्रकार के साथ बढ़ाया गया है।[2]


इतिहास

1980 के दशक में, बॉल ग्रिड ऐरे और इसी तरह की माउंटिंग तकनीकों का उपयोग करने वाले मल्टी-लेयर परिपथ बोर्ड और एकीकृत परिपथ (आईसीएस) मानक बन रहे थे, और आईसी के बीच संयोजन बनाए जा रहे थे जो जांच के लिए उपलब्ध नहीं थे। परिपथ बोर्डों में अधिकांश विनिर्माण और फील्ड दोष बोर्डों पर खराब मिलाप जोड़ों, बोर्ड संयोजनों के बीच की खामियों, या आईसी पैड से लीड फ्रेम को पिन करने के लिए बांड और बांड तारों के कारण थे। ज्वाइंट टेस्ट एक्शन ग्रुप (जेटीएजी) का गठन 1985 में एक आईसी पैड से दूसरे में पिन-आउट दृश्य प्रदान करने के लिए किया गया था ताकि इन दोषों का पता लगाया जा सके।

उद्योग मानक 1990 में आईईईई मानक 1149.1-1990[3] के रूप में प्रारंभिक उपयोग के कई वर्षों के बाद आईईईई मानक बन गया। उसी वर्ष, इंटेल ने जेटीएजी (80486) के साथ अपनी पहली सेंट्रल प्रोसेसिंग यूनिट जारी किया, जिसके कारण सभी निर्माताओं ने तेजी से उद्योग को अपना लिया था। 1994 में, एक पूरक जिसमें सीमा स्कैन विवरण भाषा (बीएसडीएल) का विवरण शामिल था, जो जोड़ा गया था। परीक्षा के लिए सभी शून्यों के उपयोग के संबंध में और परिशोधन, मानक के उपयोग को प्रीलोड से अलग करने और केवल अवलोकन के लिए बेहतर कार्यान्वयन के लिए किया गया था और 2001 में जारी किया गया था।[4] 1990 के बाद से, इस मानक को दुनिया भर की इलेक्ट्रानिक्स कंपनियों द्वारा अपनाया गया है। सीमा स्कैन अब ज्यादातर जेटीएजी का पर्याय बन गया है, लेकिन जेटीएजी का ऐसे निर्माण अनुप्रयोगों से परे आवश्यक उपयोग है।

डिबगिंग

हालांकि जेटीएजी के प्रारंभिक अनुप्रयोगों ने बोर्ड स्तर के परीक्षण को लक्षित किया, यहाँ जेटीएजी मानक को डिवाइस, बोर्ड और प्रणाली परीक्षण, निदान और दोष अलगाव में सहायता के लिए डिज़ाइन किया गया था। आज जेटीएजी का उपयोग एकीकृत परिपथों के उप-ब्लॉकों तक पहुँचने के प्राथमिक साधन के रूप में किया जाता है, जिससे यह अंतः स्थापित प्रणाली को डीबग करने के लिए एक आवश्यक तंत्र बन जाता है जिसमें कोई अन्य डीबग-सक्षम संचार चैनल नहीं हो सकता है।[citation needed] अधिकांश प्रणालियों पर, जेटीएजी-आधारित डिबगिंग सीपीयू रीसेट के बाद पहले निर्देश से उपलब्ध है, जो इसे प्रारंभिक बूट सॉफ़्टवेयर के विकास में सहायता देता है जो कुछ भी सेट होने से पहले चलता है। एक इन-परिपथ एमुलेटर (या, अधिक सही विधि से, एक जेटीएजी एडॉप्टर) जेटीएजी का उपयोग लक्ष्य सेंट्रल प्रोसेसिंग यूनिट के अंदर ऑन-चिप डिबग मॉड्यूल तक पहुँचने के लिए परिवहन तंत्र के रूप में करता है। वे मॉड्यूल सॉफ़्टवेयर विकासकर्ता को एक एम्बेडेड प्रणाली के सॉफ़्टवेयर को आवश्यकता पड़ने पर सीधे मशीन निर्देश स्तर पर, या (अधिक विशिष्ट रूप से) उच्च स्तरीय भाषा स्रोत कोड के संदर्भ में डीबग करने देते हैं।

प्रणाली सॉफ़्टवेयर डिबग समर्थन कई सॉफ़्टवेयर विकासकर्ता के लिए जेटीएजी में रुचि रखने का मुख्य कारण है। कई सिलिकॉन आर्किटेक्चर जैसे कि पावरपीसी, एमआईपीएस, एआरएम, और एक्स86 ने मूल जेटीएजी प्रोटोकॉल के आसपास एक संपूर्ण सॉफ़्टवेयर डीबग, निर्देश ट्रेसिंग और डेटा ट्रेसिंग इन्फ्रास्ट्रक्चर का निर्माण किया। अक्सर व्यक्तिगत सिलिकॉन विक्रेता इन एक्सटेंशनों के कुछ हिस्सों को ही प्रायुक्त करते हैं। कुछ उदाहरण एआरएम कोरसाइट और नेक्सस (मानक) के साथ-साथ इंटेल के बीटीएस (ब्रांच ट्रेस स्टोरेज), एलबीआर (लास्ट ब्रांच रिकॉर्ड), और आईपीटी (इंटेल प्रोसेसर ट्रेस) कार्यान्वयन हैं। ऐसे कई अन्य सिलिकॉन विक्रेता-विशिष्ट एक्सटेंशन हैं, जिन्हें गैर-प्रकटीकरण समझौते के अलावा प्रलेखित नहीं किया जा सकता है। जेटीएजी मानक को अपनाने से जेटीएजी-केंद्रित डिबगिंग वातावरण को प्रारंभिक प्रोसेसर-विशिष्ट डिज़ाइनों से दूर करने में मदद मिली। प्रोसेसर को सामान्य रूप से रोका जा सकता है, एकल स्टेप किया जा सकता है, या स्वतंत्र रूप से चलने दिया जा सकता है। रैम में कोड के लिए (अक्सर एक विशेष मशीन निर्देश का उपयोग करके) और रैम/फ़्लैश दोनों में कोड ब्रेकप्वाइंट सेट कर सकते हैं। डेटा ब्रेकप्वाइंट अक्सर उपलब्ध होते हैं, जैसा कि रैम में बल्क डेटा डाउनलोड होता है। अधिकांश डिज़ाइनों में हाल्ट मोड डिबगिंग है, लेकिन कुछ डिबगर्स को रजिस्टरों और डेटा बसों तक पहुंचने की अनुमति देते हैं, बिना कोर को डिबग किए रोकने की आवश्यकता होती है। कुछ टूलचेन एआरएम एंबेडेड ट्रेस मैक्रोसेल (ईटीएम) मॉड्यूल या अन्य आर्किटेक्चर में समकक्ष कार्यान्वयन का उपयोग कर सकते हैं, जो तर्क विश्लेषक जैसे जटिल हार्डवेयर घटनाओं पर डिबगर (या ट्रेसिंग) गतिविधि को ट्रिगर करने के लिए प्रोग्राम किया जाता है, जो एक विशेष सबरूटीन से एक रजिस्टर में पहले सात एक्सेस को अनदेखा करने के लिए प्रोग्राम किया जाता है।

कभी-कभी एफपीजीए डेवलपर डीबगिंग टूल वि