Nesnelerin İnterneti (IoT) cihazları için gerçek zamanlı bir işletim sistemi (RTOS) olan RT-Thread 5.3 yayınlandı. 2006 yılından beri Çinli geliştiricilerden oluşan bir topluluk tarafından geliştirilen bu sistem, şu anda x86, ARM, MIPS, C-SKY, Xtensa, ARC ve RISC-V mimarilerine dayalı 155 kart, çip ve mikrodenetleyiciye uyarlanmıştır. RT-Thread'in (Nano) minimalist bir sürümü yalnızca 3 KB Flash ve 1.2 KB RAM gerektirir. Sınırsız kaynak kısıtlamalarına sahip IoT cihazları için, paket yönetimi, yapılandırıcılar, ağ yığını, GUI paketleri, ses kontrol sistemleri, veritabanı yönetim sistemi (DBMS), ağ hizmetleri ve betik motorlarını destekleyen tam özellikli bir sürüm mevcuttur. Kod C dilinde yazılmıştır ve Apache 2.0 lisansı altında dağıtılmaktadır.
İşletim sistemi üç temel katmandan oluşur:
- Görevlerin gerçek zamanlı olarak yürütülmesine izin veren bir çekirdek. Çekirdek, kilit yönetimi ve veri senkronizasyonu, görev planlama, iş parçacığı yönetimi, sinyal işleme, mesaj sıralama, zamanlayıcı yönetimi ve bellek yönetimi gibi alanları kapsayan genel temel temel öğeler sağlar. Donanıma özgü özellikler, CPU'yu desteklemek için gerekli sürücüleri ve kodu içeren libcpu ve BSP düzeylerinde uygulanır.
- Çekirdeğin üzerinde çalışan ve sanal dosya sistemi, istisna işleme sistemi, anahtar/değer depolama, FinSH komut satırı arayüzü, ağ oluşturma yığını (LwIP) ve ağ oluşturma çerçeveleri, cihaz destek kitaplıkları, ses alt sistemi gibi soyutlamalar sunan bileşenler ve hizmetler, kablosuz yığın, Wi-Fi, LoRa, Bluetooth, 2G/4G'yi destekleyen bileşenler. Modüler mimari, görevlerinize ve mevcut donanım kaynaklarına bağlı olarak bileşenleri ve hizmetleri bağlamanıza olanak tanır.
- Yazılım paketleri. Genel amaçlı yazılım bileşenleri ve fonksiyon kütüphaneleri paketler halinde dağıtılır ve kurulur. Depo şu anda grafik arayüzler, multimedya uygulamaları ve ağ uygulamalarından robot kontrol sistemlerine ve makine öğrenimi tabanlı işlemcilere kadar her şeyi sunan 450'den fazla paket içeriyor. Paketler ayrıca Lua, JerryScript, MicroPython, PikaScript ve Rust (rtt_rust) dillerindeki programların yürütülmesini organize etmek için motorlar sağlar.

Platformun özellikleri:
- Mimari desteği:
- ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevic, Nordic, Nuvoton, NXP gibi üreticilerin mikro denetleyicileri desteklenir).
- ARM Cortex-R4.
- ARM Cortex-A8/A9 (NXP).
- ARM7 (Samsung).
- ARM9 (Allwinner, Xilinx, GOKE).
- ARM11 (Fullhan).
- MIPS32 (Loongson, Ingenic).
- RISC-V RV32E/RV32I[F]/RV64[D] (sifive, Canaan Kendryt, bouffalo_lab, Nuclei, T-Head, HPMicro).
- ARC (ÖZET)
- DSP'dir (TI).
- C-Sky.
- x86.
- Sınırlı kaynaklara sahip sistemlere uygun bir ortam oluşturmanıza olanak tanıyan genişletilebilir modüler mimari (minimum gereksinimler - 3 KB Flash ve 1.2 KB RAM).
- POSIX, CMSIS, C++ API gibi program geliştirmeye yönelik çeşitli standart arayüzler için destek. RTduino katmanı, Arduino proje API'si ve kütüphaneleriyle uyumluluk için ayrı olarak geliştirilmektedir.
- Paketler ve eklenti bileşenlerden oluşan bir sistem aracılığıyla genişletme imkanı.
- Yüksek performanslı bilgi işleme için uygulama geliştirme desteği.
- Cihazı otomatik olarak uyku moduna geçirmenize ve yüke bağlı olarak voltajı ve frekansı dinamik olarak kontrol etmenize olanak tanıyan esnek güç yönetimi sistemi.
- Şifreleme ve şifre çözme için donanım desteği, çeşitli şifreleme algoritmalarına sahip kitaplıkların sağlanması.
- Çevresel cihazlara ve ek ekipmanlara erişim için birleşik arayüz.
- Sanal dosya sistemi ve FAT, UFFS, NFSv3, ROMFS ve RAMFS gibi dosya sistemleri için sürücülerin kullanılabilirliği.
- Protokol yığını için TCP/IPEthernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M, vb.
- Dijital imza kullanarak şifrelemeyi ve doğrulamayı, kesintiye uğrayan kurulumu sürdürmeyi, bir arızadan kurtarmayı, değişiklikleri geri almayı vb. destekleyen, güncellemelerin uzaktan teslimi ve kurulumu için bir sistem.
- Çekirdek bileşenlerini ayrı ayrı oluşturup geliştirmenize ve gerektiğinde bunları dinamik olarak yüklemenize olanak tanıyan, dinamik olarak yüklenen çekirdek modüllerinden oluşan bir sistem.
- Yaffs2, SQLite, FreeModbus, Canopen vb. gibi çeşitli üçüncü taraf paketlerini destekler.
- Belirli bir donanım platformunu desteklemek için bileşenler içeren bir BSP paketini (Kart Destek Paketi) doğrudan derleme ve panoya yükleme yeteneği.
- Gerçek kartlar kullanmadan uygulamalar geliştirmenize olanak tanıyan bir emülatörün (BSP qemu-vexpress-a9) varlığı.
- GCC, MDK Keil ve IAR gibi yaygın derleyiciler ve geliştirme araçları için destek.
- Uygulamaları oluşturmanıza ve hata ayıklamanıza, bunları panolara yüklemenize ve ayarları yönetmenize olanak tanıyan kendi entegre geliştirme ortamımız RT-Thread Studio IDE'nin geliştirilmesi. RT-Thread için geliştirme eklentileri Eclipse ve VS Code için de mevcuttur.
- Projelerin oluşturulmasını ve ortamın kurulmasını kolaylaştıran Env konsolu arayüzünün varlığı.
Yeni sürümdeki değişiklikler arasında:
- Rust dilinde bileşen geliştirme desteği genişletildi. İş parçacıkları, mutex'ler, semaforlar, mesaj kuyrukları ve bellek, zaman ve dosyalarla ilgili işlemler için Rust bağlamaları eklendi. SCons ve Cargo ile entegrasyon için bileşenler uygulandı. ARM, AArch64 ve RISC-V hedef platformlarının otomatik algılanması artık mümkün. Başlatma ve komut kaydı için prosedürel makrolar eklendi.
- Cortex-M mikrodenetleyiciler için, Aygıt Ağacı aracılığıyla çevre birimi açıklaması içeren Açık Yazılım standardına destek etkinleştirilmiştir.
- VirtIO 1.2 için paket kuyrukları, MMIO/PCI taşıma protokolleri ve DMA senkronizasyonu kullanma özelliği eklendi. 9P, kripto, RNG, SCMI ve SCSI için VirtIO sürücüleri eklendi. Ağ, blok aygıtları, konsol, giriş aygıtları ve GPU için VirtIO sürücüleri güncellendi.
- Dinamik CPU ve aygıt frekans yönetimi için DVFS (Dinamik Voltaj ve Frekans Ölçeklendirme) çerçevesi eklendi. Güç yönetimi için ARM SCMI bellenimi ile entegrasyon sağlandı. Fan yönetimi iyileştirildi.
- TEE (Trusted Execution Environment) ortamları ve RPMSG (Remote Processor Messaging) mesajlaşma mekanizması için destek eklendi.
- Unix soketleri için destek eklendi.
- Kablosuz ağ güvenliği mekanizmaları olan WPA3, EA (Enterprise Authentication), WAPI, OWE ve DPP için destek eklendi.
- PTP (Precision Time Protocol) zaman senkronizasyon protokolü için destek eklendi.
- Zaman yönetimi için Clock Time çerçevesi eklendi; bu çerçeve, yüksek hassasiyetli zamanlayıcıları ve birden fazla kaynak arasında zaman senkronizasyonunu destekliyor. Yeni çerçeve, daha önce kullanılan ktime, cputime ve hwtimer bileşenlerinin yerini alıyor.
- Ana bilgisayar ortamı ile sanal makineler arasında dosya alışverişi yapmak için 9PFS dosya sistemi uygulamaya konmuştur.
- Hafif süreçlerin (lwP) uygulanması artık ARM mimarisini destekliyor ve işleyicilerin çekirdekten kullanıcı alanına taşınmasına ve bağlam geçişlerinden kaçınılmasına olanak tanıyan vDSO (sanal dinamik paylaşımlı nesne) mekanizması için destek ekliyor.
- Çekirdek, 8 ve 16 bitlik atomik işlemleri desteklemektedir.
- XuanTie C/R serisi RISC-V işlemciler ve QEMU virt64 emülatörü için simetrik çoklu işlem (SMP) desteği eklendi.
- CherryUSB USB yığını 1.6.1 sürümüne güncellendi.
- UFS, AHCI, NVMe, Ethernet, Intel HDA, joystickler ve dokunmatik ekranlar için yeni DM (Aygıt Yöneticisi) sürücüleri eklendi.
Kaynak: opennet.ru
