JTAG बनाम SWD डिबगिंग


41

इस लेख के माध्यम से स्किमिंग के बाद , मैं सोच रहा हूँ कि JTAG डीबगिंग पर SWD डिबगिंग के क्या लाभ हैं?

मैं समझता हूं कि SWD कम तारों / पिनों का उपयोग करता है, कम जगह लेता है आदि। लेकिन हार्डवेयर प्रोग्रामर / डिबगर डिवाइसों के प्रदर्शन, सुविधाओं और लागत के मामले में यह कैसा है? क्या कोड अभी भी नुकीले / रुके हुए हो सकते हैं और आईडीई के ग्रहण की तरह आगे बढ़ सकते हैं?

क्या एक ARM चिप को SWD इंटरफ़ेस का उपयोग करके प्रोग्राम किया जा सकता है, जैसे मुझे विश्वास है कि JTAG में किया जा सकता है?


अधिक हाल के कोर (उदाहरण के लिए कॉर्टेक्स) के साथ एआरएम आधारित चिप्स को एसडीडी के माध्यम से क्रमादेशित और डीबग किया जा सकता है।
बी पीट

@Bete: मैंने पाया है कि SWD के साथ ST- आधारित चिप्स को डीबग करना मुश्किल है जो स्लीप मोड का उपयोग करते हैं; हमारे वर्तमान बोर्डों में JTAG के लिए पिन उपलब्ध नहीं हैं, लेकिन मैं सोच रहा था कि क्या JTAG उस संबंध में बेहतर हो सकता है?
सुपरकैट

2
यह (SWD) स्पाई बी-वायर इंटरफैग की तरह दिखता है जिसे TI ने अपने MSP430 प्रोसेसर के सबसेट पर रखा था। यह एक 2-तार JTAG-alike (प्लस पॉवर एंड ग्राउंड) है जिसमें SBWTCLK और SBWTDIO एक उदाहरण डिवाइस पर दो गैर-GPIO पिन (टेस्ट, और RST / NMI) पर गुणा किया गया है। EZ430 देवकी द्वारा समर्थित। और यह (SBW) कदम और ब्रेकप्वाइंट का समर्थन करता है! मुझे नहीं पता कि टीआई के खुद के एआरएम के पास एक ही इंटरफ़ेस है, लेकिन यह दिलचस्प होगा यदि प्रोग्रामिंग / डिबग टूल साझा करने के लिए उनके बीच पर्याप्त समानता थी।
ब्रायन ड्रमंड

आपका लेख लिंक मृत है, लेकिन शायद यह लेख था? arm.com/files/pdf/Serial_Wire_Debug.pdf
गेब्रियल स्टेपल्स

जवाबों:


12

एसडब्ल्यूडी एआरएम चिपसेट को प्रोग्राम करने में सक्षम होना चाहिए और साथ ही आप ब्रेकपॉइंट को डीबग और जोड़ सकते हैं। SWD के बारे में दूसरी अच्छी बात यह है कि आप डीबगिंग के लिए अपने प्रिंटफ स्टेटमेंट के लिए सीरियल वायर दर्शक का उपयोग कर सकते हैं। मैंने इसे केवल केइल कंपाइलर के साथ इस्तेमाल किया है।


इस लिंक पर देखें सीरियल वायर के दर्शक। keil.com/download/files/swv_on_cortex-m3.pdf
user468662

37

विद्युत

  • पिन गणना
    • JTAG को 4 सिग्नल लाइनों की आवश्यकता होती है
    • SWD को केवल 2 सिग्नल लाइनों की आवश्यकता होती है
    • IEEE 1149.7 में निर्दिष्ट 2-वायर JTAG इंटरफ़ेस पिन काउंट को गिराता है, लेकिन कई IC पर व्यापक रूप से उपलब्ध नहीं लगता है। यह बैंडविड्थ को भी कम करता है।
  • टोपोलॉजी
    • JTAG चिप्स के बीच डेटा लाइनों के लिए डेज़ी श्रृंखला कॉन्फ़िगरेशन का उपयोग करता है। जेटीएजी की गति इस प्रकार श्रृंखला पर सबसे धीमी चिप द्वारा सीमित है। इसकी रीसेट और स्पष्ट लाइनें बस (जंजीरदार नहीं) हैं, जो SWDJ-DP (नीचे चर्चा देखें) के माध्यम से अंतर के लिए अनुमति देता है।
    • 2-तार JTAG एक स्टार टोपोलॉजी के लिए अनुमति देता है, लेकिन इसका उपयोग अक्सर नहीं किया जाता है।
    • SWD स्टार टोपोलॉजी के लिए अनुमति देता है

कार्यात्मक

  • SWD एक ARM विशिष्ट प्रोटोकॉल है जिसे विशेष रूप से माइक्रो डिबगिंग के लिए डिज़ाइन किया गया है।
  • JTAG (जॉइंट टेस्ट एक्शन ग्रुप) को मोटे तौर पर चिप और बोर्ड टेस्टिंग के लिए डिज़ाइन किया गया था। इसका उपयोग सीमा स्कैन , उत्पादन में चिप्स / बोर्डों में दोषों की जांच करने के लिए किया जाता है । समय के साथ इसके अनुप्रयोग में डिबगिंग और फ्लैशिंग माइक्रो का विकास हुआ।
  • JTAG एआरएम से अलग कई माइक्रोकंट्रोलर / प्रोसेसर आर्किटेक्चर के लिए उपयोग में है।

आम चर्चा

गैर-एआरएम माइक्रो, प्रोग्रामर और प्रोडक्शन लाइन्स द्वारा JTAG को अधिक व्यापक रूप से 2017 के रूप में समर्थित किया गया है। जेटीएजी के लिए प्रोग्रामर एफटी 232 एच [*] ब्रेकआउट और इस तरह के अन्य प्रोग्रामिंग उपकरणों के रूप में सस्ते के लिए हो सकते हैं । हालांकि, एआरएम चिप्स को डीबग करने में गति और अन्य क्षेत्रों में SWD का एक अलग फायदा है।

परीक्षण और डीबगिंग में एसडब्लूडी में जेटीजी के शुद्ध प्रकृति में विभाजन के कारण, एआरएम अपनी कोरसैट तकनीक के माध्यम से एसडब्ल्यूजे-डीपी (सीरियल वायर / जेट डीबग पोर्ट) प्रदान करता है जो जेटीएजी की घड़ी और रीसेट लाइनों पर एसडब्ल्यूडी पिन को मैप करता है। SWJ-DP इसलिए एक ही समय में जरूरी नहीं कि एक ही भौतिक कनेक्शन पर दोनों प्रोटोकॉल का उपयोग करने की अनुमति देता है या JTAG और SWD के रूप में एक ही प्रोग्रामर के साथ समय में मल्टीप्लेक्स करना होगा।

उपयोगी संदर्भ



7

मुझे ओपी के लिए थोड़ा बहुत देर हो सकती है, लेकिन शायद यह एक ही सवाल के साथ कुछ अन्य लोगों के लिए उपयोगी होगा। इसलिए, यहां हम जाते हैं (व्यक्तिगत अनुभव): SWD के साथ प्रोग्राम और डिबग (लाने की मेमोरी / रजिस्टर मैप्स, ब्रेक, विशिष्ट बिंदु से रन, आदि) संभव है। JDB- लिंक EDU के माध्यम से यहां GDB के साथ ग्रहण का उपयोग करना, जो ~ 50 यूरो के लिए जाता है। कुछ कीड़े हैं (डिबगर के माध्यम से लक्ष्य को रीसेट करना, कभी-कभी नक्शे कनेक्ट नहीं करेंगे या नक्शे प्राप्त नहीं करेंगे), लेकिन यह अपेक्षाकृत सस्ता और प्रयोग करने योग्य है, एक बार जब आप इसके साथ परिचित हो जाते हैं


7

पुराना प्रश्न, लेकिन कोई भी उत्तर प्रदर्शन तुलना को संबोधित नहीं करता है। यद्यपि SWD और JTAG के बीच सेट की गई सुविधा (जब एक CoreSight DAP का उपयोग करते हुए) काफी समान होती है, SWD क्रम लगभग JTAG अनुक्रमों की तुलना में लगभग 10% कम होता है।

ज्यादातर मामलों में डेटा बैंडविड्थ में कोई नुकसान नहीं होता है (विशेष रूप से स्ट्रीमिंग पढ़ता है या लिखता है जहां बैंडविड्थ सबसे महत्वपूर्ण है)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.