tokollo ya morero , e ntseng e etsa motlalehi oa puo ea Go bakeng sa libaka tse hlokang boemeli bo kopanetsoeng ba khoutu e hlahisoang le tšebeliso e tlase ea lisebelisoa, joalo ka li-microcontroller le litsamaiso tsa compact single-processor. Khoutu tlas'a laesense ea BSD.
Ho bokelloa ha liforomo tse fapaneng tse reretsoeng ho kengoa ts'ebetsong ho sebelisoa LLVM, 'me lilaebrari tse sebelisoang ka har'a sephutheloana sa lithulusi tse kholo tsa morero oa Go li sebelisoa ho tšehetsa puo. Lenaneo le hlophisitsoeng le ka tsamaisoa ka kotloloho ho li-microcontroller, ho lumella Go hore e sebelisoe joalo ka puo ea ho ngola mangolo a ikemetseng.
Sepheo sa ho theha morero o mocha e ne e le takatso ea ho sebelisa puo e tloaelehileng ea Go ho lisebelisoa tse kopanetsoeng - bahlahisi ba ile ba beha mabaka a hore haeba ho na le phetolelo ea Python bakeng sa li-microcontrollers, joale ke hobane'ng ha u sa thehe e tšoanang bakeng sa puo ea Go. Eya sebakeng sa Rust hobane ho bonolo ho ithuta, e fana ka tšehetso e ikemetseng bakeng sa parallelization e thehiloeng ho coroutine, 'me e fana ka laebrari e pharaletseng e tloaelehileng ("libetri li kenyelelitsoe").
Hona jwale, ho tshehetswa mehlala e 15 ya di-microcontroller, ho kenyeletswa le diboto tse fapaneng ho tloha ho Adafruit, Arduino, BBC micro:bit, ST Micro, Digispark, Nordic Semiconductor, Makerdiary, le Phytec. Mananeo a ka boela a bokellwa bakeng sa ho kenngwa tshebetsong ha sebatli ka sebopeho sa WebAssembly le jwalo ka difaele tse ka sebediswang bakeng sa LinuxTšehetso bakeng sa balaoli ba ESP8266/ESP32 , empa morero o fapaneng o ntse o ntlafatsoa ho eketsa tšehetso bakeng sa chip ea Xtensa ho LLVM, e ntseng e tšoauoa e sa tsitsa le hore ha e e-s'o lokele ho kopanngoa le TinyGo.
Lipheo tsa bohlokoa tsa projeke:
Ts'ehetso ea litsamaiso tse ngata tsa mantlha ha se e 'ngoe ea lipheo tsa mantlha,
ho qalisoa ka katleho ha palo e kholo ea li-coroutines (ho qala ha li-coroutine ka boeona ho tšehetsoa ka botlalo), katleho ea boemo ba ts'ebetso ea gc compiler (optimization e siiloe ho LLVM mme lits'ebetsong tse ling Tinygo e kanna ea potlaka ho feta gc) mme e felile. ka lits'ebetso tsohle tsa Go.
Phapang e ka sehloohong ho tsoa ho moqapi o tšoanang ke boiteko ba ho boloka mohlala oa pele oa tsamaiso ea memori ea Go o sebelisa pokello ea lithōle le ho sebelisa LLVM ho hlahisa khoutu e sebetsang hantle ho e-na le ho e bokella setšoantšong sa C. Tinygo e boetse e fana ka laeborari e ncha ea nako ea ho sebetsa e sebelisang kemiso, sistimi ea kabo ea memori, le lisebelisoa tsa likhoele tse ntlafalitsoeng bakeng sa litsamaiso tse kopaneng. Liphutheloana tse ling, joalo ka sync le reflect, li entsoe bocha ho latela nako e ncha ea ho sebetsa.
Har'a liphetoho tsa tokollo ea 0.7 ke ts'ebetsong ea taelo ea "tinygo test", phano ea ts'ehetso ea pokello ea lithōle bakeng sa liboto tse ngata tse shebiloeng (tse thehiloeng ho ARM Cortex-M) le WebAssembly, tšehetso bakeng sa boto ea HiFive1 rev B e thehiloeng ho RISC- V ea kaho le boto ea Arduino nano33,
tshehetso ya puo e ntlafetseng (tshehetso bakeng sa dibaka tse nyane tse sebedisang di-getter le di-setter, tshehetso ya dibopeho tse sa tsejweng).
Source: opennet.ru
