Rust को नए प्लेटफॉर्म का आधिकारिक समर्थन मिला: अवलोकन और विवरण
Rust भाषा की डेवलपर टीम ने एक नए हार्डवेयर प्लेटफॉर्म के लिए आधिकारिक समर्थन जोड़ने की घोषणा की है। इस बार, tier 2 लक्ष्य प्लेटफॉर्म की सूची में RISC-V 32-bit बेयर-मेटल (बिना ऑपरेटिंग सिस्टम के) समर्थन वाली आर्किटेक्चर शामिल की गई है। यह एम्बेडेड डेवलपर्स और माइक्रोकंट्रोलर तथा एम्बेडेड सिस्टम के साथ काम करने वाले सभी लोगों के लिए एक महत्वपूर्ण कदम है।
वास्तव में क्या जोड़ा गया?
rustc कंपाइलर के हालिया अपडेट में एक नया लक्ष्य ट्रिपलेट जोड़ा गया: riscv32imac-unknown-none-elf। इसका मतलब है कि अब आप Rust में प्रोग्राम को 32-बिट RISC-V प्रोसेसर के लिए IMAC इंस्ट्रक्शन सेट (गुणा, परमाणु संचालन, संपीड़ित निर्देश) के साथ किसी भी ऑपरेटिंग सिस्टम से बंधे बिना कंपाइल कर सकते हैं।
इस प्लेटफॉर्म को tier 2 का दर्जा मिला है। यह निम्नलिखित की गारंटी देता है:
- Rust रिपॉजिटरी में मानक लाइब्रेरी (
coreऔरalloc) का स्वचालित निर्माण; - इस लक्ष्य के लिए कंपाइलर के आधिकारिक बाइनरी बिल्ड की उपलब्धता;
- रिपॉजिटरी में प्रत्येक कमिट पर बुनियादी परीक्षणों का पास होना;
cargo buildऔरcargo testका बॉक्स से बाहर समर्थन।
यह समुदाय के लिए क्यों महत्वपूर्ण है?
RISC-V एक ओपन इंस्ट्रक्शन सेट आर्किटेक्चर (ISA) है जो एम्बेडेड सिस्टम, IoT और यहां तक कि सर्वर समाधानों की दुनिया में तेजी से लोकप्रियता हासिल कर रहा है। अब तक, 32-बिट RISC-V के लिए Rust का समर्थन प्रयोगात्मक बिल्ड तक सीमित था या मैन्युअल कॉन्फ़िगरेशन की आवश्यकता थी। अब डेवलपर्स जटिल बिल्ड स्क्रिप्ट लिखे बिना वास्तविक माइक्रोकंट्रोलर (जैसे, Espressif, SiFive या GigaDevice के चिप्स) पर Rust का उपयोग शुरू कर सकते हैं।
यह विशेष रूप से उन परियोजनाओं के लिए प्रासंगिक है जहां सुरक्षित मेमोरी प्रबंधन और उच्च प्रदर्शन की आवश्यकता होती है - ये Rust की मजबूत विशेषताएं हैं। एम्बेडेड समुदाय लंबे समय से इस खबर का इंतजार कर रहा था, क्योंकि C और C++ लंबे समय तक RISC-V पर बेयर-मेटल प्रोग्रामिंग के लिए एकमात्र विकल्प थे।
नए प्लेटफॉर्म का उपयोग कैसे शुरू करें?
यदि आपके पास पहले से ही नवीनतम स्थिर Rust कंपाइलर स्थापित है, तो आप इस प्लेटफॉर्म के लिए एक सरल प्रोग्राम कंपाइल करने का प्रयास कर सकते हैं:
rustup target add riscv32imac-unknown-none-elfcargo new --bin my_riscv_projectcd my_riscv_project# .cargo/config.toml में निर्दिष्ट करें:# [build]# target = "riscv32imac-unknown-none-elf"cargo buildबिल्ड के बाद, आपको एक निष्पादन योग्य फ़ाइल मिलेगी जिसे संगत माइक्रोकंट्रोलर में फ्लैश किया जा सकता है। बेशक, पेरिफेरल के साथ वास्तविक काम के लिए, आपको riscv और riscv-rt (स्टार्टअप कोड) जैसे क्रेट्स की आवश्यकता होगी, जो पहले से ही crates.io पर उपलब्ध हैं।
आगे क्या?
इस प्लेटफॉर्म को जोड़ना सिस्टम प्रोग्रामिंग के क्षेत्र पर कब्जा करने की Rust की दीर्घकालिक रणनीति का हिस्सा है। डेवलपर टीम की निकट भविष्य की योजनाओं में इस प्लेटफॉर्म की स्थिति को tier 1 तक बढ़ाना शामिल है, जो पूर्ण समर्थन और बैकवर्ड संगतता की गारंटी प्रदान करेगा। साथ ही, Rust Embedded Working Group की वेबसाइट पर RISC-V के लिए आधिकारिक ट्यूटोरियल और उदाहरणों के आने की उम्मीद है।
हमारी साइट pythonlib.ru के पाठकों के लिए, यह Rust पर ध्यान देने का एक शानदार अवसर है।