Төрөл бүрийн зорилтот платформуудын эмхэтгэлийг LLVM ашиглан хэрэгжүүлдэг бөгөөд Go төслийн үндсэн хэрэгсэлд ашигласан номын сангуудыг хэлийг дэмжихэд ашигладаг. Эмхэтгэсэн программыг микроконтроллерууд дээр шууд ажиллуулж, Go-г автоматжуулалтын скрипт бичих хэл болгон ашиглах боломжийг олгоно.
Шинэ төсөл бий болгох сэдэл нь танил Go хэлийг авсаархан төхөөрөмж дээр ашиглах хүсэл байв - хөгжүүлэгчид микроконтроллеруудад зориулсан Python хувилбар байгаа бол Go хэлэнд ижил төстэй хувилбарыг яагаад үүсгэж болохгүй гэж хөгжүүлэгчид үзсэн. Яв
Одоогийн байдлаар Adafruit, Arduino, BBC micro:bit, ST Micro, Digispark, Nordic Semiconductor, Makerdiary, Phytec зэрэг олон төрлийн самбаруудыг багтаасан 15 микроконтроллерийн загварыг дэмждэг. Хөтөлбөрүүдийг хөтчөөр WebAssembly форматаар ажиллуулахаар хөрвүүлж, Линукс дээр ажиллах боломжтой. ESP8266/ESP32 хянагчуудыг дэмждэг
Төслийн гол зорилго:
Олон цөмт системийг дэмжих нь гол зорилтуудын нэг биш юм.
асар олон тооны корутиныг үр ашигтай ажиллуулах (корутиныг эхлүүлэх нь өөрөө бүрэн дэмжигддэг), gc лавлах хөрвүүлэгчийн гүйцэтгэлийн түвшинд хүрэх (оновчлолыг LLVM-д үлдээсэн бөгөөд зарим програмуудад Tinygo нь gc-ээс хурдан байж болно) болон бүрэн гүйцэд
Ижил төстэй хөрвүүлэгчээс гол ялгаа нь
0.7 хувилбарт гарсан өөрчлөлтүүдийн дунд "tinygo test" командыг хэрэгжүүлэх, ихэнх зорилтот самбаруудад хог цуглуулах дэмжлэг (ARM Cortex-M дээр суурилсан) болон WebAssembly, RISC- дээр суурилсан HiFive1 rev B самбарыг дэмжих зэрэг орно. V архитектур ба Arduino nano33 самбар,
сайжруулсан хэлний дэмжлэг (гетер болон тохируулагч ашиглан бит талбаруудыг дэмжих, нэргүй бүтцийг дэмжих).
Эх сурвалж: opennet.ru