Mikrodenetleyicilerle çalışıyorsanız ve bir Go tutkunuysanız, Tinygo sizin için olabilir, bundan beri bir Go p derleyici geliştirildiGömülü sistem mikrodenetleyicileri ve WebAssembly gibi ortaya çıkan kodun kompakt bir temsilini ve düşük kaynak tüketimini gerektiren alanlar için.
TinyGo bir derleyicidir. Go yapısını çeşitli hedef platformlara getirmeyi hedefliyor hangi uygulanır LLVM kullanarak, ve ana Go projesi araç setinde kullanılan kitaplıklar, dili desteklemek için kullanılır.
Tinygo web sitesinde şu şekilde açıklanmıştır:
TinyGo programlarını BBC micro:bit ve Arduino Uno dahil olmak üzere 94'ün üzerinde farklı mikrodenetleyici kartında derleyebilir ve çalıştırabilirsiniz.
TinyGo ayrıca boyut olarak oldukça kompakt WebAssembly (WASM) kodu da üretebilir. WebAssembly System Interface (WASI) arabirim ailesini destekleyen sunucular ve uç bilgi işlem ortamlarının yanı sıra web tarayıcıları için programlar oluşturabilirsiniz.
TinyGO projesini yaratmanın nedeni, kompakt cihazlarda yaygın olan Go dilini kullanma arzusuydu.- Geliştiriciler, mikrodenetleyiciler için bir Python sürümü varsa, neden Go dili için benzer bir sürüm oluşturmayalım?
TinyGo'da, derlenen program doğrudan mikrodenetleyiciler üzerinde çalıştırılabilir, lveya Go'nun otomasyon betikleri yazmak için bir dil olarak kullanılmasını mümkün kılıyor. TinyGo şu anda 94 mikrodenetleyici modelini desteklemektedir.diğerleri arasında Raspberry Pi Pico, Nordic, SiFive gibi çeşitli kartlar dahil.
TinyGo özel sürücüleri sağlar bağlı harici cihazlar ve sensörler ile arayüz oluşturmanın yanı sıra I2C, GPIO ve SPI gibi arayüzleri desteklemek için. Programlar, bir tarayıcıda ve Linux ikili dosyaları olarak çalışmak üzere WebAssembly (wasm/wasi) biçiminde de derlenebilir.
Projenin temel hedefleri:
- Bilinen Go dilinin bir alt kümesini kompakt cihazlarda kullanma yeteneği. Öğrenmesi daha kolay olduğu, rutin tabanlı paralelleştirme için iş parçacığından bağımsız destek sağladığı ve kapsamlı bir standart kitaplık sunduğu için Rust yerine Go seçildi.
- Çok kompakt yürütülebilir dosyaların oluşturulması.
- En yaygın mikrodenetleyici anakart modelleri için destek.
- Web için kullanma ve WASI (WebAssembly) kullanarak bağımsız WebAssembly uygulamaları oluşturma yeteneği
- Sistem Arayüzü) işletim sistemi tarafından sağlanan dosyalar, yuvalar ve diğer işlevlerle çalışmak için.
- C dili işlevlerini çağırırken minimum ek yük ile CGo desteği.
- Çoğu standart paketle uyumluluk ve genel mevcut kodu değiştirmeden derleme yeteneği.
- Kullanımdan kaldırılan benzer emgo derleyicisinin aksine Tinygo, Go'nun orijinal bellek yönetimi modelini bir çöp toplayıcı aracılığıyla korur ve verimli yerel kod oluşturmak için bir C temsilinde derlemek yerine LLVM'yi kullanır.
Tinygo'nun yakın zamanda 0.28 olan yeni bir sürüm aldığını belirtmekte fayda var ve bu yeni sürümde, yansıma desteğinin önemli ölçüde iyileştirildiği ve birçok standart kitaplıkla uyumluluk elde etmeyi mümkün kılan kendi yansıma kitaplığı uygulamasını sunduğu göze çarpıyor. Daha önce sorun yaşayan paketler.
Ek olarak, yeni sürüm, özellikleri WebAssembly'den içe aktarmak için "//go:wasmimport" yönergesi ve ayrıca Gopher Rozetleri gibi yeni kartlar için destek ekler.
Nihayet Bununla ilgili daha fazla bilgi edinmek istiyorsanız, ayrıntıları kontrol edebilirsiniz aşağıdaki bağlantı.
Tinygo Linux'a nasıl kurulur?
Olanlar için Tinygo'yu kurabilmekle ilgileniyor, Debian, Raspbian, Ubuntu ve türevlerinde. Bir terminal açmaları gerekiyor ve içinde aşağıdaki komutu uygulayacağız:
wget https://github.com/tinygo-org/tinygo/releases/download/v0.28.1/tinygo_0.28.1_amd64.deb sudo dpkg -i tinygo_0.28.1_amd64.deb
ARM cihazları için özel sistemler için (Raspbian ve Ubuntu sürümleri)
Aşağıdakileri yazacağız:
wget https://github.com/tinygo-org/tinygo/releases/download/v0.28.1/tinygo_0.28.1_arm64.deb sudo dpkg -i tinygo_0.28.1_arm64.deb
Arch Linux ve türevlerini kullananların aşağıdaki komutu çalıştırmaları gerekir:
sudo pacman -S tinygo
Şimdi Fedora kullanıcıları için:
sudo dnf install tinygo
Kurulumu tamamladıktan sonra, tinygo'nun yolunun kendi PATH'lerinde olduğundan emin olmalıdırlar.
dışa aktarma PATH=$PATH:/usr/local/tinygo/bin
Sonunda kurulumu doğrula aşağıdaki komutu yazacağız:
minikgo versiyonu
Ve bize böyle bir şey atmalı
tinygo sürüm 0.28.1 linux/amd64
Bu konuda daha fazla bilgi edinmek için danışabilirsiniz aşağıdaki bağlantı.