RT-Thread

From Wikipedia, the free encyclopedia
Jump to: navigation, search
RT-Thread
Developer Bernard Xiong & RT-Thread Team
OS family Real-time operating systems
Working state Current
Source model Free Software/Open Source
Latest release 1.1.1 / Jun, 2013
Marketing target Embedded devices
Platforms ARM (ARM7, ARM9, Cortex-M3, Cortex-R4, Cortex-M4), AVR32, x86, M16C, NIOS, MIPS
Kernel type Single Kernel
License GPLv2
Official website www.rt-thread.org

RT-Thread[1][2] is an open source real-time operating system for embedded devices. It is distributed under the GPLv2 licence. RT-Thread is developed by the RT-Thread Studio based in China, after five years' fully concentrated development. It is aimed to change the current situation in China that there is no well used open source real-time operating system in the microcontroller area.

RT-Thread kernel[edit]

  • Object oriented real-time core (while remaining the elegant and flexible style of C Programming Language);
  • 8, 32 or 256 priority scheduling multi-thread scheduling; Using the round-robin policy ensures that all threads having the same priority level will be scheduled equally;
  • Synchronization of threads: semaphore and mutual exclusion semaphore (mutex) to prevent priority inversion;
  • Complete and efficient support for communication between threads, including mailbox, message queues, event flag;
  • Static memory management supports thread suspend/resume when it allocates/frees a memory block and thread-safe dynamic heap management;
  • A device driver framework to provide standard interface to high level application;

FinSH shell[edit]

  • Command line that accepts C-like expression;
  • Access system core functions directly via command line like C Programming Language grammar;
  • Access system global variables directly via command line like C Programming Language grammar;
  • Command history records and automatic complete for the Command Prompt;

Device File System[edit]

  • Virtual File System optimised for small device
  • POSIX style API;
  • Support the different implementation of file systems
  • Wrapper for ELM Chan's FatFs filesystem.

TCP/IP protocol stack[edit]

LwIP is a lightweight TCP/IP protocol stack with the following capabiliites.

  • Standard BSD Socket interface.
  • IP, ICMP, UDP, TCP supported.
  • DNS, DHCP, PPP supported.
  • TFTP, HTTP, FTP supported (refer to the netutil component).

RT-Thread/GUI[edit]

  • Integrated with RT-Thread;
  • Multi-Thread supported;
  • Multi-Window supported;
  • Rich Widgets such as: label, button, checkbox, radiobox, etc.
  • Client/Server Architecture;
  • Client: Workbench/View/Window Architecture;
  • Chinese GB2312 display.

CPU architectures[edit]

The following CPU architectures are supported:
ARM[3]

AVR32

  • AVR32UC3

IA32(X86)

M16C

MIPS

  • JZ47xx
  • LOONGSON
  • LOONGSON 1B

PIC32

NIOS

NEC

See also[edit]

References[edit]

  1. ^ "RT-Thread 启动下一代RTOS演化". 
  2. ^ "RT-Thread English". 
  3. ^ "RT-Thread.org- Connected Community - ARM". 

External links[edit]