TinyGo - LLVM-आधारित छोटा Go कंपाइलर
(github.com/tinygo-org)- माइक्रोकंट्रोलर, WebAssembly(WASM/WASI) और CLI टूल्स आदि में उपयोग किया जा सकता है
- अधिकांश standard library पैकेजों को सपोर्ट करता है और बिना किसी संशोधन के Go कोड को कंपाइल कर सकता है
- LLVM का आंतरिक रूप से उपयोग करके छोटा और efficient कोड तैयार करता है
- बेहतरीन CGo सपोर्ट
4 टिप्पणियां
जब मैंने TinyGo को Arduino nano 33 बोर्डों (nrf52-आधारित या nano 33 iot) पर इस्तेमाल करके देखा, तो बुनियादी फीचर काफ़ी अच्छी तरह काम कर रहे थे (हालाँकि BLE bonding काम नहीं कर रही थी...)
मेरे हिसाब से भी इसे commercial use के लिए इस्तेमाल करना मुश्किल है, लेकिन फिर भी उम्मीद से बेहतर Go channels चल रहे थे, इसलिए मज़े के लिए कुछ करने लायक यह ठीक लगा।
आजकल firmware के लिए Zephyr RTOS (c/c++) काफ़ी अच्छा विकल्प लग सकता है; फिलहाल इसे Linux Foundation का support मिल रहा है, Nordic Semi इसे अपने मुख्य RTOS के तौर पर गंभीरता से इस्तेमाल कर रहा है, और विभिन्न protocol support व tooling इसकी बड़ी ताकत हैं।
Rust के मामले में सुना है कि अक्सर
no_stdके साथ काम करना पड़ता है, इसलिए यह आसान नहीं होता, लेकिन मैंने खुद इसे वास्तव में लागू करके नहीं देखा, इसलिए मुझे भी जिज्ञासा है, हाहासमर्थित MCU थोड़े सीमित हैं, और जो STM, NXP, TI product families काफी व्यापक रूप से इस्तेमाल होती हैं, उनके support की स्थिति भी कुछ खास अच्छी नहीं लगती है.
Esp32 में Wi‑Fi और Bluetooth काम नहीं करते, और अभी इसे production-ready कहने के लिए थोड़ा कमज़ोर सा लगता है.
व्यक्तिगत रूप से, ऐसे modern language के MCU application projects में मुझे embedded में Rust सबसे ज़्यादा उम्मीद जगाने वाला लगता है.
नमस्ते, रास्ते में आपने जो बात कही वह दिलचस्प लगी, इसलिए एक सवाल पूछ रहा हूँ.
पहले C में firmware पढ़ने और लिखने का अनुभव रहा है (stm, ti), लेकिन यह मेरे स्वभाव के अनुकूल नहीं था, इसलिए छोड़ दिया. अब काफी समय बीत जाने के बाद मैं इस क्षेत्र को फिर से थोड़ा अधिक modern तरीके से पढ़ना चाहता हूँ.
क्या firmware में Rust फिर भी ट्रेंड के थोड़ा अधिक करीब होगा?
फ़र्मवेयर में Rust का उपयोग अभी निश्चित रूप से production ready है~~~ ऐसा कहना मुश्किल है। लेकिन यह बहुत तेज़ी से support किए जा सकने वाले devices की coverage बढ़ा रहा है..
दिलचस्प खबर यह भी है कि हाल ही में शायद AutoSAR standard में Rust को सूची में शामिल करने की तैयारी जैसी किसी बैठक की बात भी सामने आई थी..
फ़र्मवेयर क्षेत्र में, खास operating environment की वजह से unmanaged memory से जुड़ा bug फूट जाए तो उसका असर घातक हो सकता है..
फ़र्मवेयर के MCU पक्ष में
software emulation in embedded, perfect unit testing without boards
जैसे विषय seminar में काफी प्रस्तुत किए जाते हैं..
advanced topic के तौर पर onnx in mcu तक कहा जा सकता है ??