क्या मैं एसटीडी-लिंक के साथ सभी प्रकार के एसडीडी-प्रोग्रामेबल चिप्स (एआरएम-एमसीयू) प्रोग्राम कर सकता हूं?
क्या मैं एसटीडी-लिंक के साथ सभी प्रकार के एसडीडी-प्रोग्रामेबल चिप्स (एआरएम-एमसीयू) प्रोग्राम कर सकता हूं?
जवाबों:
आप सेंट-लिंक को फ्लैश भी कर सकते हैं और इसे ब्लैक मैजिक जांच में बदल सकते हैं । वही इमेज ब्लू पिल को BMP में भी बदल देगी ।
मैंने दोनों किया है। ब्लू पिल का यह फायदा है कि BMP एक्सपोर्ट करने वाला usb-rs232 आसानी से उपलब्ध हो जाता है।
बीएमपी शामिल करने के लिए चिप्स की एक श्रृंखला का समर्थन करता है, लेकिन यह सीमित नहीं है:
एसटी माइक्रोइलेक्ट्रॉनिक STM32F0, STM32F1, STM32F2, STM32F4, STM32F4, STM32L7, STM32L0, STM32L4
Atmel SAM3N, SAM3X4, SAM332S1
नॉर्डिक nRF51, nRF52 (यही कारण है कि मैं बीएमपी का उपयोग करता हूं)
बीएमपी खुला स्रोत है, व्यावसायिक प्रोग्रामिंग के लिए इस्तेमाल किया जा सकता है और हार्डवेयर सस्ता हो सकता है ("असली" बीएमपी की लागत $ 60 के आसपास है, अमेज़ॅन से एक नीली गोली 5 पैक $ 20 से कम भेज दिया गया था)।
मौजूदा उत्तर में जोड़ने के लिए; कुछ चिप्स ST-LINK और OpenOCD के साथ ठीक से काम नहीं करने के लिए जाने जाते हैं ।
विशेष रूप से, यदि आपका लक्ष्य MCUs के Atmel SAMD21 परिवार से है, तो आपको अजीब मुद्दों में भाग लेने की संभावना है, जहां प्रोसेसर का पता चला है, लेकिन फ्लैश सेक्टर को मिटाने का कोई भी प्रयास एक त्रुटि के साथ विफल हो जाता है।
कारण बल्कि शामिल है , उद्धरण के लिए:
AFAIK समस्या आधे शब्द (16-बिट) में NVMCTRL-> CTRLA रजिस्टर पर लिखें। STLink आधे शब्द मेमोरी एक्सेस को लागू नहीं करती है और OpenOCD इम्यूज़ दो बाइट ऑपरेशंस के रूप में है। दुर्भाग्यवश CTRLA रजिस्टर में कुंजी शामिल है और इसे परमाणु रूप से लिखा जाना है। यदि STLink दो बाइट्स लिखती है, तो NVM कंट्रोलर STATUS में PROGE बिट सेट करता है: "एक अवैध कमांड और / या एक बुरा कीवर्ड NVM कमांड रजिस्टर में लिखा गया था"
वर्कअराउंड में OpenOCD को कोड पैच के साथ recompiling करना शामिल है। मज़ा नहीं।
हालाँकि, अगर आपको अपने ST-Link (किसी अन्य ST-Link के माध्यम से) चमकाने में कोई आपत्ति नहीं है, तो आप इसे CMSIS-DAP एडेप्टर में बदल सकते हैं , जो SAMD के साथ ठीक काम करता है और STM32 और अन्य Cortex-M के साथ भी काम करना चाहिए चिप्स।
हां, मेरा मानना है कि यह संभव है, हालांकि मैंने इसकी कोशिश नहीं की है। आप एसटी लाइसेंस समझौते के उल्लंघन की संभावना होगी, यदि आपने एसटी के अलावा अन्य प्रोग्रामिंग उपकरणों की कोशिश की
एक उदाहरण के रूप में सेगर (डिबगर और प्रोग्रामर में बाजार के नेताओं में से एक) आपके एसटी-लिंक को जे-लिंक (अनिवार्य रूप से एसगर्स कोड के साथ एसटी-लिंक चिप को ओवरराइट करने) का समर्थन करता है। यह भी प्रतिवर्ती है, इसलिए यदि आप अपने एसटी-लिंक डिवाइस को उसके मूल स्वरूप में वापस लाना चाहते हैं तो आप कर सकते हैं।
हालांकि एसटी-लिंक के कई संस्करण हैं। निम्नलिखित लिंक पर एक नज़र डालें जो आगे की जानकारी और ऐसा करने के बारे में एक मार्गदर्शिका प्रदान करते हैं।
https://www.segger.com/jlink-st-link.html
https://www.segger.com/jlink-ob.html
हाँ, यह मुमकिन है। मैं कोक्लोक्स IDE के साथ stlink v2 (मूल, साथ ही चीनी यूएसबी स्टिक टाइप क्लोन) का उपयोग कर रहा हूं। Coocox में स्टैंडअलोन प्रोग्रामर ऐप - CoFlash भी है , जिसका इस्तेमाल बहुत सारे चिप्स को प्रोग्राम करने के लिए किया जा सकता है। मेरे पास केवल दो श्रृंखलाओं के साथ अनुभव है: LPC176x और LPC175x, SWD इंटरफ़ेस पर। और मैं उन चिप्स के साथ कोई समस्या नहीं है। मैंने प्रोग्रामर के लिए कोई भी विशिष्ट परिवर्तन या अपडेट नहीं किया है (सिवाय इसके कि मूल सेंट लिंक को टीवीसीसी (पिन 1) में उच्च वोल्टेज स्तर की आवश्यकता हो, अन्यथा, यह प्रोग्राम चिप करने की अनुमति नहीं देता है, इसलिए मैं सीधे 19 पिन से जुड़ा हुआ हूं) (3.3vcc) स्टिंक v2 पर 1 पिन करने के लिए)।
हाल ही में फर्मवेयर के साथ एक STLink V2 / V2.1 या V3 का उपयोग पीसी-होस्टेड के साथ भी किया जा सकता है Blackmagic PC-stlinkv2 मंच। "Make PROBE_HOST = pc-stlinkv2" के साथ संकलित करें, "blacklife_stlinkv2" के साथ डिबग सर्वर शुरू करें और "blacklife_stlinkv2" के साथ gdb में 2000 कनेक्ट करें या बायनेरिज़ सीधे लोड करें। यह उन सभी लक्ष्यों के साथ काम करता है जो बीएमपी जानता है। हालांकि V3 सक्रिय रूप से गैर-एसटी लक्ष्य पर काम करने से इनकार करता है, जबकि V2 परवाह नहीं करता है।