serbestberdana projeyê , ku berhevkarek zimanê Go-yê ji bo deverên ku pêdivî bi nûnertiya kompakt a koda encam û xerckirina çavkaniyê kêm heye, wek mîkrokontrolker û pergalên yek-prosesorê yên kompakt çêdike. Navê dizî di bin lîsansa BSD de.
Berhevkirin ji bo platformên cihêreng ên armancê bi karanîna LLVM-ê tête bicîh kirin, û pirtûkxaneyên ku di amûra sereke ya projeya Go de têne bikar anîn ji bo piştgirîkirina ziman têne bikar anîn. Bernameya berhevkirî dikare rasterast li ser mîkrokontrolkeran were xebitandin, ku dihêle Go wekî zimanek ji bo nivîsandina nivîsarên otomasyonê were bikar anîn.
Motivasyona afirandina projeyek nû xwestina karanîna zimanê Go-ya naskirî li ser cîhazên kompakt bû - pêşdebiran fikirîn ku heke guhertoyek Python ji bo mîkrokontrolkeran hebe, wê hingê çima ji bo zimanê Go-ê heman rengî çê nakin. Ajotin li şûna Rust ji ber ku fêrbûna wê hêsantir e, ji bo paralelîzasyona-based korutînê piştgirî-serbixwe peyda dike, û pirtûkxaneyek standard a berfireh pêşkêşî dike ("bataryayên tê de hene").
Niha, 15 modelên mîkrokontrolkeran têne piştgirî kirin, di nav wan de panelên cûrbecûr ji Adafruit, Arduino, BBC micro:bit, ST Micro, Digispark, Nordic Semiconductor, Makerdiary, û Phytec hene. Bername dikarin ji bo xebitandina gerokê di formata WebAssembly de û wekî pelên bicîhkirî ji bo... werin berhev kirin. LinuxPiştgiriya ji bo kontrolkerên ESP8266/ESP32 , lê projeyek veqetandî tê pêşve xistin da ku piştgirî ji bo çîpa Xtensa di LLVM de zêde bike, ku hîn jî wekî bêîstiqrar tê nîşankirin û ji bo entegrasyonê bi TinyGo re ne amade ye.
Armancên sereke yên projeyê:
Piştgiriya pergalên pir-core ne di nav armancên sereke de ye,
destpêkirina bikêrhatî ya hejmareke mezin a korûtînan (destpêkirina korûtînan bixwe bi tevahî piştgirî ye), bidestxistina asta performansê ya berhevkarê referansê gc (optimîzasyon ji LLVM re maye û di hin sepanan de dibe ku Tinygo ji gc zûtir be) û temam bibe. bi hemû sepanên Go.
Cûdahiya sereke ji berhevkarek wekhev hewildanek e ku modela rêveberiya bîranîna orîjînal a Go-yê bi karanîna berhevkirina çopê biparêze û LLVM bikar bîne da ku kodek bikêr çêbike li şûna berhevkirina wê li nûneriyek C. Tinygo di heman demê de pirtûkxaneyek dema xebitandinê ya nû pêşkêşî dike ku nexşerek, pergala veqetandina bîranînê, û rêwerzên rêzê yên ji bo pergalên kompakt xweşbînkirî pêk tîne. Hin pakêt, wekî hevdengkirin û ravekirin, li ser bingeha dema xebitandina nû ji nû ve hatine afirandin.
Di nav guhertinên di berdana 0.7 de pêkanîna fermana "testa tinygo", peydakirina piştgiriya berhevkirina çopê ji bo piraniya panelên armanc (li ser bingeha ARM Cortex-M) û WebAssembly, piştgirî ji bo panela HiFive1 rev B ya li ser bingeha RISC- Mîmariya V û panela Arduino nano33,
Piştgiriya zimanî ya pêşkeftî (piştgiriya zeviyên bit bi karanîna getter û setteran, piştgirî ji bo strukturên nenas).
Source: opennet.ru
