RT-thread Nano移植
一、相关概念及安装
1.RT-Thread
RT-Thread,全称是Real Time-Thread,是一款主要由中国开源社区主导开发的开源实时操作系统,包含了实时、嵌入式系统相关的各个组件:TCP/IP协议栈、图形用户界面等。
相较于Linux,RT-Thread 具有体积小,成本低,功耗低、启动快速的优势。除此以外,实时性高、占用资源小等特点,使得它也非常适用于各种资源受限(如成本、功耗限制等)的场合(刚刚好适合装在小内存的开发板上)。
在物联网设备的应用中,RT-Thread 能使用在线软件包管理工具,配合系统配置工具,实现直观、快速的模块化裁剪、无缝导入丰富的软件功能包,以及类似 Android 的图形界面和触摸滑动、智能语音交互等复杂功能。
RT-Thread 系统完全开源,可以免费在商业产品中使用,并且不需要公开私有代码。
2.RT-Thread架构
相对于一些传统的RTOS 如 FreeRTOS、uC/OS 等,RT-Thread 架构上最大的区别在于:它是一个物联网操作系统(IoT OS)。
即RT-Thread 除了包含一个实时内核外,还包括如文件系统、图形库等较为完整的中间件组件,是具备低功耗、安全、通信协议支持和云端连接能力的软件平台。
内核层:
- RT-Thread 内核:系统核心部分,包括了内核系统中对象的实现,例如多线程及其调度、消息队列、内存管理等
- libcpu/BSP(芯片移植相关文件 / 板级支持包):与硬件密切相关,由外设驱动和 CPU 移植构成;
组件与服务层:
组件是基于内核之上的上层软件,例如虚拟文件系统、FinSH 命令行界面、网络框架、设备框架等。采用模块化设计,做到组件内部高内聚,组件之间低耦合;
RT-Thread 软件包:
运行于 RT-Thread 物联网操作系统平台上,面向不同应用领域的通用软件组件,由描述信息、源代码或库文件组成。开发者可依据自身需求,选择、组合不同软件包,打造自己想要的系统。
目前支持的软件包有且不仅有:
- 物联网相关:Paho MQTT、WebClient、mongoose、WebTerminal 等;
- 脚本语言相关:JerryScript、MicroPython ;
- 多媒体相关:Openmv、mupdf;
- 系统相关:RTGUI、Persimmon UI、lwext4、partition、SQLite 等。
3.安装
二、工程配置及代码编译
1.新建工程与配置
Softwares Packages—Select Components