Κυκλοφόρησε το RT-Thread 5.3, ένα λειτουργικό σύστημα πραγματικού χρόνου (RTOS) για συσκευές του Διαδικτύου των Πραγμάτων. Αναπτύσσεται από το 2006 από μια κοινότητα Κινέζων προγραμματιστών και έχει πλέον μεταφερθεί σε 155 μητρικές, τσιπ και μικροελεγκτές που βασίζονται σε αρχιτεκτονικές x86, ARM, MIPS, C-SKY, Xtensa, ARC και RISC-V. Μια μινιμαλιστική έκδοση του RT-Thread (Nano) απαιτεί μόνο 3 KB Flash και 1.2 KB RAM. Για συσκευές IoT με απεριόριστους περιορισμούς πόρων, είναι διαθέσιμη μια πλήρως εξοπλισμένη έκδοση, η οποία υποστηρίζει διαχείριση πακέτων, διαμορφωτές, στοίβα δικτύου, πακέτα GUI, συστήματα φωνητικού ελέγχου, DBMS, υπηρεσίες δικτύου και μηχανές scripting. Ο κώδικας είναι γραμμένος σε C και διανέμεται με την άδεια Apache 2.0.
Το λειτουργικό σύστημα αποτελείται από τρία βασικά επίπεδα:
- Ένας πυρήνας που επιτρέπει την εκτέλεση εργασιών σε πραγματικό χρόνο. Ο πυρήνας παρέχει βασικά πρωτόγονα γενικής χρήσης που καλύπτουν τομείς όπως η διαχείριση κλειδαριών και συγχρονισμού δεδομένων, ο προγραμματισμός εργασιών, η διαχείριση νημάτων, ο χειρισμός σημάτων, οι ουρές μηνυμάτων, η διαχείριση χρονοδιακόπτη και η διαχείριση μνήμης. Χαρακτηριστικά ειδικά για το υλικό υλοποιούνται σε επίπεδο libcpu και BSP, τα οποία περιλαμβάνουν τα απαραίτητα προγράμματα οδήγησης και κώδικα για την υποστήριξη της CPU.
- Στοιχεία και υπηρεσίες που εκτελούνται πάνω από τον πυρήνα και παρέχουν αφηρημένες έννοιες όπως ένα εικονικό σύστημα αρχείων, σύστημα χειρισμού εξαιρέσεων, αποθήκευση κλειδιών/τιμών, διεπαφή γραμμής εντολών FinSH, στοίβα δικτύου (LwIP) και πλαίσια δικτύου, βιβλιοθήκες για υποστήριξη συσκευών, υποσύστημα ήχου, ασύρματη στοίβα, στοιχεία για Wi-Fi, LoRa, Bluetooth, υποστήριξη 2G/4G. Η αρθρωτή αρχιτεκτονική σάς επιτρέπει να συνδέετε στοιχεία και υπηρεσίες ανάλογα με τις εργασίες σας και τους διαθέσιμους πόρους υλικού.
- Πακέτα λογισμικού. Τα στοιχεία λογισμικού γενικής χρήσης και οι βιβλιοθήκες λειτουργιών διανέμονται και εγκαθίστανται με τη μορφή πακέτων. Το αποθετήριο περιλαμβάνει επί του παρόντος περισσότερα από 450 πακέτα, τα οποία προσφέρουν τα πάντα, από γραφικές διεπαφές, εφαρμογές πολυμέσων και εφαρμογές δικτύωσης έως συστήματα ελέγχου ρομπότ και επεξεργαστές που βασίζονται σε μηχανική μάθηση. Τα πακέτα παρέχουν επίσης μηχανές για την οργάνωση της εκτέλεσης προγραμμάτων στις γλώσσες Lua, JerryScript, MicroPython, PikaScript και Rust (rtt_rust).

Χαρακτηριστικά πλατφόρμας:
- Αρχιτεκτονική υποστήριξη:
- ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (υποστηρίζονται μικροελεγκτές από κατασκευαστές όπως ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevic, Nordic, Nuvoton, NXP).
- 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 Kenndryt, bouffalo_lab, Nuclei, T-Head, HPMicro).
- ARC (SYNOPSYS)
- DSP (TI).
- C-Sky.
- x86.
- Επεκτάσιμη αρθρωτή αρχιτεκτονική που σας επιτρέπει να δημιουργήσετε ένα περιβάλλον κατάλληλο για συστήματα με περιορισμένους πόρους (ελάχιστες απαιτήσεις - 3 KB Flash και 1.2 KB RAM).
- Υποστήριξη για διάφορες τυπικές διεπαφές για την ανάπτυξη προγραμμάτων, όπως POSIX, CMSIS, C++ API. Το επίπεδο RTduino αναπτύσσεται ξεχωριστά για συμβατότητα με το API του έργου Arduino και τις βιβλιοθήκες.
- Δυνατότητα επέκτασης μέσω συστήματος πακέτων και εξαρτημάτων plug-in.
- Υποστήριξη για ανάπτυξη εφαρμογών για επεξεργασία πληροφοριών υψηλής απόδοσης.
- Ευέλικτο σύστημα διαχείρισης ενέργειας που σας επιτρέπει να θέσετε αυτόματα τη συσκευή σε κατάσταση αναστολής λειτουργίας και να ελέγχετε δυναμικά την τάση και τη συχνότητα ανάλογα με το φορτίο.
- Υποστήριξη υλικού για κρυπτογράφηση και αποκρυπτογράφηση, παροχή βιβλιοθηκών με διάφορους κρυπτογραφικούς αλγόριθμους.
- Ενοποιημένη διεπαφή για πρόσβαση σε περιφερειακές συσκευές και πρόσθετο εξοπλισμό.
- Εικονικό FS και διαθεσιμότητα προγραμμάτων οδήγησης για FS όπως FAT, UFFS, NFSv3, ROMFS και RAMFS.
- Στοίβα πρωτοκόλλων για TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M, κ.λπ.
- Ένα σύστημα για απομακρυσμένη παράδοση και εγκατάσταση ενημερώσεων που υποστηρίζει κρυπτογράφηση και επαλήθευση μέσω ψηφιακής υπογραφής, συνέχιση εγκαταστάσεων που έχουν διακοπεί, αποκατάσταση μετά από βλάβες, επαναφορά αλλαγών κ.λπ.
- Ένα σύστημα δυναμικά φορτώσιμων ενοτήτων πυρήνα που επιτρέπει την ξεχωριστή κατασκευή και ανάπτυξη στοιχείων πυρήνα και τη δυναμική φόρτωση όταν χρειάζεται.
- Υποστηρίζει διάφορα πακέτα τρίτων, όπως Yaffs2, SQLite, FreeModbus, Canopen κ.λπ.
- Η δυνατότητα άμεσης μεταγλώττισης ενός BSP (Πακέτου Υποστήριξης Πλακέτας) με στοιχεία για την υποστήριξη μιας συγκεκριμένης πλατφόρμας υλικού και η φόρτωσή του στην πλακέτα.
- Διαθεσιμότητα εξομοιωτή (BSP qemu-vexpress-a9), ο οποίος σας επιτρέπει να αναπτύσσετε εφαρμογές χωρίς να χρησιμοποιείτε πραγματικούς πίνακες.
- Υποστήριξη για κοινούς μεταγλωττιστές και εργαλεία ανάπτυξης όπως GCC, MDK Keil και IAR.
- Ανάπτυξη του δικού μας ολοκληρωμένου περιβάλλοντος ανάπτυξης RT-Thread Studio IDE, το οποίο σας επιτρέπει να δημιουργείτε και να διορθώνετε εφαρμογές, να τις φορτώνετε σε πίνακες και να διαχειρίζεστε ρυθμίσεις. Πρόσθετα ανάπτυξης για το RT-Thread είναι επίσης διαθέσιμα για το Eclipse και το VS Code.
- Η παρουσία της διεπαφής της κονσόλας Env, η οποία απλοποιεί τη δημιουργία έργων και τη ρύθμιση του περιβάλλοντος.
Μεταξύ των αλλαγών στη νέα έκδοση:
- Η υποστήριξη για την ανάπτυξη στοιχείων στη γλώσσα Rust έχει επεκταθεί. Έχουν προστεθεί συνδέσεις Rust για νήματα, mutexes, σημαφόρους, ουρές μηνυμάτων, καθώς και λειτουργίες με μνήμη, χρόνο και αρχεία. Έχουν υλοποιηθεί στοιχεία για ενσωμάτωση με SCons και Cargo. Είναι πλέον διαθέσιμη η αυτόματη ανίχνευση πλατφορμών-στόχων ARM, AArch64 και RISC-V. Έχουν προστεθεί διαδικαστικές μακροεντολές για αρχικοποίηση και καταχώρηση εντολών.
- Για τους μικροελεγκτές Cortex-M, είναι ενεργοποιημένη η υποστήριξη για το πρότυπο Open Firmware με περιγραφή περιφερειακών μέσω του Device Tree.
- Προστέθηκε υποστήριξη για το VirtIO 1.2 με δυνατότητα χρήσης ουρών πακέτων, μεταφορών MMIO/PCI και συγχρονισμού DMA. Έχουν προστεθεί προγράμματα οδήγησης VirtIO για 9P, crypto, RNG, SCMI και SCSI. Έχουν ενημερωθεί τα προγράμματα οδήγησης VirtIO για δίκτυο, συσκευές μπλοκ, κονσόλα, συσκευές εισόδου και GPU.
- Έχει προστεθεί το πλαίσιο DVFS (Dynamic Voltage and Frequency Scaling) για δυναμική διαχείριση συχνότητας CPU και συσκευών. Έχει παρασχεθεί ενσωμάτωση με το υλικολογισμικό ARM SCMI για διαχείριση ενέργειας. Η διαχείριση ανεμιστήρων έχει βελτιωθεί.
- Προστέθηκε υποστήριξη για περιβάλλοντα TEE (Trusted Execution Environment - Περιβάλλον Αξιόπιστης Εκτέλεσης) και τον μηχανισμό ανταλλαγής μηνυμάτων RPMSG (Απομακρυσμένη ανταλλαγή μηνυμάτων επεξεργαστή).
- Έχει υλοποιηθεί υποστήριξη για sockets Unix.
- Προστέθηκε υποστήριξη για μηχανισμούς ασφαλείας ασύρματου δικτύου WPA3, EA (Enterprise Authentication), WAPI, OWE και DPP.
- Προστέθηκε υποστήριξη για το πρωτόκολλο συγχρονισμού ώρας PTP (Precision Time Protocol).
- Το πλαίσιο Clock Time έχει προστεθεί για εργασία με την ώρα, υποστηρίζοντας χρονόμετρα υψηλής ακρίβειας και συγχρονισμό ώρας σε πολλαπλές πηγές. Το νέο πλαίσιο αντικαθιστά τα προηγουμένως χρησιμοποιούμενα στοιχεία ktime, cputime και hwtimer.
- Έχει υλοποιηθεί το σύστημα αρχείων 9PFS, το οποίο χρησιμοποιείται για την ανταλλαγή αρχείων μεταξύ του περιβάλλοντος υποδοχής και των εικονικών μηχανών.
- Η υλοποίηση ελαφρών διεργασιών (lwP) υποστηρίζει πλέον την αρχιτεκτονική ARM και προσθέτει υποστήριξη για τον μηχανισμό vDSO (εικονικό δυναμικό κοινόχρηστο αντικείμενο), ο οποίος επιτρέπει τη μετακίνηση των χειριστών από τον πυρήνα στον χώρο χρήστη και την αποφυγή των εναλλαγών περιβάλλοντος.
- Ο πυρήνας υποστηρίζει ατομικές λειτουργίες 8 και 16 bit.
- Προστέθηκε υποστήριξη για συμμετρική πολυεπεξεργασία (SMP) για τους επεξεργαστές RISC-V της σειράς XuanTie C/R και τον εξομοιωτή QEMU virt64.
- Η στοίβα USB CherryUSB ενημερώθηκε στην έκδοση 1.6.1.
- Προστέθηκαν νέα προγράμματα οδήγησης DM (Device Manager) για UFS, AHCI, NVMe, Ethernet, Intel HDA, joystick και οθόνες αφής.
Πηγή: opennet.ru
