Κυκλοφόρησε το RT-Thread 5.0, ένα λειτουργικό σύστημα πραγματικού χρόνου (RTOS) για συσκευές του Διαδικτύου των Πραγμάτων. Το σύστημα αναπτύσσεται από το 2006 από μια κοινότητα Κινέζων προγραμματιστών και αυτή τη στιγμή έχει μεταφερθεί σε σχεδόν 200 μητρικές, τσιπ και μικροελεγκτές που βασίζονται σε αρχιτεκτονικές x86, ARM, MIPS, C-SKY, Xtensa, ARC και RISC-V. Η μινιμαλιστική έκδοση RT-Thread (Nano) απαιτεί μόνο 3 KB Flash και 1.2 KB RAM για να λειτουργήσει. Για συσκευές IoT που δεν έχουν πολύ περιορισμένους πόρους, προσφέρεται μια πλήρως λειτουργική έκδοση που υποστηρίζει διαχείριση πακέτων, διαμορφωτές, στοίβα δικτύου, πακέτα με υλοποίηση γραφικής διεπαφής, σύστημα φωνητικού ελέγχου, DBMS, υπηρεσίες δικτύου και μηχανές scripting. Ο κώδικας είναι γραμμένος σε C και διανέμεται με την άδεια Apache 2.0.
Χαρακτηριστικά πλατφόρμας:
- Αρχιτεκτονική υποστήριξη:
- 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).
- 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, η οποία απλοποιεί τη δημιουργία έργων και τη ρύθμιση του περιβάλλοντος.

Το λειτουργικό σύστημα αποτελείται από τρία βασικά επίπεδα:
- Ένας πυρήνας που επιτρέπει την εκτέλεση εργασιών σε πραγματικό χρόνο. Ο πυρήνας παρέχει βασικά πρωτόγονα γενικής χρήσης που καλύπτουν τομείς όπως η διαχείριση κλειδαριών και συγχρονισμού δεδομένων, ο προγραμματισμός εργασιών, η διαχείριση νημάτων, ο χειρισμός σημάτων, οι ουρές μηνυμάτων, η διαχείριση χρονοδιακόπτη και η διαχείριση μνήμης. Χαρακτηριστικά ειδικά για το υλικό υλοποιούνται σε επίπεδο libcpu και BSP, τα οποία περιλαμβάνουν τα απαραίτητα προγράμματα οδήγησης και κώδικα για την υποστήριξη της CPU.
- Στοιχεία και υπηρεσίες που εκτελούνται πάνω από τον πυρήνα και παρέχουν αφηρημένες έννοιες όπως ένα εικονικό σύστημα αρχείων, σύστημα χειρισμού εξαιρέσεων, αποθήκευση κλειδιών/τιμών, διεπαφή γραμμής εντολών FinSH, στοίβα δικτύου (LwIP) και πλαίσια δικτύου, βιβλιοθήκες για υποστήριξη συσκευών, υποσύστημα ήχου, ασύρματη στοίβα, στοιχεία για Wi-Fi, LoRa, Bluetooth, υποστήριξη 2G/4G. Η αρθρωτή αρχιτεκτονική σάς επιτρέπει να συνδέετε στοιχεία και υπηρεσίες ανάλογα με τις εργασίες σας και τους διαθέσιμους πόρους υλικού.
- Πακέτα λογισμικού. Τα στοιχεία λογισμικού γενικής χρήσης και οι βιβλιοθήκες λειτουργιών διανέμονται και εγκαθίστανται με τη μορφή πακέτων. Το αποθετήριο περιλαμβάνει επί του παρόντος περισσότερα από 450 πακέτα, τα οποία προσφέρουν τα πάντα, από γραφικές διεπαφές, εφαρμογές πολυμέσων και εφαρμογές δικτύωσης έως συστήματα ελέγχου ρομπότ και επεξεργαστές που βασίζονται σε μηχανική μάθηση. Τα πακέτα παρέχουν επίσης μηχανές για την οργάνωση της εκτέλεσης προγραμμάτων στις γλώσσες Lua, JerryScript, MicroPython, PikaScript και Rust (rtt_rust).

Οι νέες δυνατότητες που προστέθηκαν στην έκδοση 5.0 περιλαμβάνουν σημαντικά βελτιωμένη υποστήριξη για συστήματα πολλαπλών πυρήνων και πολλαπλών νημάτων (για παράδειγμα, η στοίβα δικτύου και τα συστήματα αρχείων έχουν προσαρμοστεί για λειτουργία πολλαπλών νημάτων και ο χρονοπρογραμματιστής έχει χωριστεί σε επιλογές για συστήματα ενός πυρήνα και SMP). Έχει προστεθεί η υλοποίηση TLS (Thread Local Storage). Έχει βελτιωθεί η υποστήριξη για τσιπ Cortex-A. Έχει βελτιωθεί σημαντικά η υποστήριξη για συστήματα 64-bit (stack). TCP/IP (Τα συστήματα αρχείων έχουν επαληθευτεί για συστήματα 64-bit.) Έχουν ενσωματωθεί στοιχεία διαχείρισης μνήμης flash. Τα εργαλεία ανάπτυξης προγραμμάτων οδήγησης έχουν επανασχεδιαστεί.
Πηγή: opennet.ru


