एलएलव्हीएमवर आधारित टिन्इगो एक गो भाषा संकलक

टिनिगो हा एक प्रकल्प आहे ज्यात "गो" भाषेचे कंपाईलर विकसित केले आहे परिणामी कोडचे कॉम्पॅक्ट प्रतिनिधित्व आणि कमी स्त्रोत वापराची आवश्यकता असलेल्या भागासाठीजसे की मायक्रोकंट्रोलर आणि कॉम्पॅक्ट सिंगल प्रोसेसर सिस्टम. कोड बीएसडी परवान्याअंतर्गत वितरीत करण्यात आला आहे.

एकाधिक लक्ष्य प्लॅटफॉर्मसाठी तयार करा हे एलएलव्हीएम वापरून आणि भाषेस समर्थन देण्यासाठी लागू केले आहे, लायब्ररी वापरल्या जातात ज्या प्रामुख्याने गो प्रकल्प साधनाद्वारे वापरल्या जातात. कंपाईल केलेला प्रोग्राम थेट मायक्रोकंट्रोलरवर चालविला जाऊ शकतो, आपणास ऑटोमेशन स्क्रिप्ट लिहिण्यासाठी एक भाषा म्हणून गो वापरण्याची परवानगी दिली जाईल.

टिनिगो बद्दल

टिनीगो प्रोजेक्ट तयार करण्याचे कारण कॉम्पॅक्ट उपकरणांमध्ये गो भाषा सामान्य वापरण्याची इच्छा होती- विकसकांचा असा तर्क आहे की जर मायक्रोकंट्रोलरसाठी पायथनची आवृत्ती असेल तर गो भाषेसाठी समान तयार का करू नये?

शिकणे सोपे असल्याने रस्टऐवजी गो निवडले गेले आहे, थ्रेड-स्वतंत्र समर्थनासाठी कोरेगेशन-आधारित समर्थन प्रदान करते आणि विस्तृत प्रमाणित लायब्ररी ऑफर करते ("बॅटरी समाविष्ट").

सद्य फॉर्ममध्ये, 15 अ‍ॅडफ्रूट, अर्डिनो, बीबीसी मायक्रो, बिट, एसटी मायक्रो, डिजिसपार्क, नॉर्डिक सेमीकंडक्टर, मेकरॅडियरी आणि फिटेक बोर्ड यासह XNUMX मायक्रोकंट्रोलर मॉडेल्स समर्थित आहेत.

ब्राउझरमध्ये वेब आवृत्ती स्वरूपात आणि लिनक्ससाठी एक्जीक्यूटेबल फायली म्हणून चालवण्यासाठी प्रोग्राम देखील तयार केले जाऊ शकतात.

ईएसपी 8266२32 / ईएसपी control२ नियंत्रकांसाठी अद्याप समर्थन नाही, परंतु एलएलव्हीएममधील एक्सटेन्सा चिपसाठी समर्थन जोडण्यासाठी एक प्रकल्प प्रगतीपथावर आहे, जो अद्याप टिकीगो एकत्रीकरणासाठी अस्थिर म्हणून चिन्हांकित आहे आणि तयार नाही.

प्रकल्पाची प्रमुख उद्दिष्ट्ये:

  • अतिशय कॉम्पॅक्ट एक्झिक्युटेबलची निर्मिती
  • मायक्रोकंट्रोलर बोर्डच्या सर्वात सामान्य मॉडेलसाठी समर्थन
  • वेब वापरण्याची शक्यता
  • सी फंक्शन्स कॉल करताना कमीतकमी ओव्हरहेडसह सीजीओ समर्थन
  • बर्‍याच मानक पॅकेजेस आणि विद्यमान टिपिकल कोडमध्ये बदल न करता संकलित करण्याची क्षमता समर्थन.

मल्टी-कोर सिस्टमकरिता समर्थन हे मुख्य लक्ष्यांपैकी एक नाही, मोठ्या संख्येने कॉरटिनची प्रभावी रीलीझ (फॉरेन्सिक रीलिझ स्वतःच पूर्णपणे समर्थीत आहे), जीसी बेंचमार्क कंपाईलरची कार्यक्षमता पातळी गाठणे (ऑप्टिमायझेशन ते एलएलव्हीएमवर परत आले आहे) आणि काही अनुप्रयोगांमध्ये टिनिगो जीसीपेक्षा वेगवान असू शकतो) आणि गो मधील सर्व अनुप्रयोगांसह संपूर्ण सुसंगतता.

इम्गो कंपाईलरमध्ये मुख्य फरक म्हणजे कचरा संग्रहकर्ता वापरुन गो चे मूळ मेमरी मॅनेजमेंट मॉडेल जतन करण्याचा प्रयत्न करणे आणि एल प्रतिनिधित्त्व सी मध्ये सादर करण्याऐवजी कार्यक्षम कोड व्युत्पन्न करण्यासाठी एलएलव्हीएमचा वापर करणे.

टिनिगो एक नवीन रनटाइम लायब्ररी देखील प्रदान करते जी कॉम्पॅक्ट सिस्टमसाठी ऑप्टिमाइझ शेड्युलर लागू करते., मेमरी allocलोकेशन सिस्टम आणि स्ट्रिंग कंट्रोलर्स. नवीन रनटाइमवर आधारित, काही पॅकेजेस पुन्हा तयार केली गेली, जसे की समक्रमण आणि मिररिंग.

टिनिगो आवृत्ती 0.7 बद्दल

टिनिगो सध्या त्याच्या आवृत्ती 0.7 मध्ये आहे आणि उल्लेख केलेल्या मुख्य बदलांच्या या आवृत्तीमध्ये आहे तेथे कचरा गोळा करण्याचे समर्थन पुरवणार्‍या "टिन्इगो टेस्ट" कमांडची अंमलबजावणी होते बर्‍याच लक्ष्य बोर्डांसाठी (एआरएम कॉर्टेक्स-एम वर आधारित) आणि वेबएस्केपल, जे आरआयएससी-व्ही आर्किटेक्चर आणि आर्डिनो नॅनो 1 बोर्डवर आधारित हायफाइव्ह 33 रेव्ह बी चे समर्थन करते, हे भाषेची सुसंगतता सुधारित करते (गेटर आणि सेटर वापरुन बिट फील्डसाठी समर्थन, अज्ञात रचनांसाठी समर्थन).

उबंटू आणि डेरिव्हेटिव्ह्जवर टिनिएगो कसे स्थापित करावे?

ज्यांना स्वारस्य आहे त्यांच्यासाठी, डेबियन, रास्पबियन, उबंटू आणि डेरिव्हेटिव्ह्जवर टिनिगो स्थापित करण्यात सक्षम व्हा. त्यांनी टर्मिनल उघडले पाहिजे आणि त्यात आपण पुढील आज्ञा कार्यान्वित करणार आहोत.

wget https://github.com/tinygo-org/tinygo/releases/download/v0.7.0/tinygo_0.7.0_amd64.deb

sudo dpkg -i tinygo_0.7.0_amd64.deb

एआरएम उपकरणांसाठी सिस्टमच्या विशेष बाबतीत (रास्पबियन आणि उबंटू आवृत्त्या)

आम्ही खाली टाइप करणार आहोत.

wget https://github.com/tinygo-org/tinygo/releases/download/v0.7.0/tinygo_0.7.0_armhf.deb

sudo dpkg -i tinygo_0.7.0_armhf.deb

आपण स्थापना पूर्ण केल्यानंतर, टिनीगो पथ त्यांच्या पथात आहे याची खात्री करुन घ्यावी.

export PATH=$PATH:/usr/local/tinygo/bin

शेवटी, इन्स्टॉलेशन सत्यापित करण्यासाठी आपण पुढील कमांड टाईप करणार आहोत.

tinygo versión

आणि त्याने आपल्याला असे काहीतरी फेकले पाहिजे

tinygo version 0.7.0 linux/amd64

त्याबद्दल अधिक जाणून घेण्यासाठी आपण सल्ला घेऊ शकता खालील दुवा. 


आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटा जबाबदार: मिगुएल Áन्गल गॅटन
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.