เพิ่งเป็นที่รู้จัก การเปิดตัวระบบปฏิบัติการเวอร์ชันใหม่ «RT-Thread 5.0»ซึ่งวางตำแหน่งเป็นระบบปฏิบัติการตามเวลาจริง (RTOS) สำหรับอุปกรณ์ IoT
ระบบ ได้รับการพัฒนาตั้งแต่ปี 2006 โดยชุมชนนักพัฒนาชาวจีน และปัจจุบันได้รับการพอร์ตไปยังบอร์ด ชิป และไมโครคอนโทรลเลอร์เกือบ 200 ตัวที่ใช้สถาปัตยกรรม x86, ARM, MIPS, C-SKY, Xtensa, ARC และ RISC-V
RT-Thread (Nano) เวอร์ชันมินิมอลต้องการเพียง 3KB ของ Flash และ 1,2KB ของ RAM เพื่อให้ทำงานได้ สำหรับอุปกรณ์ IoT ที่ไม่มีข้อจำกัดด้านทรัพยากรมากนัก มีเวอร์ชันเต็มซึ่งรองรับการจัดการแพ็คเกจ, ตัวกำหนดค่า, สแต็กเครือข่าย, แพ็คเกจพร้อมการใช้งานอินเทอร์เฟซแบบกราฟิก, ระบบควบคุมด้วยเสียง, DBMS, บริการเครือข่าย และเอ็นจิ้น เพื่อเรียกใช้สคริปต์
คุณสมบัติ RT-เธรด
ระบบปฏิบัติการประกอบด้วยสามชั้นพื้นฐาน:
- เคอร์เนลที่ทำงานตามเวลาจริง เคอร์เนลจัดเตรียมพื้นฐานพื้นฐานทั่วไปที่ครอบคลุมพื้นที่ต่างๆ เช่น การจัดการล็อคและการซิงโครไนซ์ข้อมูล การจัดตารางงาน การจัดการเธรด การจัดการสัญญาณ การจัดคิวข้อความ การจัดการตัวจับเวลา และการจัดการหน่วยความจำ คุณสมบัติเฉพาะของฮาร์ดแวร์ถูกนำมาใช้ที่ระดับ libcpu และ BSP ซึ่งรวมถึงไดรเวอร์และรหัสที่จำเป็นในการสนับสนุน CPU
- ส่วนประกอบและบริการที่ทำงานบนเคอร์เนล และเสนอสิ่งที่เป็นนามธรรม เช่น ระบบไฟล์เสมือน ระบบการจัดการข้อยกเว้น การจัดเก็บคีย์/ค่า อินเทอร์เฟซบรรทัดคำสั่ง FinSH เครือข่ายสแต็ก (LwIP) และเฟรมเวิร์กเครือข่าย ไลบรารีสำหรับการสนับสนุนอุปกรณ์ ระบบย่อยเสียง สแต็กไร้สาย ส่วนประกอบที่เข้ากันได้กับ Wi-Fi LoRa, บลูทูธ, 2G/4G สถาปัตยกรรมโมดูลาร์ช่วยให้คุณเชื่อมต่อส่วนประกอบและบริการตามงานของคุณและทรัพยากรฮาร์ดแวร์ที่มีอยู่
- ชุดโปรแกรม. ส่วนประกอบซอฟต์แวร์ที่ใช้งานทั่วไปและไลบรารีฟังก์ชันมีการแจกจ่ายและติดตั้งในรูปแบบของแพ็คเกจ
ปัจจุบันพื้นที่เก็บข้อมูลมีแพ็คเกจมากกว่า 450 แพ็คเกจ ตั้งแต่ GUI แอพพลิเคชั่นมัลติมีเดีย และแอพพลิเคชั่นเครือข่าย ไปจนถึงระบบควบคุมหุ่นยนต์และตัวประมวลผลการเรียนรู้ของเครื่อง
RT-กระทู้ มีสถาปัตยกรรมโมดูลาร์ที่สามารถขยายได้ นี้ ช่วยให้คุณสร้างสภาพแวดล้อมที่เหมาะสมสำหรับระบบที่มีทรัพยากรจำกัด (ข้อกำหนดขั้นต่ำ: Flash 3 KB และ RAM 1,2 KB) นอกจากนี้ยังสามารถทำงานร่วมกับอินเทอร์เฟซมาตรฐานต่างๆ สำหรับการพัฒนาโปรแกรม เช่น POSIX, CMSIS, C++ API แยกกัน เลเยอร์ RTduino กำลังได้รับการพัฒนาให้เข้ากันได้กับ API ของโครงการ Arduino และไลบรารี่
คุณสมบัติที่โดดเด่นอีกอย่างคือ ระบบการจัดการพลังงานที่ยืดหยุ่น ซึ่งทำให้อุปกรณ์เข้าสู่โหมดสลีปโดยอัตโนมัติและจัดการแรงดันไฟฟ้าและความถี่แบบไดนามิกโดยขึ้นอยู่กับโหลด
นอกจากนี้ยังมี รองรับฮาร์ดแวร์สำหรับการเข้ารหัสและถอดรหัสจัดหาห้องสมุดด้วยอัลกอริทึมการเข้ารหัสต่างๆ
นอกจากนี้ ยังมีระบบสำหรับส่งและติดตั้งการอัปเดตระยะไกลที่รองรับการเข้ารหัสและการตรวจสอบโดยใช้ลายเซ็นดิจิทัล ดำเนินการติดตั้งต่อเมื่อถูกขัดจังหวะ การกู้คืนจากความล้มเหลว การย้อนกลับของการเปลี่ยนแปลง ฯลฯ
เช่นเดียวกับระบบของโมดูลเคอร์เนลที่โหลดได้แบบไดนามิก ซึ่งช่วยให้คุณสร้างและพัฒนาส่วนประกอบเคอร์เนลแยกจากกัน และโหลดแบบไดนามิกเมื่อจำเป็น
จากลักษณะอื่น ๆ ที่โดดเด่น:
- รองรับแพ็คเกจของบุคคลที่สามต่างๆ เช่น Yaffs2, SQLite, FreeModbus, Canopen เป็นต้น
- รองรับคอมไพเลอร์ทั่วไปและเครื่องมือในการพัฒนา เช่น GCC, MDK Keil และ IAR
- การพัฒนาสภาพแวดล้อมการพัฒนาแบบบูรณาการ RT-Thread Studio IDE ซึ่งอนุญาตให้สร้างและดีบักแอปพลิเคชัน อัปโหลดไปยังแดชบอร์ด และจัดการการกำหนดค่า นอกจากนี้ยังมีปลั๊กอินการพัฒนา RT-Thread สำหรับ Eclipse และ VS Code
- การมีอยู่ของอินเทอร์เฟซคอนโซล Env ซึ่งช่วยลดความยุ่งยากในการสร้างโครงการและการกำหนดค่าสภาพแวดล้อม
- ความสามารถในการรวบรวมแพ็คเกจ BSP โดยตรง
- ขยายได้ผ่านระบบแพ็คเกจและปลั๊กอิน
- อินเทอร์เฟซแบบครบวงจรสำหรับการเข้าถึงอุปกรณ์ต่อพ่วงและอุปกรณ์เพิ่มเติม
- รองรับการพัฒนาแอพพลิเคชั่นเพื่อการประมวลผลข้อมูลประสิทธิภาพสูง
- FS เสมือนและความพร้อมของไดรเวอร์สำหรับ FS
เกี่ยวกับ RT-เธรด 5.0
เกี่ยวกับฟังก์ชั่นใหม่ที่เพิ่มเข้ามาในเวอร์ชั่น 5.0 สังเกตได้จากก การปรับปรุงที่สำคัญในการรองรับระบบมัลติคอร์และมัลติเธรด (ตัวอย่างเช่น สแตกเครือข่ายและระบบไฟล์ได้รับการปรับให้ทำงานในโหมดมัลติเธรด
ความแปลกใหม่อีกอย่างคือ ตัวกำหนดตารางเวลาแบ่งออกเป็นตัวเลือกสำหรับระบบ single-core และ SMP เช่นเดียวกับการใช้งาน TLS (Thread Local Storage) ที่เพิ่มเข้ามา
นอกจากนี้ ยังเน้นถึงการสนับสนุนที่ดีขึ้นสำหรับชิป Cortex-A ความเข้ากันได้ที่ดีขึ้นอย่างมากสำหรับระบบ 64 บิต (ระบบไฟล์ที่ผ่านการตรวจสอบและสแต็ก TCP/IP สำหรับระบบ 64 บิต) และส่วนประกอบการจัดการหน่วยความจำแฟลชแบบบูรณาการ เช่นเดียวกับ เครื่องมือสำหรับสร้างคอนโทรลเลอร์ได้รับการออกแบบใหม่
สำหรับผู้ที่สนใจระบบนี้ควรทราบว่าโค้ดนั้นเขียนด้วยภาษา C และเผยแพร่ภายใต้ลิขสิทธิ์ Apache 2.0
สามารถตรวจสอบรายละเอียดเพิ่มเติมได้ที่ ลิงค์ต่อไปนี้