Internet of Things á ááºáá á¹á ááºážáá»á¬ážá¡ááœáẠreal-time operating system (RTOS) áá áºáá¯ááŒá áºááá·áº RT-Thread 5.3 ááᯠááœááºááŸááá¬ááŒá®ááŒá áºáááºá áááá áá¯ááŸá áºááŸá á ááá¯áẠdeveloper áá»á¬ážá¡ááá¯ááºážá¡ááá¯ááºážá០áá®ááœááºáá²á·ááŒá®áž ááá¯á¡áá« x86á ARMá MIPSá C-SKYá Xtensaá ARC ááŸáá·áº RISC-V architectures áá»á¬ážááᯠá¡ááŒá±áá¶áá¬ážááá·áº boardá chip ááŸáá·áº microcontroller áá á áá¯ááá¯á· port áá¯ááºáá¬ážááŒá®ážááŒá áºáááºá RT-Thread (Nano) á minimalist build ááẠFlash 3 KB ááŸáá·áº RAM 1.2 KB áᬠááá¯á¡ááºáá«áááºá resource á¡ááá·áºá¡áááºáááŸááá±á¬ IoT á ááºáá á¹á ááºážáá»á¬ážá¡ááœáẠpackage managementá configuratorá network stacká GUI packagesá voice control systemá DBMSá network services ááŸáá·áº scripting engines áá»á¬ážááᯠáá¶á·ááá¯ážáá±ážááá·áº fully featured version áááŸáááá¯ááºáá«áááºá áá¯ááºááᯠC ááŒáá·áºáá±ážáá¬ážáá¬ážááŒá®áž Apache 2.0 license á¡á±á¬ááºááœáẠááŒáá·áºáá±áá¬ážáááºá
áááºáááºááŸá¯á áá áºááœáẠá¡ááŒá±áá¶á¡ááœáŸá¬ áá¯á¶ážáá¯áá«áááºáááº-
- á¡áá¯ááºáá»á¬ážááᯠá¡áá»áááºááŸáá·áºáááŒá±ážáá® áá¯ááºáá±á¬ááºááá¯ááºá á±ááá·áº kernel áá áºáá¯á kernel ááẠáá±á¬á·ááºáá»ááŒááºážá á®áá¶ááá·áºááœá²ááŸá¯ááŸáá·áº áá±áá¬áááºáá°ááŒá¯ááŒááºážá á¡áá¯ááºá¡áá»áááºááá¬ážááœá²ááŒááºážá thread á á®áá¶ááá·áºááœá²ááŸá¯á á¡áá»ááºááŒááá¯ááºááœááºááŒááºážá áááºáá±á·áá»áºáááºážá á®ááŒááºážá á¡áá»áááºááá¯ááºážá á®áá¶ááá·áºááœá²ááŸá¯ááŸáá·áº áááºááá¯áá®á á®áá¶ááá·áºááœá²ááŸá¯á ááá·áº áááºáááºáá»á¬ážááᯠá¡áá»á¯á¶ážáááºá á±áá±á¬ áá±áá¯áá»á¡ááŒá±áá¶á¡ááŒá±áá¶áá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáá«áááºá CPU ááᯠáá¶á·ááá¯ážááẠááá¯á¡ááºáá±á¬ áááá¯ááºáá¬áá»á¬ážááŸáá·áº áá¯ááºáá»á¬áž áá«áááºááá·áº áá¬á·ááºáá²ááá¯ááºáᬠá¡áá°ážá¡ááºá¹áá«áááºáá»á¬ážááᯠlibcpu ááŸáá·áº BSP á¡ááá·áºáá»á¬ážááœáẠá¡áá±á¬ááºá¡áááºáá±á¬áºáá¬ážáááºá
- kernel áááááºááœááºáááºáááºááŒá®áž virtual ááá¯ááºá áá áºá ááŒáœááºážáá»ááºááá¯ááºááœááºááŸá¯á áá áºá áá±á¬á·/áááºááá¯ážááá¯ááŸá±á¬ááºááŸá¯á FinSH á¡áááá·áºáá±ážá á¬ááá¯ááºážá¡ááºáá¬áá±á·á áºá networking stack (LwIP) ááŸáá·áº networking frameworks áá²á·ááá¯á·áá±á¬ abstractions áá»á¬ážááᯠáá±ážáá±á¬ááºááá·áº á¡á áááºá¡ááá¯ááºážáá»á¬ážááŸáá·áº áááºáá±á¬ááºááŸá¯áá»á¬ážá á ááºáá á¹á ááºážáá¶á·ááá¯ážááŸá¯á á¬ááŒáá·áºááá¯ááºáá»á¬ážá á¡áá¶á áá áºááœá²áá»á¬ážá ááŒáá¯ážáá²á· stacká Wi-Fiá LoRaá Bluetoothá 2G/4G áá¶á·ááá¯ážááẠá¡á áááºá¡ááá¯ááºážáá»á¬ážá áá±á¬áºáá»á°áá¬áááá¯áá¬áááºáá¬áá»á¬ážááẠáááºááá¯ááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áº áááŸáááá¯ááºáá±á¬ áá¬á·ááºáá²á¡áááºážá¡ááŒá áºáá»á¬ážáá±á«áºáá°áááºá á¡á áááºá¡ááá¯ááºážáá»á¬ážááŸáá·áº áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáá»áááºáááºááá¯ááºá á±áá«áááºá
- Software packages áá»á¬ážá áá±áá°áá»áááºááœááºáá»áẠáá±á¬á·ááºáá²ááºá¡á áááºá¡ááá¯ááºážáá»á¬ážááŸáá·áº áá¯ááºáá±á¬ááºáá»ááºá á¬ááŒáá·áºááá¯ááºáá»á¬ážááᯠáááºáá±á·ááºá»áá¯á¶á á¶ááŒáá·áº ááŒáá·áºáá±ááŒá®áž ááá·áºááœááºážáá¬ážáááºá ááá¯ááŸá±á¬ááºááŸá¯ááœáẠáááºááŸáááœáẠá¡áá¯ááºáá±á«ááºáž 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 Kendrytá bouffalo_labá Nucleiá T-Headá HPMicro)á
- ARC (SYNOPSYS)
- DSP (TI)á
- ááá¯ááºááááºááœáŸá¬á
- x86 á
- á¡ááá·áºá¡áááºááŸááá±á¬ á¡áááºážá¡ááŒá áºáá»á¬ážááŸááá±á¬ á áá áºáá»á¬ážá¡ááœáẠááá·áºáá»á±á¬áºáá±á¬ áááºáááºážáá»ááºááᯠáááºáá®ážááá¯ááºá á±ááá·áº ááá¯ážáá»á²á·ááá¯ááºáá±á¬ áá±á¬áºáá»á°áá¬áááá¯áá¬áááºáᬠ(á¡áááá·áºáá¯á¶ážááá¯á¡ááºáá»ááºáá»á¬áž - 3 KB Flash ááŸáá·áº 1.2 KB RAM)á
- POSIXá CMSISá C++ API áá²á·ááá¯á·áá±á¬ áááá¯ááááºááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á¡ááœáẠá á¶á¡ááºáá¬áá±á·á áºá¡áá»áá¯ážáá»áá¯ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯á RTduino á¡ááœáŸá¬ááẠArduino ááá±á¬áá»áẠAPI ááŸáá·áº á á¬ááŒáá·áºááá¯ááºáá»á¬ážááŸáá·áº ááœá²áááºá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá¡ááœáẠáá®ážááŒá¬ážá á® áá®ááœááºáá»ááºááŸááááºá
- áááºáá±á·áá»áºáá»á¬ážááŸáá·áº ááááºá¡áẠá¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠá áá áºááŒáá·áº áá»á²á·ááœááºááá¯ááºááŒá±á
- á áœááºážáá±á¬ááºáááºááŒáá·áºáá¬ážáá±á¬ ááááºážá¡áá»ááºá¡áááºáá¯ááºáá±á¬ááºááŒááºážá¡ááœáẠá¡ááá®áá±ážááŸááºážááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á¡ááœáẠáá¶á·ááá¯ážááŸá¯á
- á ááºáá á¹á ááºážááᯠá¡áááºáá¯ááºááœáẠá¡ááá¯á¡áá»á±á¬áẠááá·áºááœááºážááá¯ááºááŒá®áž áááºáá±á«áº áá°áááºá ááá¯á·á¡á¬ážááŸáá·áº ááŒáááºááŸá¯ááºážááᯠá¡ááºááá¯ááºá¡á¬ážááá¯áẠááááºážáá»á¯ááºááá¯ááºá á±ááá·áº ááŒá±á¬ááºážááœááºááŒááºááœáẠáá«áá«á á®áá¶ááá·áºááœá²ááŸá¯á áá áºá
- áá¯ááºááŸááºááŒááºážááŸáá·áº áá¯ááºááŸááºááŒááºážá¡ááœáẠáá¬á·ááºáá²áá¶á·ááá¯ážááŸá¯á á¡áá»áá¯ážáá»áá¯ážáá±á¬ áá¯ááºááŸááºá áá Ạá¡ááºááá¯áá®áááºáá»á¬ážááŒáá·áº á á¬ááŒáá·áºááá¯ááºáá»á¬áž áá¶á·ááá¯ážáá±ážáááºá
- á¡áá¶áááááá¬áá»á¬ážááŸáá·áº á¡ááá¯áá á¹á ááºážáááááá¬áá»á¬ážááá¯á· áááºáá±á¬ááºá¡áá¯á¶ážááŒá¯ááá¯ááºááẠáá±á«ááºážá ááºážáá¬ážáá±á¬ á¡ááºáá¬áá±á·á áºá
- ááá¯ááºá áá áºá¡áá¯ááŸáá·áº FATá UFFSá NFSv3á ROMFS ááŸáá·áº RAMFS áá²á·ááá¯á·áá±á¬ ááá¯ááºá áá áºáá»á¬ážá¡ááœáẠáááá¯ááºáá¬áá»á¬áž áááŸáááá¯ááºáááºá
- áááá¯ááá¯áá±á¬ á¡á á¯á¡áá±áž TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M, á áááºááá¯á·á
- áá áºáá»á áºáááºáááºááŸááºááᯠá¡áá¯á¶ážááŒá¯á áá¯ááºááŸááºááŒááºážááŸáá·áº á¡áááºááŒá¯ááŒááºážááá¯á·ááᯠáá¶á·ááá¯ážáá±ážááá·áº á¡áá±ážá០áá±ážááá¯á·ááŒááºážááŸáá·áº á¡ááºááááºáá»á¬áž áááºáááºááŒááºážá¡ááœáẠá áá áºáá áºáá¯á á¡ááŸá±á¬ááºá¡ááŸááºááŒá áºá á±áá±á¬ áááºáááºááŸá¯ááᯠááŒááºáááºá áááºááŒááºážá áá»ááºááœááºááŸá¯á០ááŒááºáááºááá°ááŒááºážá á¡ááŒá±á¬ááºážá¡áá²áá»á¬áž ááŒááºáááºááŒá¯áá¯ááºááŒááºáž á áááºááŒáá·áºá
- kernel á¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠáá®ážááŒá¬ážáááºáá±á¬ááºááŒá®áž ááœá¶á·ááŒáá¯ážááá¯ážáááºá á±ááŒá®áž ááá¯á¡ááºááá·áºá¡áá« áááºážááá¯á·ááᯠááá¯ááºážááá áºááŒáá·áº áááºááá¯ááºááá·áº á áá áºáá áºáá¯ááŒá áºáááºá
- Yaffs2á SQLiteá FreeModbusá Canopen á áááºááŒáá·áº á¡áá»áá¯ážáá»áá¯ážáá±á¬ Third-party packages áá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáá«áááºá
- áááºááŸááºáá¬ážáá±á¬ áá¬á·ááºáá²ááááºáá±á¬ááºážááᯠáá¶á·ááá¯ážááẠá¡á áááºá¡ááá¯ááºážáá»á¬ážááŸáá·áºá¡áá° BSP áááºáá±á·ááºá» (Board Support Package) ááᯠááá¯ááºááá¯ááºá á¯á ááºážááá¯ááºááŒá®áž áááºážááᯠáá¯ááºáá±á«áºááœáẠáááºááá¯ááºáááºá
- á¡á á áºá¡ááŸááºáá¯ááºáá»á¬ážááá¯á¶ážáá² á¡ááá®áá±ážááŸááºážáá»á¬ážááᯠáá®ááœááºááá¯ááºá á±ááá·áº emulator (BSP qemu-vexpress-a9) ááááŸáááá¯ááºááŸá¯á
- GCCá MDK Keil ááŸáá·áº IAR áá²á·ááá¯á·áá±á¬ áá¯á¶ compilers ááŸáá·áº development tools áá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯á
- ááá·áºá¡á¬áž á¡ááºááºáá®áá±ážááŸááºážáá»á¬ážáááºáá®ážáááºááŸáá·áº á¡ááŸá¬ážááŸá¬ááŒááºáááºá áááºážááá¯á·á¡á¬áž áá¯ááºáá»á¬ážáá±á«áºááœááºáááºáááºááŸáá·áº áááºáááºáá»á¬ážááᯠá á®áá¶ááá·áºááœá²ááẠááœáá·áºááŒá¯ááá·áº áá»áœááºá¯ááºááá¯á·áááá¯ááºááá¯ááºáá±á«ááºážá áẠááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áááºáááºážáá»áẠRT-Thread Studio IDE ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á RT-Thread á¡ááœáẠááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ ááááºá¡ááºáá»á¬ážááᯠEclipse ááŸáá·áº VS Code ááá¯á·á¡ááœááºáááºáž áááá¯ááºáá«áááºá
- ááá±á¬áá»ááºáá»á¬ážáááºáá®ážááŒááºážááŸáá·áº áááºáááºážáá»ááºááᯠá áá áºááá·áºááœááºážááŒááºážááá¯á·ááᯠááá¯ážááŸááºážááœááºáá°á á±ááá·áº Env ááœááºááá¯ážááºá¡ááºáá¬áá±á·á áºááœáẠááŸááá±ááŒááºážá
á¡áá áºááœááºááŸááá¬ážáá±á¬ á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážáá²ááœááº-
- Rust áá¬áá¬á áá¬ážááŒáá·áº á¡á áááºá¡ááá¯ááºážáá»á¬áž áá®ááœááºááŒááºážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ááᯠááá¯ážáá»á²á·áá¬ážáááºá Rust bindings áá»á¬ážááᯠthreadsá mutexesá semaphoresá message queues áá»á¬ážá¡ááŒáẠmemoryá time ááŸáá·áº files áá»á¬ážááŒáá·áº áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá¡ááœáẠááá·áºááœááºážáá¬ážáááºá SCons ááŸáá·áº Cargo ááá¯á·ááŸáá·áº áá±á«ááºážá ááºáááºá¡ááœáẠá¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá¬ážáááºá ARMá AArch64 ááŸáá·áº RISC-V target platforms áá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬áẠáá±á¬ááºááŸááºážááŒááºážááᯠááᯠáááŸáááá¯ááºáá«ááŒá®á initialization ááŸáá·áº command registration á¡ááœáẠprocedural macros áá»á¬ážááᯠááá·áºááœááºážáá¬ážáááºá
- Cortex-M ááá¯ááºáááá¯ááœááºáááá¯áá¬áá»á¬ážá¡ááœááºá Device Tree ááŸáá áºááá·áº peripheral description áá«ááŸááá±á¬ Open Firmware á á¶ááŸá¯ááºážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ááᯠááœáá·áºáá¬ážáááºá
- VirtIO 1.2 á¡ááœáẠpacket queuesá MMIO/PCI transports ááŸáá·áº DMA synchronization ááá¯á·ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº áá¶á·ááá¯ážááŸá¯ááᯠááá·áºááœááºážáá¬ážáááºá 9Pá cryptoá RNGá SCMI ááŸáá·áº SCSI á¡ááœáẠVirtIO drivers áá»á¬ážááᯠááá·áºááœááºážáá¬ážáááºá networká block devicesá consoleá input devices ááŸáá·áº GPU á¡ááœáẠVirtIO drivers áá»á¬ážááᯠá¡ááºááááºáá¯ááºáá¬ážáááºá
- dynamic CPU ááŸáá·áº device frequency management á¡ááœáẠDVFS (Dynamic Voltage and Frequency Scaling) framework ááᯠááá·áºááœááºážáá¬ážáá«áááºá power management á¡ááœáẠARM SCMI firmware ááŸáá·áº áá±á«ááºážá ááºáá¬ážáá«áááºá Fan management ááᯠááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬áẠááŒá¯áá¯ááºáá¬ážáá«áááºá
- TEE (Trusted Execution Environment) áááºáááºážáá»ááºááŸáá·áº RPMSG (Remote Processor Messaging) áááºáá±á·áá»áºááá¯á·ááŒááºážááá¹ááá¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ááᯠááá·áºááœááºážáá¬ážáááºá
- Unix socket áá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒá®ážááŒá áºáááºá
- ááŒáá¯ážáá²á·ááœááºáááºáá¯á¶ááŒá¯á¶áá±ážááá¹ááá¬ážáá»á¬áž WPA3á EA (Enterprise Authentication)á WAPIá OWE ááŸáá·áº DPP ááá¯á·á¡ááœáẠáá¶á·ááá¯ážááŸá¯ááá·áºááœááºážáá¬ážáááºá
- PTP (Precision Time Protocol) á¡áá»áááºáááºáá°ááŒá¯ááŒááºáž protocol á¡ááœáẠáá¶á·ááá¯ážááŸá¯ááᯠááá·áºááœááºážáá¬ážáááºá
- á¡áá»áááºááŸáá·áºá¡áá¯ááºáá¯ááºáááºá¡ááœáẠClock Time framework ááᯠááá·áºááœááºážáá¬ážááŒá®ážá ááŒáá·áºáá¬ážáá±á¬áááá»áá±á¬ timers áá»á¬ážááŸáá·áº á¡áááºážá¡ááŒá áºáá»á¬ážá áœá¬ááœáẠá¡áá»áááºáááºáá°ááŒá¯ááŒááºážááᯠáá¶á·ááá¯ážáá±ážáá«áááºá á¡áá áºáá±á¬ framework ááẠááááºáá¡áá¯á¶ážááŒá¯áá²á·áá±á¬ ktimeá cputime ááŸáá·áº hwtimer component áá»á¬ážááᯠá¡á á¬ážááá¯ážáá«áááºá
- 9PFS ááá¯ááºá áá áºááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá¬ážááŒá®ážááŒá áºááŒá®áž host environment ááŸáá·áº virtual machine áá»á¬ážá¡ááŒá¬áž ááá¯ááºáá»á¬ážáááŸááºáááºá¡áá¯á¶ážááŒá¯áááºá
- lightweight processes (lwP) á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááẠARM architecture ááᯠááá¯á¡áá« áá¶á·ááá¯ážáá±ážááŒá®áž vDSO (virtual dynamic shared object) ááá¹ááá¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ááᯠááá·áºááœááºážáá±ážáá±á¬ááŒá±á¬áá·áº handler áá»á¬ážááᯠkernel á០user space ááá¯á· ááœáŸá±á·ááŒá±á¬ááºážááá¯ááºááŒá®áž context switch áá»á¬ážááᯠááŸá±á¬ááºááŸá¬ážááá¯ááºáááºááŒá áºáááºá
- kernel ááẠ8- ááŸáá·áº 16-bit atomic operations áá»á¬ážá¡ááœáẠsupport ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáááºá
- XuanTie C/R series RISC-V processors áá»á¬ážááŸáá·áº QEMU virt64 emulator á¡ááœáẠsymmetric multiprocessing (SMP) á¡ááœáẠáá¶á·ááá¯ážááŸá¯ááᯠááá·áºááœááºážáá¬ážáááºá
- CherryUSB USB stack ááᯠ1.6.1 ááá¯á· á¡ááºááááºáá¯ááºáá¬ážáááºá
- UFSá AHCIá NVMeá Ethernetá Intel HDAá joysticks ááŸáá·áº touchscreens á¡ááœáẠDM drivers (Device Manager) á¡áá áºáá»á¬ážááᯠááá·áºááœááºážáá¬ážáááºá
source: opennet.ru
