تم إطلاق RT-Thread 5.3، وهو نظام تشغيل في الوقت الحقيقي (RTOS) لأجهزة إنترنت الأشياء. وقد طُوّر هذا النظام منذ عام 2006 من قِبل مجموعة من المطورين الصينيين، وتمت برمجته الآن ليتوافق مع 155 لوحة، وشريحة، ووحدة تحكم دقيقة تعتمد على معمارية x86، وARM، وMIPS، وC-SKY، وXtensa، وARC، وRISC-V. يتطلب الإصدار المُصغّر من RT-Thread (Nano) مساحة 3 كيلوبايت فقط من ذاكرة الفلاش و1.2 كيلوبايت من ذاكرة الوصول العشوائي (RAM). أما بالنسبة لأجهزة إنترنت الأشياء ذات الموارد غير المحدودة، فيتوفر إصدار كامل الميزات يدعم إدارة الحزم، وأدوات التهيئة، ومكدس الشبكة، وحزم واجهة المستخدم الرسومية، وأنظمة التحكم الصوتي، ونظام إدارة قواعد البيانات، وخدمات الشبكة، ومحركات البرمجة النصية. تمت كتابة الكود بلغة C وتوزيعه بموجب ترخيص Apache 2.0.
يتكون نظام التشغيل من ثلاث طبقات أساسية:
- نواة تسمح بتنفيذ المهام في الوقت الحقيقي. توفر النواة أساسيات أساسية عامة تغطي مجالات مثل إدارة القفل ومزامنة البيانات، وجدولة المهام، وإدارة الخيوط، ومعالجة الإشارات، وانتظار الرسائل، وإدارة المؤقت، وإدارة الذاكرة. يتم تنفيذ الميزات الخاصة بالأجهزة على مستويي libcpu وBSP، والتي تتضمن برامج التشغيل والتعليمات البرمجية الضرورية لدعم وحدة المعالجة المركزية.
- المكونات والخدمات التي تعمل أعلى النواة وتقدم تجريدات مثل نظام الملفات الظاهري، ونظام معالجة الاستثناءات، وتخزين المفتاح/القيمة، وواجهة سطر أوامر 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).
- أرم كورتكس-R4.
- معالج أي آر إم كورتيكس-A8/A9 (NXP).
- ARM7 (سامسونج).
- ARM9 (Allwinner، Xilinx، GOKE).
- ARM11 (فولهان).
- MIPS32 (لونجسون، إنجينيك).
- RISC-V RV32E/RV32I[F]/RV64[D] (المصفاة، كنعان كندريت، bouffalo_lab، Nuclei، T-Head، HPMicro).
- القوس (ملخص)
- دي إس بي (تي).
- سي سكاي.
- X86.
- بنية معيارية قابلة للتوسيع تتيح لك إنشاء بيئة مناسبة للأنظمة ذات الموارد المحدودة (الحد الأدنى للمتطلبات - 3 كيلو بايت فلاش و1.2 كيلو بايت من ذاكرة الوصول العشوائي).
- دعم الواجهات القياسية المختلفة لتطوير البرامج، مثل POSIX وCMSIS وC++ API. يتم تطوير طبقة RTduino بشكل منفصل للتوافق مع واجهة برمجة تطبيقات مشروع Arduino والمكتبات.
- إمكانية التوسع من خلال نظام الحزم والمكونات الإضافية.
- دعم تطوير التطبيقات لمعالجة المعلومات عالية الأداء.
- نظام مرن لإدارة الطاقة يسمح لك بوضع الجهاز تلقائيًا في وضع السكون والتحكم ديناميكيًا في الجهد والتردد حسب الحمل.
- دعم الأجهزة للتشفير وفك التشفير، وتوفير المكتبات بخوارزميات التشفير المختلفة.
- واجهة موحدة للوصول إلى الأجهزة الطرفية والمعدات الإضافية.
- نظام الملفات الظاهري وتوافر برامج التشغيل لأنظمة الملفات مثل FAT وUFFS وNFSv3 وROMFS وRAMFS.
- مجموعة بروتوكولات لـ TCP/IP، إيثرنت، واي فاي، بلوتوث، NB-IoT، 2G/3G/4G، HTTP، MQTT، LwM2M، إلخ.
- نظام للتسليم عن بعد وتثبيت التحديثات التي تدعم التشفير والتحقق باستخدام التوقيع الرقمي، واستئناف التثبيت الذي تمت مقاطعته، والتعافي من الفشل، والتراجع عن التغييرات، وما إلى ذلك.
- نظام من وحدات kernel المحملة ديناميكيًا والذي يسمح لك ببناء مكونات kernel وتطويرها بشكل منفصل، وتحميلها ديناميكيًا عند الحاجة.
- يدعم العديد من حزم الطرف الثالث، مثل Yaffs2 وSQLite وFreeModbus وCanopen وما إلى ذلك.
- القدرة على تجميع حزمة BSP (حزمة دعم اللوحة) مباشرةً مع مكونات لدعم منصة أجهزة معينة، وتحميلها على اللوحة.
- توفر المحاكي (BSP qemu-vexpress-a9)، والذي يسمح لك بتطوير التطبيقات دون استخدام لوحات حقيقية.
- دعم المترجمين وأدوات التطوير الشائعة مثل دول مجلس التعاون الخليجي وMDK Keil وIAR.
- تطوير بيئة التطوير المتكاملة الخاصة بنا RT-Thread Studio IDE، والتي تتيح لك إنشاء التطبيقات وتصحيح أخطائها وتحميلها على اللوحات وإدارة الإعدادات. تتوفر أيضًا المكونات الإضافية للتطوير لـ RT-Thread لـ Eclipse وVS Code.
- وجود واجهة وحدة التحكم Env، مما يبسط إنشاء المشاريع وإعداد البيئة.
من بين التغييرات في الإصدار الجديد:
- تم توسيع نطاق دعم تطوير المكونات بلغة Rust. أُضيفت روابط Rust للخيوط، والأقفال المتبادلة، والإشارات، وقوائم انتظار الرسائل، بالإضافة إلى العمليات المتعلقة بالذاكرة والوقت والملفات. كما تم تطبيق مكونات للتكامل مع SCons وCargo. وأصبح الكشف التلقائي عن منصات ARM وAArch64 وRISC-V متاحًا الآن. وأُضيفت وحدات ماكرو إجرائية للتهيئة وتسجيل الأوامر.
- بالنسبة لوحدات التحكم الدقيقة Cortex-M، يتم تمكين دعم معيار البرامج الثابتة المفتوحة مع وصف الأجهزة الطرفية عبر شجرة الأجهزة.
- تمت إضافة دعم لتقنية VirtIO 1.2 مع إمكانية استخدام قوائم انتظار الحزم، ونقل MMIO/PCI، ومزامنة DMA. كما تمت إضافة برامج تشغيل VirtIO لـ 9P، والتشفير، وRNG، وSCMI، وSCSI. وتم تحديث برامج تشغيل VirtIO للشبكة، وأجهزة التخزين، ووحدة التحكم، وأجهزة الإدخال، ووحدة معالجة الرسومات (GPU).
- تمت إضافة إطار عمل DVFS (تغيير الجهد والتردد الديناميكي) لإدارة تردد وحدة المعالجة المركزية والأجهزة بشكل ديناميكي. كما تم توفير التكامل مع برنامج ARM SCMI الثابت لإدارة الطاقة. وتم تحسين إدارة المراوح.
- تمت إضافة دعم لبيئات TEE (بيئة التنفيذ الموثوقة) وآلية مراسلة RPMSG (مراسلة المعالج البعيد).
- تم تطبيق دعم مقابس يونكس.
- تمت إضافة دعم لآليات أمان الشبكة اللاسلكية WPA3 و EA (مصادقة المؤسسة) و WAPI و OWE و DPP.
- تمت إضافة دعم لبروتوكول مزامنة الوقت PTP (بروتوكول التوقيت الدقيق).
- تمت إضافة إطار عمل Clock Time للتعامل مع الوقت، ودعم المؤقتات عالية الدقة ومزامنة الوقت عبر مصادر متعددة. يحل هذا الإطار الجديد محل مكونات ktime وcputime وhwtimer المستخدمة سابقًا.
- تم تطبيق نظام الملفات 9PFS، والذي يستخدم لتبادل الملفات بين بيئة المضيف والأجهزة الافتراضية.
- يدعم تطبيق العمليات الخفيفة (lwP) الآن بنية ARM ويضيف دعمًا لآلية vDSO (الكائن المشترك الديناميكي الافتراضي)، مما يسمح بنقل المعالجات من النواة إلى مساحة المستخدم وتجنب تبديل السياق.
- تدعم النواة العمليات الذرية ذات 8 و 16 بت.
- تمت إضافة دعم للمعالجة المتعددة المتناظرة (SMP) لمعالجات XuanTie C/R series RISC-V ومحاكي QEMU virt64.
- تم تحديث حزمة برامج CherryUSB USB إلى الإصدار 1.6.1.
- تمت إضافة برامج تشغيل جديدة لـ DM (مدير الأجهزة) لـ UFS و AHCI و NVMe و Ethernet و Intel HDA وعصي التحكم وشاشات اللمس.
المصدر: opennet.ru
