የTinygo 0.7.0፣ LLVM-based Go compiler መልቀቅ

ይገኛል የፕሮጀክት መለቀቅ ቲኒጎ 0.7.0, የ Go ቋንቋ ማጠናከሪያ በማዘጋጀት ላይ ያለው የውጤት ኮድ ውክልና እና ዝቅተኛ የሃብት ፍጆታ እንደ ማይክሮ መቆጣጠሪያ እና የታመቀ ነጠላ ፕሮሰሰር ሲስተሞች። ኮድ የተሰራጨው በ በ BSD ፍቃድ.

ለተለያዩ የዒላማ መድረኮች ማጠናቀር ኤልኤልቪኤምን በመጠቀም የሚተገበር ሲሆን ከ Go ፕሮጀክት በዋናው መሣሪያ ስብስብ ውስጥ የሚያገለግሉ ቤተ መጻሕፍት ቋንቋውን ለመደገፍ ጥቅም ላይ ይውላሉ። የተቀናበረው ፕሮግራም በማይክሮ መቆጣጠሪያ ላይ በቀጥታ ሊሠራ ይችላል፣ ይህም Go አውቶሜሽን ስክሪፕቶችን ለመጻፍ እንደ ቋንቋ እንዲያገለግል ያስችለዋል።

አዲስ ፕሮጀክት ለመፍጠር ያነሳሳው የለመዱትን Go ቋንቋ በተጨናነቀ መሳሪያዎች ላይ የመጠቀም ፍላጎት ነበር - ገንቢዎቹ ለማይክሮ ተቆጣጣሪዎች የፓይዘን እትም ካለ ለምን ለጎ ቋንቋ ተመሳሳይ አይፈጥርም ብለው ያስባሉ። ሂድ ተመርጧል ከዝገት ይልቅ ለመማር ቀላል ስለሆነ፣ ከክር-ነጻ ድጋፍን ለኮሮቲን-ተኮር ትይዩነት ይሰጣል፣ እና ሰፊ መደበኛ ቤተ-መጽሐፍት ይሰጣል (“ባትሪዎች ተካትተዋል”)።

አሁን ባለው ቅርጽ 15 ማይክሮ መቆጣጠሪያ ሞዴሎች ይደገፋሉ, ከአዳፍሩይት, አርዱኢኖ, ቢቢሲ ማይክሮ: ቢት, ST Micro, Digispark, Nordic Semiconductor, Makerdiary እና Phytec የተለያዩ ቦርዶችን ጨምሮ. ፕሮግራሞች በአሳሽ ውስጥ በWebAssembly ቅርፀት እና እንደ ሊኑክስ ሊተገበሩ የሚችሉ ፋይሎች እንዲሰሩ ሊደረደሩ ይችላሉ። ESP8266/ESP32 መቆጣጠሪያዎችን ይደግፋል ገና ነው, ነገር ግን በኤልኤልቪኤም ውስጥ ለ Xtensa ቺፕ ድጋፍን ለመጨመር የተለየ ፕሮጀክት እየተዘጋጀ ነው, አሁንም እንደ ያልተረጋጋ እና ከ TinyGo ጋር ለመዋሃድ ዝግጁ አይደለም.

ዋና የፕሮጀክት ግቦች፡-

  • በጣም የታመቁ ሊተገበሩ የሚችሉ ፋይሎች ማመንጨት;
  • በጣም የተለመዱ የማይክሮ መቆጣጠሪያ ሰሌዳዎች ሞዴሎች ድጋፍ;
  • ለድር የማመልከቻ ዕድል;
  • በ C ውስጥ ተግባራትን በሚደውሉበት ጊዜ የ CGo ድጋፍ በትንሹ ከዋጋ ጋር;
  • ለአብዛኛዎቹ መደበኛ ፓኬጆች ድጋፍ እና መደበኛ ነባር ኮድ ሳይቀይሩ የማጠናቀር ችሎታ።

    የባለብዙ-ኮር ስርዓቶች ድጋፍ ከዋና ዋናዎቹ ግቦች ውስጥ አይደለም ፣
    እጅግ በጣም ብዙ የሆኑ ኮርቲኖችን በብቃት ማስጀመር (የኮሮቲን ጅምር ራሱ ሙሉ በሙሉ የተደገፈ ነው) ፣ የማጣቀሻ ማጠናከሪያ gc አፈፃፀም ደረጃ ማሳካት (ማመቻቸት ለኤልኤልቪኤም የተተወ እና በአንዳንድ መተግበሪያዎች Tinygo ከጂሲ የበለጠ ፈጣን ሊሆን ይችላል) እና ያጠናቅቁ። ተኳሃኝነት ከሁሉም የ Go መተግበሪያዎች ጋር.

    ከተመሳሳይ ኮምፕሌተር ዋናው ልዩነት emgo የቆሻሻ አሰባሰብን በመጠቀም የGo ኦሪጅናል የማህደረ ትውስታ አስተዳደር ሞዴልን ለመጠበቅ እና ወደ ሲ ውክልና ከማዘጋጀት ይልቅ ቀልጣፋ ኮድ ለመፍጠር LLVMን ለመጠቀም የሚደረግ ሙከራ ነው። ቲኒጎ የጊዜ መርሐግብርን፣ የማህደረ ትውስታ ድልድል ስርዓትን እና ለተጨመቀ ሲስተሞች የተመቻቸ የstring ተቆጣጣሪዎችን የሚተገብር አዲስ የሩጫ ጊዜ ቤተ-መጽሐፍትን ያቀርባል። እንደ ማመሳሰል እና ማንፀባረቅ ያሉ አንዳንድ ጥቅሎች በአዲሱ የስራ ጊዜ ላይ ተመስርተው እንደገና ተፈጥረዋል።

    በተለቀቀው 0.7 ላይ ከተደረጉት ለውጦች መካከል የ "ቲንጎ ፈተና" ትዕዛዝ ትግበራ, የቆሻሻ ማጠራቀሚያ ድጋፍ ለአብዛኛዎቹ ዒላማ ቦርዶች (በ ARM Cortex-M ላይ የተመሰረተ) እና WebAssembly, በ RISC- ላይ የተመሰረተ የ HiFive1 rev B ቦርድ ድጋፍ. ቪ አርክቴክቸር እና አርዱዪኖ ናኖ 33 ቦርድ፣
    የተሻሻለ የቋንቋ ድጋፍ (ጌተርስ እና ሰሪዎችን በመጠቀም ለቢት መስኮች ድጋፍ ፣ የማይታወቁ መዋቅሮች ድጋፍ)።

    ምንጭ: opennet.ru

  • አስተያየት ያክሉ