विषयसूची:

CloudX के साथ सीरियल डिबगिंग: 3 चरण
CloudX के साथ सीरियल डिबगिंग: 3 चरण

वीडियो: CloudX के साथ सीरियल डिबगिंग: 3 चरण

वीडियो: CloudX के साथ सीरियल डिबगिंग: 3 चरण
वीडियो: HyperX Cloud Stinger Core Wired Over Ear Headphones🔥Gaming headphones under 5k ⚡ 2024, नवंबर
Anonim
CloudX के साथ सीरियल डिबगिंग
CloudX के साथ सीरियल डिबगिंग

इस परियोजना में, मेरा लक्ष्य सीरियल टर्मिनल के माध्यम से डिबगिंग की अवधारणा की व्याख्या करना है। लेकिन एक शुरुआत के रूप में सबसे पहले, इसके अर्थ के माध्यम से इसकी अवधारणा को समझाते हैं।

1. धारावाहिक संचार

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

2. डिबग

डिबगिंग का सीधा सा मतलब है (कंप्यूटर हार्डवेयर या सॉफ्टवेयर) से त्रुटियों को पहचानना और हटाना। डिबगिंग में कंप्यूटर प्रोग्राम में कोड त्रुटियों का पता लगाना और उन्हें ठीक करना शामिल है। डिबगिंग सॉफ्टवेयर परीक्षण प्रक्रिया का हिस्सा है और संपूर्ण सॉफ्टवेयर विकास जीवनचक्र का एक अभिन्न अंग है। उदाहरण के लिए मान लें कि आपका कोड सफलतापूर्वक संकलित हो गया है और आप अपने हार्डवेयर का परीक्षण कर रहे हैं और यह अपेक्षित रूप से काम नहीं कर रहा है, हालांकि आपके कोड को डीबग करने के कई तरीके हैं; इसे डिबग करने का एक सरल और प्रभावी तरीका सीरियल डिबगिंग के उपयोग के माध्यम से है। CloudX IDE सफल संकलन, HEX और COFF फ़ाइल पर 2 प्रकार की फ़ाइल बनाता है। एचईएक्स फ़ाइल सख्ती से मशीन कोड है जो वास्तविक दुनिया में निष्पादन के लिए बोर्ड में बूटलोड किया जाता है, लेकिन आपके पीसी सिमुलेशन सॉफ्टवेयर जैसे प्रोटियस आईसिस पर भी चल सकता है, जबकि सीओएफएफ फाइल आपके पीसी सिमुलेशन सॉफ्टवेयर्स (प्रोटियस आईसिस) पर एक पठनीय प्रारूप निष्पादन योग्य है।. इस दायरे के लिए हम सीरियल प्रोटोकॉल पर दो बुनियादी प्रकार के डिबगिंग पर विचार करेंगे,

1. सॉफ्ट सीरियल डिबगिंग:

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

चरण 1:

छवि
छवि
छवि
छवि

/*

* फ़ाइल: newmain.c

*लेखक: ओगबॉय गॉडविन* *28 जून 2018, सुबह 10:15 बजे बनाया गया */

#शामिल

#शामिल

/* हम बना लेंगे

लाल पिन1 हरा पिन2 पीला पिन3 * बटन पिन4 */ चार *बताएं = "हम्म, मैं स्पर्श कर चुका हूं"; सेटअप () {पिनमोड (1, OUTPUT); पिनमोड (2, आउटपुट); पिनमोड (3, आउटपुट); पिनमोड (4, इनपुट); सीरियल_बेगिन (9600); लूप () {जबकि (! रीडपिन (4)); सीरियल_राइटटेक्स्ट (बताएं); Serial_writeText ("… लाल रंग में जा रहा है"); सीरियल_राइट (0x0D); पोर्टवाइट (1, 0x00); पिनसेलेक्ट (1, हाई); विलंब (200); // सभी देरी को हटाने की कोशिश करें और देखें कि क्या होता है // फिर उन्हें बदलें (आप निश्चित रूप से पसंद करेंगे!) जबकि (! रीडपिन (4)); सीरियल_राइटटेक्स्ट (बताएं); Serial_writeText ("… हरे रंग में जा रहा है"); सीरियल_राइट (0x0D); पोर्टवाइट (1, 0x00); पिनसेलेक्ट (2, हाई); विलंब (200); // सभी देरी को हटाने की कोशिश करें और देखें कि क्या होता है // फिर उन्हें बदलें (आप निश्चित रूप से पसंद करेंगे!)

जबकि (! रीडपिन (4));

सीरियल_राइटटेक्स्ट (बताएं); Serial_writeText ("… पीले रंग में जा रहा है"); सीरियल_राइट (0x0D); पोर्टवाइट (1, 0x00); पिनसेलेक्ट (3, हाई); विलंब (200); // सभी देरी को हटाने की कोशिश करें और देखें कि क्या होता है // फिर उन्हें बदलें (आप निश्चित रूप से पसंद करेंगे!) } }

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

चरण 2:

छवि
छवि
छवि
छवि
छवि
छवि

2. हार्डवेयर डिबगिंग:

इस पद्धति में, प्रत्येक परीक्षण और डिबगिंग को सॉफ्टकार्ड का उपयोग करके क्लाउडएक्स प्रोटोटाइप बोर्ड को पीसी से जोड़कर किया जाता है और क्लाउडएक्स आईडीई के सीरियल टर्मिनल (अनुशंसित) या कुछ अन्य उपयोगी सॉफ़्टवेयर जैसे प्रोटियस आईएसआईएस कंपिम, रीयलटर्म इत्यादि का उपयोग करके सीओएफएफ उत्पन्न करें। फ़ाइल का उपयोग यहां नहीं किया जा सकता है क्योंकि यह विधि हार्डवेयर में HEX को बूट करने की मांग करती है, मैं इसे CloudX सॉफ्टकार्ड के लिए उपयोग करने की सलाह देता हूं। ध्यान दें कि आपका कोड बिना कदम उठाए चलता है ताकि आप हमेशा जान सकें कि सीरियल आउटपुट द्वारा किसी भी समय नियंत्रक कौन सी लाइन चल रही है। आइए इस कोड को ऊपर सूचीबद्ध समान उदाहरण पर एक नज़र डालें, अपने हार्डवेयर को माइन रेड एलईडी के समान होने के लिए सेट करें --------- से पिन1 ग्रीन एलईडी --------- पिन 2 पीली एलईडी - -------- पिन3 बटन --------- पिन4

चरण 3:

छवि
छवि

कदम

1. ऊपर के समान कोड का प्रयोग करें

2. अपने बोर्ड में बूटलोड करें

3. टूल बार में "सीरियल" बटन पर क्लिक करके CloudX सीरियल टर्मिनल शुरू करें

4. वांछित पोर्ट और बॉड दर चुनें (इस ट्यूटोरियल में 9600)

5. कनेक्ट पर क्लिक करके टर्मिनल शुरू करें (यदि आप छोड़ना चाहते हैं तो डिस्कनेक्ट करें)

6. पोर्ट के खुले/जुड़े होने के साथ, बटन को अपनी इच्छा के अनुसार पल-पल पुश करें और आप टर्मिनल विंडो पर सीरियल आउटपुट देखेंगे। ध्यान दें कि यदि आपके पास कोड से देरी है, तो आप बटन से अपना हाथ हटाने से पहले सीरियल आउटपुट की कई लाइनें बिना नियंत्रण के इतनी तेजी से चलेंगे। यदि आपके कोड में किसी भी कारण से, आपको ऐसी या समान समस्या है, तो आप डीबग करने के लिए हमेशा इस विधि का उपयोग कर सकते हैं।

सिफारिश की: