2012-04-01 21 views
7

मैं जीडीबी के साथ डीबगिंग पर काम कर रहा हूं। मैं जानना चाहता था कि जीडीबी जेएजी के माध्यम से एक एम्बेडेड प्रोसेसर पर ब्रेकपॉइंट सेट करने के लिए आंतरिक रूप से कैसे काम करता है।जीडीबी के माध्यम से ब्रेकपॉइंट सेट करने के लिए जीडीबी की तरह डीबगर कैसे काम करता है?

+0

एक एम्बेडेड विकास प्रणाली में सामान्य जेएफई काम प्रवाह का संभावित डुप्लिकेट?] (Http://stackoverflow.com/questions/3775445/general-jtag-working-flow-in-an-embedded-development-system) – Gilles

उत्तर

1

यह प्रत्येक प्रोसेसर के लिए अलग है, आपको विशिष्ट प्रोसेसर के लिए jtag डीबगर विवरण देखना होगा। न केवल प्रोसेसर परिवार बल्कि आवश्यक प्रोसेसर। उपलब्ध होने पर डेटाशीट/उपयोगकर्ता गाइड, आमतौर पर चिप विक्रेता या कोर विक्रेता से उत्पाद के आधार पर उपलब्ध होते हैं।

+0

मैं क्या जानना चाहता हूं कि मेरे बोर्ड को एक जेटीएजी केबल के साथ पीसी से जोड़ने के बाद, यदि मैं जीडीबी के साथ उदाहरण के लिए "बीपी 25" टाइप करता हूं, तो मेरे एम्बेडेड प्रोसेसर (माइक्रोब्लैज) के माध्यम से निष्पादित करने के लिए उस कमांड के बाद क्या होता है जेएजी? – jenje

+0

आपको उस प्रोसेसर और jtag कमांड को देखना होगा, यह कुछ हद तक अलग-अलग कमांड हो सकता है जो कि एक चीज को लागू करने के लिए होता है। एक दर्जन अलग-अलग तरीकों से प्रोसेसर इस तरह के कमांड को संभालते हैं, आदि। यदि आप डेटाशीट को देखना नहीं चाहते हैं तो जीडीबी सॉर्सेस देखें, जीडीबी ओपन सोर्स है, आपके सवालों के जवाब खुले दस्तावेज़ों और सॉफ्टवेयर में ठीक हैं। जीडीबी को दोबारा बनाएं, कुछ प्रिंटफिक्स जोड़ें, ब्याज के कोड पर खोदें। –

3

यह या तो एक हार्डवेयर ब्रेकपॉइंट रजिस्टर प्रोग्राम करता है या एक निर्देश के साथ ब्रेकपॉइंट पर निर्देश को बदलकर सॉफ़्टवेयर ब्रेकपॉइंट रखता है जो अपवाद का कारण बनता है।

0

कुछ बार मैंने जीडीबी इकाई के संयोजन के साथ जीडीबी का उपयोग किया है, जीडीबी ने gdbserver प्रोग्राम का उपयोग करके जेएफई पर संचार किया है जो जेएफई के विवरण को संभाला है। - यह gdbserver इंटरफेस पर निर्भर करता है और यह है कि सर्वर तो करता है जो कुछ भी यह करने के लिए पर्दे के पीछे की जरूरत है http://openocd.sourceforge.net/doc/html/GDB-and-OpenOCD.html

यह अनिवार्य रूप से इसका मतलब है कि GDB JTAG इकाई के बारे में कुछ भी ज्यादा नहीं जानता है: उदाहरण के लिए, एक OpenOCD JTAG इकाई का उपयोग जीडीबी अनुरोध क्या करें।