TinyGo - LLVM tabanlı küçük Go derleyicisi
(github.com/tinygo-org)- Mikrodenetleyiciler, WebAssembly (WASM/WASI) ve CLI araçları gibi ortamlarda kullanılabilir
- Standart kütüphane paketlerinin çoğunu destekler ve Go kodunu değişiklik yapmadan derleyebilir
- LLVM’i dahili olarak kullanarak küçük ve verimli kod üretir
- Güçlü CGo desteği
4 yorum
TinyGo’yu Arduino Nano 33 kartlarında (
nrf52tabanlı olanlar veya Nano 33 IoT) kullandığımda, temel işlevler oldukça iyi çalıştı (BLE bonding’in çalışmaması gibi bir sorun dışında...).Bence de ticari kullanım için uygun olduğunu söylemek zor ama, yine de Go kanallarının beklediğimden daha iyi çalışması eğlencesine bir şeyler yapmak için fena değildi.
Bu aralar firmware tarafında Zephyr RTOS (
c/c++) oldukça iyi bir seçenek gibi görünüyor; en azından Linux Foundation tarafından destekleniyor, Nordic Semi’nin ana RTOS’u olarak ciddi şekilde kullanılıyor ve çeşitli protokol destekleri ile tooling güçlü yanları.Rust tarafında ise çoğu zaman
no_stdile gitmek gerektiğini ve bunun kolay olmadığını duymuştum; ama ben de bunu gerçek bir projede uygulamadığım için merak ediyorum hahaDesteklenen MCU’lar biraz sınırlı ve yaygın olarak kullanılan STM, NXP, TI ürün ailelerine verilen destek de pek iç açıcı görünmüyor.
ESP32’de Wi‑Fi ve Bluetooth çalışmıyor; ayrıca henüz production-ready demek için biraz yetersiz gibi duruyor.
Kişisel olarak, modern dillerin MCU’ya uygulanmasına yönelik bu tür projeler arasında en çok
rust in embeddedi umut verici buluyorum.Merhaba, yoldan geçerken bahsettiğiniz kısım ilgimi çektiği için bir soru sormak istiyorum.
Geçmişte C ile firmware çalışıp yazma deneyimim oldu (stm, ti), ancak bana uygun olmadığını düşündüğüm için bıraktım. Aradan çok zaman geçtikten sonra şimdi bu alanı biraz daha modern bir şekilde yeniden öğrenmek istiyorum.
Firmware tarafında Rust yine de trendlere biraz daha yakın mı?
Firmware tarafında Rust kullanımının henüz kesin olarak production ready olduğunu söylemek zor~~~. Ancak desteklenebilen cihaz kapsamını çok hızlı şekilde genişletiyor..
İlginç haber ise, yakın zamanda AutoSAR standardına Rust’ı listeye eklemek için bir ön çalışma niteliğinde toplantı yapılmış gibi görünmesi..
Firmware tarafında, özel çalışma ortamı nedeniyle unmanaged memory ile ilgili bir bug patlarsa etkisi kritik oluyor..
Firmware MCU tarafında
software emulation in embedded,
perfect unit testing without boards
gibi konular seminerlerde sıkça sunuluyor..
Daha ileri bir konu olarak ise herhalde MCU içinde ONNX sayılabilir ??