विषयसूची:

एक CFA735/CFA835 हैक करें: 4 कदम
एक CFA735/CFA835 हैक करें: 4 कदम

वीडियो: एक CFA735/CFA835 हैक करें: 4 कदम

वीडियो: एक CFA735/CFA835 हैक करें: 4 कदम
वीडियो: 10 FREE Online Courses From Harvard University That Can Pay You US$6,000 A Month With A Side Hustle 2024, नवंबर
Anonim
एक CFA735/CFA835 हैक करें
एक CFA735/CFA835 हैक करें

क्या आपके पास एक ऐसा प्रोजेक्ट है जिसके लिए एक डिस्प्ले, एक की पैड और कुछ मेमोरी की आवश्यकता है, लेकिन क्रिस्टलफॉन्ट्ज CFA735 या CFA835 मॉड्यूल पर प्रीलोडेड फर्मवेयर वह नहीं है जिसकी आप तलाश कर रहे हैं? आप भाग्यशाली हैं - आप कस्टम फर्मवेयर लोड करने के लिए इन मॉड्यूल को हैक कर सकते हैं।

CFA735 और CFA835 बहुमुखी बुद्धिमान एलसीडी मॉड्यूल हैं। क्रिस्टलफोंट्ज़ CFA735 और CFA835 दोनों ही CFA10052 हार्डवेयर मॉड्यूल पर आधारित हैं, इसलिए इस ट्यूटोरियल के दौरान CFA735 और/या CFA835 को CFA10052 के रूप में संदर्भित किया जाएगा। CFA10052 को आपके स्वयं के कस्टम फर्मवेयर को चलाने के लिए पुन: प्रोग्राम किया जा सकता है।

  • STMicroelectronics STM32F401 माइक्रोकंट्रोलर
  • एआरएम 32-बिट कोर्टेक्स™-एम4 सीपीयू @ 84 मेगाहर्ट्ज
  • 256K फ्लैश, 64K रैम
  • 244 x 68 पिक्सेल बैकलिट एलसीडी
  • सिट्रोनिक्स ST7529 32 ग्रेस्केल ग्राफिक एलसीडी कंट्रोलर
  • बक-बूस्ट स्विचिंग आपूर्ति व्यापक आपूर्ति वोल्टेज रेंज की अनुमति देती है
  • कीपैड और एलसीडी बैकलाइट के लिए अलग स्विचिंग एलईडी चमक नियंत्रक
  • 6 बटन बैकलिट कीपैड
  • 4x द्वि-रंग (लाल/हरा) एल ई डी
  • USB2 इंटरफ़ेस
  • माइक्रोएसडी कार्ड स्लॉट
  • 5 सामान्य प्रयोजन आईओ पिन (जीपीआईओ)
  • एकाधिक सीरियल/एसपीआई/आई2सी/कैन इंटरफेस (जीपीआईओ उपयोग के आधार पर)।

यह ट्यूटोरियल आपको दिखाएगा कि CFA10052 पर आने वाले फर्मवेयर को नए फर्मवेयर से कैसे बदला जाए:

  1. एलसीडी पर एक वैकल्पिक ग्रिड प्रदर्शित करें, वर्तमान बैकलाइट्स, एलसीडी कंट्रास्ट और कीपैड स्थिति की जानकारी के साथ;
  2. कीपैड का उपयोग करके बैकलाइट और एलसीडी कंट्रास्ट को नियंत्रित करें।
  3. चार एल ई डी के रंग को क्रम से लाल से हरे रंग में बदलें।
  4. हैडर -1 पिन 1 और 2 (115200 बॉड) पर USART सीरियल पोर्ट को सक्षम करें, और किसी भी प्राप्त डेटा को प्रतिध्वनित करें।
  5. USB वर्चुअल सीरियल पोर्ट को सक्षम करें, और किसी भी प्राप्त डेटा को होस्ट पर वापस प्रतिध्वनित करें।
  6. शामिल है, लेकिन प्रदर्शित नहीं करता है, यूएसडी फ़ाइल एक्सेस को पढ़ता/लिखता है।

बेशक, आप अपना खुद का फर्मवेयर लिख सकते हैं और इन चरणों का उपयोग करके इसे लोड कर सकते हैं।

महत्वपूर्ण लेख:

क्रिस्टलफोंट्ज़ CFA10052 हार्डवेयर मॉड्यूल जहाजों को बूटलोडर और CFA735/CFA835 फर्मवेयर के साथ प्रोग्राम किया गया। बूटलोडर और CFA735/CFA835 फर्मवेयर ओपन-सोर्स नहीं हैं, और उपयोगकर्ता द्वारा CFA10052 से कॉपी नहीं किया जा सकता है, न ही उन्हें उपयोगकर्ता द्वारा CFA10052 पर प्रोग्राम किया जा सकता है। यदि आप अंत में CFA735/CFA835 फर्मवेयर पर वापस जाना चाहते हैं, तो आपको इसे फिर से प्रोग्राम करने के लिए इसे वापस क्रिस्टलफोंटज़ पर भेजना होगा।

आपूर्ति

  • क्रिस्टलफोंट्ज़ CFA10052 (हार्डवेयर v1.1 या बाद का) मॉड्यूल (CFA735 / CFA835)
  • पीसी (विंडोज/लिनक्स/ओएसएक्स) एसटीएम 32 क्यूबाइड और एसटीएम 32 एसटी-लिंक उपयोगिता के साथ स्थापित
  • STMicroelectronics ST-LINK (V2 या V3) प्रोग्रामिंग इंटरफ़ेस
  • CFA10052 प्रोग्रामिंग केबल (विवरण नीचे)
  • कस्टम फर्मवेयर (या हमारे यहां उपयोग करें)
  • यदि आप विंडोज 7/8/8.1/10 (या समकक्ष सर्वर संस्करण) का उपयोग कर रहे हैं और यूएसबी वर्चुअल सीरियल पोर्ट का परीक्षण करना चाहते हैं, तो आपको यहां से ड्राइवरों को डाउनलोड करना होगा। यूएसबी सीरियल पोर्ट विंडोज 10+, लिनक्स, ओएस-एक्स पर अतिरिक्त ड्राइवरों की आवश्यकता के बिना काम करेगा।

चरण 1: आपूर्ति एकत्र करें / बनाएं

आपूर्ति इकट्ठा / बनाएँ
आपूर्ति इकट्ठा / बनाएँ

हम इस उदाहरण फर्मवेयर प्रोजेक्ट को लोड करने और उपयोग करने के लिए STM32CubeIDE का उपयोग करने की सलाह देते हैं। STM32CubeIDE ग्रहण पर आधारित एक निःशुल्क IDE है जिसे STM32 विशिष्ट उपकरणों को शामिल करने के लिए STMicroelectronics द्वारा संशोधित किया गया है। आईडीई को STM32CubeIDE वेबपेज पर डाउनलोड किया जा सकता है।

STM डिवाइस कॉन्फ़िगरेशन टूल के सही संचालन को बनाए रखने के लिए, आपको केवल "USER CODE BEGIN xxx" और "USER CODE END xxx" कमेंट ब्लॉक के बीच डिवाइस कॉन्फ़िगरेशन टूल बनाए गए स्रोत-कोड को संपादित करना होगा।

इसके बाद, तय करें कि CFA10052 प्रोग्रामिंग केबल के लिए हमसे संपर्क करना है या अपना खुद का बनाना है। हम इस ट्यूटोरियल में विस्तार से केबल बनाने के बारे में नहीं जा रहे हैं, लेकिन यदि आप अपना स्वयं का CFA10052 प्रोग्रामिंग केबल बनाना चाहते हैं, तो आप GitHub पेज पर कनेक्शन पा सकते हैं, ऐसा करने का सबसे अच्छा तरीका एक के साथ शुरू करना है। सोलह पिन रिबन केबल और इसे एसटी लिंक के लिए केबल में विभाजित करें।

चरण 2: मौजूदा फर्मवेयर मिटाएं

मौजूदा फर्मवेयर मिटाएं
मौजूदा फर्मवेयर मिटाएं
मौजूदा फर्मवेयर मिटाएं
मौजूदा फर्मवेयर मिटाएं

यदि आपका CFA10052 मॉड्यूल आपूर्ति किए गए CFA735 या CFA835 फर्मवेयर के साथ लोड किया गया है, तो आपको नया फर्मवेयर स्थापित करने से पहले पहले बाहर निकलने वाले फर्मवेयर को मिटाना होगा। फ्लैश मेमोरी को पढ़ा और लिखा जाता है संरक्षित और कस्टम फर्मवेयर लोड होने से पहले इसे हटाया जाना चाहिए।

स्थापित फर्मवेयर को हटाने के दो तरीके हैं:

  1. CFA10052 मॉड्यूल से USB केबल (या बिजली की आपूर्ति) को डिस्कनेक्ट करें।
  2. प्रोग्रामिंग केबल (ऊपर देखें), और होस्ट पीसी के लिए एसटी-लिंक का उपयोग करके सीएफए 10052 को एसटी-लिंक से कनेक्ट करें।
  3. USB केबल को CFA10052 (या बिजली की आपूर्ति) में प्लग करते समय CFA10052 पर ऊपर और नीचे कीज़ को दबाए रखें। CFA10052 को अब क्रिस्टलफोंटज़ बूटलोडर स्क्रीन दिखाना चाहिए।
  4. STM32 ST-LINK उपयोगिता चलाएँ। "लक्ष्य" मेनू में, "विकल्प बाइट्स" विंडो खोलें। "रीड आउट प्रोटेक्शन" बॉक्स में, "लेवल 0" चुनें। अप्लाई पर क्लिक करें। क्रिस्टलफोंट्ज फर्मवेयर अब हटा दिया गया है और कोई भी कस्टम फर्मवेयर अब प्रोग्राम किया जा सकता है।

वैकल्पिक विधि (यदि आप कुंजियाँ पकड़कर क्रिस्टलफोंट्ज़ बूटलोडर में प्रवेश नहीं कर सकते हैं):

  1. CFA10052 मॉड्यूल से USB केबल (या बिजली की आपूर्ति) को डिस्कनेक्ट करें।
  2. BOOT0 टेस्ट-पॉइंट (CFA10052 मॉड्यूल के पीछे एक छोटा पैड, H1 कनेक्टर के पास) को 3.3V या 5V से कनेक्ट करें।
  3. प्रोग्रामिंग केबल (ऊपर देखें) का उपयोग करके CFA10052 को एसटी-लिंक से और एसटी-लिंक को होस्ट पीसी से कनेक्ट करें।
  4. CFA10052 चालू करें (या इसे USB पावर से कनेक्ट करें)। डिस्प्ले खाली होना चाहिए।
  5. STM32 ST-LINK यूटिलिटी चलाएँ। "टारगेट" मेनू में, "ऑप्शन बाइट्स" विंडो खोलें। "रीड आउट प्रोटेक्शन" बॉक्स में, "लेवल 0" चुनें। अप्लाई पर क्लिक करें। क्रिस्टलफोंट्ज फर्मवेयर अब हटा दिया गया है और कोई भी कस्टम फर्मवेयर अब प्रोग्राम किया जा सकता है।
  6. BOOT0 पिन को 3.3V/5V से जोड़ने की अब आवश्यकता नहीं है।

चरण 3: अपने फर्मवेयर को CFA10052 पर संकलित करें और लोड करें

अपने फर्मवेयर को CFA10052 पर संकलित करें और लोड करें
अपने फर्मवेयर को CFA10052 पर संकलित करें और लोड करें

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

फर्मवेयर संकलित करने के लिए:

  1. STM32CubeIDE खोलें
  2. फ़ाइल मेनू में, आयात चुनें, फिर "कार्यस्थान में मौजूदा प्रोजेक्ट आयात करें"।
  3. रूट निर्देशिका बॉक्स में, इस उदाहरण फर्मवेयर की निर्देशिका का चयन करें।
  4. समाप्त बटन पर क्लिक करें।
  5. प्रोजेक्ट एक्सप्लोरर में, cfa10052_example प्रोजेक्ट चुनें, फिर Src, और "main.c" फ़ाइल खोलें।
  6. प्रोजेक्ट मेनू में, "बिल्ड प्रोजेक्ट" चुनें।

CFA10052 पर फर्मवेयर प्रोग्राम और चलाने के लिए:

  1. CFA10052 मॉड्यूल से USB केबल (या बिजली की आपूर्ति) को डिस्कनेक्ट करें।
  2. प्रोग्रामिंग केबल (ऊपर देखें) का उपयोग करके CFA10052 को एसटी-लिंक से और एसटी-लिंक को होस्ट पीसी से कनेक्ट करें।
  3. USB केबल (या बिजली की आपूर्ति) को CFA10052 से कनेक्ट करें।
  4. सुनिश्चित करें कि फर्मवेयर प्रोजेक्ट बनाया गया है (ऊपर दिए गए चरण देखें), और प्रोजेक्ट एक्सप्लोरर में "बायनेरिज़" "cfa10052_example" के अंतर्गत दिखाई देता है।
  5. यदि "बायनेरिज़" दिखाई नहीं दे रहा है, तो "cfa10052_example" प्रोजेक्ट पर राइट-क्लिक करें और रीफ़्रेश करें चुनें।
  6. रन मेनू का चयन करें, फिर "डीबग कॉन्फ़िगरेशन"।
  7. डिबग लक्ष्य प्रकार चयन बॉक्स में बाईं ओर, "STM32 Cortex-M एप्लिकेशन" पर राइट-क्लिक करें, और "नया कॉन्फ़िगरेशन" चुनें।
  8. एक कॉन्फ़िगरेशन विंडो दिखाई जाएगी। डिफ़ॉल्ट सेटिंग्स ठीक हैं। लागू करें और फिर बंद करें बटन पर क्लिक करें।
  9. रन मेनू में, "डीबग अस", फिर "एसटीएम 32 कॉर्टेक्स एप्लिकेशन" चुनें। STM32CubeIDE को अब ST-LINK से कनेक्ट होना चाहिए, और फर्मवेयर को CFA10052 पर अपलोड और चलाना चाहिए।

उपरोक्त चरण केवल STM32CubeIDE में पहली बार प्रोजेक्ट लोड करने के लिए आवश्यक हैं। फर्मवेयर स्रोत-कोड परिवर्तन किए जाने के बाद, केवल प्रोजेक्ट (Ctrl-B शॉर्टकट) को फिर से बनाने और CFA10052 (F11 कुंजी शॉर्टकट) को प्रोग्रामिंग करने की आवश्यकता है।

फर्मवेयर को किसी भी सामान्य एसटीएम 32 बूटलोडर विधियों के माध्यम से भी लोड किया जा सकता है (डीबगिंग केवल एसडब्ल्यूडी इंटरफेस और एसटी-लिंक का उपयोग करके उपलब्ध है)। उदाहरण के लिए, यदि सीरियल कनेक्शन का उपयोग कर रहे हैं, तो USART1 का उपयोग किया जा सकता है (RX=H1-Pin1 और TX=H1-Pin2)। STM32 बूटलोडर और इंटरफेस के बारे में अधिक विस्तृत जानकारी के लिए, पीडीएफ यहां देखें।

चरण 4: लाइसेंस

क्रिस्टलफोंट्ज़ द्वारा आपूर्ति किए गए स्रोत-कोड को अनलाइसेंस का उपयोग करके प्रदान किया जाता है, बिना किसी शर्त के एक लाइसेंस जो सार्वजनिक डोमेन के लिए काम करता है। बिना लाइसेंस वाले कार्य, संशोधन और बड़े कार्य विभिन्न शर्तों के तहत और स्रोत कोड के बिना वितरित किए जा सकते हैं। विवरण के लिए UNLICENCE फ़ाइल, या unlicense.org देखें।

STM32CubeIDE ने स्रोत-कोड बनाया और STMicroelectronics पुस्तकालय कॉपीराइट (c) 2019 STMicroelectronics हैं। सर्वाधिकार सुरक्षित। सॉफ्टवेयर घटक एसटी द्वारा बीएसडी 3-क्लॉज लाइसेंस, "लाइसेंस" के तहत लाइसेंस प्राप्त है; आप लाइसेंस के अनुपालन के अलावा इन फ़ाइलों का उपयोग नहीं कर सकते हैं। आप लाइसेंस की एक प्रति opensource.org/licenses/BSD-3-Clause पर प्राप्त कर सकते हैं।

सिफारिश की: