tinyGO See on projekt milles töötatakse välja "Go" keelekompilaator piirkondadest, mis nõuavad saadud koodi kompaktset esitamist ja ressursside väikest tarbimistnagu mikrokontrollerid ja kompaktne ühe protsessoriga süsteem. Koodi levitatakse BSD litsentsi alusel.
Ehitamine mitme sihtplatvormi jaoks Seda rakendatakse LLVM-i abil ja keele toetamiseks kasutatakse raamatukogusid, mida kasutavad peamiselt Go-projekti tööriistad. Koostatud programmi saab käivitada otse mikrokontrollerites, mis võimaldab teil Go-d kasutada automatiseerimisskriptide kirjutamiseks.
Tinygo kohta
TinyGO projekti loomise põhjuseks oli soov kasutada kompaktsetes seadmetes levinud Go keelt- Arendajad põhjendasid, et kui mikrokontrollerite jaoks on olemas Pythoni versioon, siis miks mitte luua Go-i jaoks sarnane versioon?
Rooste asemel valitakse Go, kuna seda on lihtsam õppida pakub lainepõhist tuge niidist sõltumatule toele ja pakub ulatuslikku standardset teeki ("patareid komplektis").
Praegusel kujul Toetatakse 15 mikrokontrolleri mudelit, sealhulgas erinevad Adafruit, Arduino, BBC micro, bit, ST Micro, Digispark, Nordic Semiconductor, Makerdiary ja Phytec tahvlid.
Programme saab luua ka veebiversioonivormingus brauseris töötamiseks ja Linuxi käivitatavate failidena.
ESP8266 / ESP32 kontrollerid pole veel toetatud, kuid väljatöötamisel on projekt XLENSA kiibi LLVM-is lisamiseks, mis on endiselt ebastabiilne ja pole TinyGo integreerimiseks valmis.
Projekti põhieesmärgid:
- Väga kompaktsete käivitatavate failide genereerimine
- Toetus kõige tavalisematele mikrokontrollerplaatide mudelitele
- Veebi jaoks kasutamise võimalus
- C-funktsioonide kutsumisel minimaalse üldkuluga CGo tugi
- Toetus enamusele standardsetele pakettidele ja võimalus kompileerida olemasolevat tüüpilist koodi seda muutmata.
Mitmetuumaliste süsteemide tugi ei ole üks peamisi eesmärke: suure hulga korutiinide tõhus väljaandmine (kohtuekspertiisi väljaandmist ennast täielikult toetatakse), saavutage gc-viite kompilaatori jõudlustase (optimeerimine, mis on viidud LLVM-ile) ja mõnes rakenduses võib Tinygo olla kiirem kui gc) ja täielik ühilduvus kõigi Go rakendustega.
Peamine erinevus emgo kompilaatori ees on katse salvestada Go algne mäluhalduse mudel prügikollektori abil ja kasutada LLVM-i efektiivse koodi genereerimiseks, selle asemel, et see kompileerida C-esituseks.
Tinygo pakub ka uut käitamisraamatukogu, mis rakendab kompaktsete süsteemide jaoks optimeeritud ajakava., mälujaotussüsteem ja stringikontrollerid. Uue käituse põhjal loodi mõned paketid uuesti, näiteks sünkroonimine ja peegeldamine.
Teave Tinygo versiooni 0.7 kohta
Praegu on Tinygo versioonis 0.7 ja selles peamistest muudatustest, mida võib mainida on rakendatud käsk "tinygo test", mis pakub prügivedu enamiku sihtplaatide jaoks (ARM Cortex-M baasil) ja WebAssembly, mis Toetab HiFive1 rev B, mis põhineb RISC-V arhitektuuril ja Arduino nano33 plaadil, See parandab keelte ühilduvust (bittiväljade tugi gettereid ja settereid kasutades, anonüümsete struktuuride tugi).
Kuidas installida Tinygo Ubuntu ja derivaadid?
Neile, kes on huvitatud võimalusest installida Tinygo, Debianile, Raspbianile, Ubuntu ja derivaatidele. Nad peavad avama terminali ja selles täidame järgmise käsu:
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
ARM-seadmete süsteemide erijuhtumiks (Raspbian ja Ubuntu versioonid)
Me kirjutame järgmise:
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
Kui olete installimise lõpetanud, nad peaksid veenduma, et tinygo tee on nende TEEL.
export PATH=$PATH:/usr/local/tinygo/bin
Lõpuks installimise kontrollimiseks sisestame järgmise käsu:
tinygo versión
Ja ta peaks meile midagi sellist viskama
tinygo version 0.7.0 linux/amd64
Selle kohta lisateabe saamiseks võite pöörduda järgmine link.