Siideynta Tinygo 0.7.0, Iskuduwaha Go-ku-saleysan LLVM

La heli karo sii daynta mashruuca Tinygo 0.7.0, kaas oo horumarinaya isku-dubarid luuqadda Go ee meelaha u baahan matalaad kooban ee koodka natiijada iyo isticmaalka kheyraadka hooseeya, sida kontaroolada yaryar iyo nidaamyada hal-processor-ka kooban. Koodhka qaybiyey hoos yimaada shatiga BSD.

Isku-dubarid goobo bartilmaameedyo kala duwan ayaa la hirgeliyay iyadoo la adeegsanayo LLVM, maktabadaha lagu isticmaalo agabka ugu muhiimsan ee mashruuca Go ayaa loo isticmaalaa in lagu taageero luqadda. Barnaamijka la soo aruuriyay waxaa si toos ah loogu maamuli karaa kontaroolada yar yar, taasoo u ogolaaneysa Go in loo isticmaalo luqad ahaan qorista qoraallada iswada.

Dhiirigelinta abuurista mashruuc cusub waxay ahayd rabitaanka isticmaalka luqadda Go ee la yaqaan ee aaladaha is haysta - horumariyayaashu waxay ku sababeeyeen in haddii ay jirto nooca Python ee microcontrollers, markaa sababta aan mid la mid ah u abuurin luqadda Go. Tag la doortay Halkii laga heli lahaa miridhku sababtoo ah way fududahay in la barto, waxay siisaa taageero ka madax-bannaan dunta oo isbarbar-dhigga ku salaysan coroutin, oo waxay bixisaa maktabad heersare ah oo ballaaran ("baytariyada lagu daray").

Qaabkeeda hadda, 15 nooc oo microcontrollers ah ayaa la taageeray, oo ay ku jiraan looxyo kala duwan oo ka socda Adafruit, Arduino, BBC micro:bit, ST Micro, Digispark, Semiconductor Nordic, Makerdiary iyo Phytec. Barnaamijyada sidoo kale waa la ururin karaa si ay ugu shaqeeyaan browserka qaabka WebAssembly iyo sida faylasha la fulin karo ee Linux. Waxay taageertaa ESP8266/ESP32 kontaroolayaasha Wali maaha, laakiin mashruuc gaar ah ayaa la sameeyay si loogu daro taageerada chip-ka Xtensa ee LLVM, kaas oo wali lagu calaamadiyay inuu yahay mid aan xasilloonayn oo aan diyaar u ahayn la-qabsiga TinyGo.

Ujeedooyinka mashruuca muhiimka ah:

  • Soo saarista faylal la fulin karo oo aad is haysta;
  • Taageerada moodooyinka ugu caansan ee looxyada microcontroller;
  • Suurtagalnimada codsiga Shabakadda;
  • Taageerada CGo oo leh kharash aad u yar marka la wacayo hawlaha C;
  • Taageerada inta badan xirmooyinka caadiga ah iyo awoodda lagu ururiyo koodka jira caadiga ah iyada oo aan la beddelin.

    Taageerada nidaamyada asaasiga ah kama mid aha hadafyada ugu muhiimsan,
    si hufan loo bilaabay tiro aad u badan oo coroutines ah (bilawga coroutines lafteeda si buuxda ayaa loo taageerayaa), gaaritaanka heerka wax qabad ee compiler tixraaca gc ( tayaynta ayaa loo daayay LLVM iyo codsiyada qaarkood Tinygo ayaa laga yaabaa inay ka dhakhso badan tahay gc) oo dhamaystiran waafaqid leh dhammaan codsiyada Go.

    Farqiga ugu weyn ee ka soo uruuriyaha la midka ah emgo waa isku day lagu ilaalinayo qaabka maamulka xusuusta asalka ah ee Go iyadoo la adeegsanayo ururinta qashinka oo loo isticmaalo LLVM si loo soo saaro kood wax ku ool ah halkii lagu ururin lahaa matalaadda C. Tinygo waxa kale oo ay bixisaa maktabad runtime cusub oo fulisa jadwal, nidaamka qoondaynta xusuusta, iyo xadhkaha gacanta ku hago habaysan is haysta. Xirmooyinka qaarkood, sida isku-dubarid iyo milicsi, ayaa dib loo abuuray iyadoo lagu salaynayo wakhtiga shaqo ee cusub.

    Isbeddellada lagu sii daayo 0.7 waxaa ka mid ah hirgelinta amarka "tinygo test", bixinta taageerada ururinta qashinka ee inta badan guddiyada bartilmaameedka ah (oo ku salaysan ARM Cortex-M) iyo WebAssembly, taageerada guddiga HiFive1 rev B ee ku salaysan RISC- Dhismaha V iyo guddiga Arduino nano33,
    taageero luqadeed oo la wanaajiyey (taageerada meelaha yar iyadoo la isticmaalayo getters iyo setters, taageero qaab-dhismeedka qarsoodiga ah).

    Source: opennet.ru

  • Add a comment