# RT-Thread Nano 简介
RT-Thread Nano 是一个极简版的硬实时内核,它是由 C 语言开发,采用面向对象的编程思维,具有良好的代码风格,是一款可裁剪的、抢占式实时多任务的 RTOS。其内存资源占用极小,功能包括任务处理、软件定时器、信号量、邮箱和实时调度等相对完整的实时操作系统特性。适用于家电、消费电子、医疗设备、工控等领域大量使用的 32 位 ARM 入门级 MCU 的场合。
下图是 RT-Thread Nano 的软件框图,包含支持的 CPU 架构与内核源码,还有可拆卸的 FinSH 组件:
![架构](docs/figures/framework.png)
**支持架构**:ARM:Cortex M0/ M3/ M4/ M7 等、RISC-V 及其他。
**功能**:线程管理、线程间同步与通信、时钟管理、中断管理、内存管理。
## Nano 的特点
### 简单
**1、下载简单**
RT-Thread Nano 以软件包的方式集成在 Keil MDK 与 CubeMX 中,可以直接在软件中下载 Nano 软件包获取源码,获取方式详见 [使用 KEIL MDK 移植 RT-Thread Nano](nano-port-keil/nano-port-keil.md) 与 [使用 CubeMX 移植 RT-Thread Nano](nano-port-cube/nano-port-cube.md) 。
同时也提供 [下载 Nano 源码压缩包]() 的途径,方便在其他开发环境移植 RT-Thread Nano,如 [使用 IAR 移植 RT-Thread Nano](nano-port-iar/nano-port-iar.md)。
**2、代码简单**
与 RT-Thread 完整版不同的是,Nano 不含 Scons 构建系统,不需要 Kconfig 以及 Env 配置工具,也去除了完整版特有的 device 框架和组件,仅是一个纯净的内核。
**3、移植简单**
由于 Nano 的极简特性,使 Nano 的移植过程变得极为简单。添加 Nano 源码到工程,就已完成 90% 的移植工作。并且在 Keil MDK 与 Cube MX 中还提供了 Nano 的软件包,可以一键下载加入到工程。以下是使用不同开发环境时,可以选择移植 Nano 的方法:
- [使用 KEIL MDK 移植 RT-Thread Nano](nano-port-keil/nano-port-keil.md)
- [使用 CubeMX 移植 RT-Thread Nano](nano-port-cube/nano-port-cube.md)
- [使用 IAR 移植 RT-Thread Nano](nano-port-iar/nano-port-iar.md)
- [移植 RT-Thread Nano 到 RISC-V](nano-port-gcc-riscv/nano-port-gcc-riscv.md)
**4、使用简单**
RT-Thread Nano 在使用上也非常简单,带给开发者友好的开发体验。
- 易裁剪:Nano 的配置文件为 rtconfig.h,该文件中列出了内核中的所有宏定义,有些默认没有打开,如需使用,打开即可。具体的配置可见 Nano 版块的 [RT-Thread Nano 配置](nano-config/nano-config.md) 教程。
- 易添加 FinSH 组件:[FinSH 组件](../../programming-manual/finsh/finsh.md) 可以很方便的在 Nano 上进行移植,而不再依赖 device 框架,只需要对接两个必要的函数即可完成 [FinSH 移植](finsh-port/finsh-port.md)。
- 自选驱动库:可以使用厂商提供的固件驱动库,如 ST 的 STD 库、HAL 库、LL 库等,可以自行选择。
- 完善的文档:包含 [内核基础](../../programming-manual/basic/basic.md)、[线程管理 (例程)](../../programming-manual/thread/thread.md)、[时钟管理 (例程)](../../programming-manual/timer/timer.md)、[线程间同步 (例程)](../../programming-manual/ipc1/ipc1.md)、[线程间通信 (例程)](../../programming-manual/ipc2/ipc2.md)、[内存管理 (例程)](../../programming-manual/memory/memory.md)、[中断管理](../../programming-manual/interrupt/interrupt.md) ,以及 Nano 版块的移植教程。
### 小巧
**资源占用小**:对 RAM 与 ROM 的开销非常小,在支持 semaphore 和 mailbox 特性,并运行两个线程 (main 线程 + idle 线程) 情况下,ROM 和 RAM 依然保持着极小的尺寸,RAM 占用约 1K 左右,ROM 占用 4K 左右。
Nano 资源占用情况举例:在运行两个线程 (main 线程 + idle 线程) 情况下,ROM 和 RAM 依然保持着极小的尺寸。以下是基于 Cortex M3 的 MDK 工程编译结果(优化等级 3)。
```
Total RO Size (Code + RO Data) 4000 ( 3.91kB)
Total RW Size (RW Data + ZI Data) 1168 ( 1.14kB)
Total ROM Size (Code + RO Data + RW Data) 4092 ( 4.00kB)
```
> 注:如果需要丰富的组件、驱动以及软件包等功能,则建议使用 [RT-Thread 完整版](../../index.md)。
### 开源免费(Apache 2.0)
RT-Thread Nano 实时操作系统遵循 Apache 许可证 2.0 版本,实时操作系统内核及所有开源组件可以免费在商业产品中使用,不需要公布应用程序源码,没有潜在商业风险。
没有合适的资源?快使用搜索试试~ 我知道了~
GD32F407移植RT-Thread工程模板
共327个文件
c:132个
h:132个
s:41个
需积分: 5 0 下载量 24 浏览量
2024-08-07
16:54:18
上传
评论 1
收藏 995KB ZIP 举报
温馨提示
GD32F407移植RT-Thread工程模板,使用基础的LED工程模板,移植RTT,添加rt_printf支持以及finsh组件支持
资源推荐
资源详情
资源评论
收起资源包目录
GD32F407移植RT-Thread工程模板 (327个子文件)
start_ccs.asm 14KB
context_ccs.asm 7KB
vector_ccs.asm 901B
AUTHORS 616B
clean.bat 419B
gd32f4xx_enet.c 148KB
gd32f4xx_timer.c 87KB
ipc.c 63KB
gd32f4xx_exmc.c 56KB
gd32f4xx_rcu.c 49KB
gd32f4xx_adc.c 48KB
gd32f4xx_rtc.c 46KB
gd32f4xx_can.c 39KB
system_gd32f4xx.c 36KB
gd32f4xx_dma.c 36KB
cmd.c 34KB
gd32f4xx_fmc.c 34KB
kservice.c 34KB
gd32f4xx_usart.c 34KB
audio_core.c 32KB
gd32f4xx_i2c.c 30KB
gd32f4xx_spi.c 30KB
gd32f4xx_sdio.c 28KB
slab.c 26KB
gd32f4xx_ipa.c 26KB
shell.c 25KB
usbd_enum.c 25KB
memheap.c 24KB
gd32f4xx_tli.c 24KB
usbd_msc_scsi.c 23KB
thread.c 23KB
dfu_core.c 22KB
usbh_enum.c 22KB
gd32f4xx_dac.c 22KB
mem.c 21KB
usbh_core.c 21KB
drv_usb_dev.c 20KB
timer.c 19KB
drv_usbh_int.c 19KB
usbh_hid_core.c 19KB
usbh_msc_core.c 19KB
drv_usbd_int.c 18KB
usb_iap_core.c 17KB
gd25qxx.c 16KB
cdc_acm_core.c 16KB
custom_hid_core.c 15KB
object.c 15KB
msh.c 15KB
gd32f4xx_gpio.c 15KB
interrupt.c 14KB
standard_hid_core.c 14KB
at24cxx.c 14KB
drv_usb_host.c 14KB
usbh_msc_scsi.c 13KB
scheduler.c 13KB
gd32f4xx_ctc.c 13KB
usbh_msc_bbb.c 12KB
cpuport.c 12KB
cpuport.c 12KB
mempool.c 12KB
usbh_standard_hid.c 12KB
usbd_msc_core.c 12KB
Lcd_Driver.c 12KB
drv_usb_core.c 12KB
gd32f4xx_pmu.c 12KB
tim.c 12KB
usbh_transc.c 11KB
mmu.c 11KB
cpuport.c 10KB
gd32f4xx_dci.c 10KB
printer_core.c 10KB
gic.c 9KB
usbd_core.c 9KB
usbd_msc_bbb.c 9KB
mmu.c 9KB
gd32f4xx_exti.c 8KB
usbd_transc.c 8KB
gd32f4xx_syscfg.c 8KB
gd32f4xx_dbg.c 8KB
GUI.c 7KB
dfu_mem.c 7KB
idle.c 7KB
gd32f4xx_misc.c 7KB
gd32f4xx_fwdgt.c 7KB
usbh_msc_fatfs.c 6KB
components.c 6KB
usbh_pipe.c 6KB
audio_out_itf.c 5KB
cpuport.c 5KB
trap.c 5KB
stack.c 5KB
mmu.c 5KB
cpuport.c 5KB
gd32f4xx_trng.c 4KB
cpuport.c 4KB
trap.c 4KB
adc.c 4KB
gd32f4xx_wwdgt.c 4KB
gd32f4xx_it.c 4KB
gd32f4xx_crc.c 4KB
共 327 条
- 1
- 2
- 3
- 4
资源评论
Jack_Cheng_2024
- 粉丝: 115
- 资源: 23
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- bdwptqmxgj11.zip
- onnxruntime-win-x86
- onnxruntime-win-x64-gpu-1.20.1.zip
- vs2019 c++20 语法规范 头文件 <ratio> 的源码阅读与注释,处理分数的存储,加减乘除,以及大小比较等运算
- 首次尝试使用 Win,DirectX C++ 中的形状渲染套件.zip
- 预乘混合模式是一种用途广泛的三合一混合模式 它已经存在很长时间了,但似乎每隔几年就会被重新发现 该项目包括使用预乘 alpha 的描述,示例和工具 .zip
- 项目描述 DirectX 引擎支持版本 9、10、11 库 Microsoft SDK 功能相机视图、照明、加载网格、动画、蒙皮、层次结构界面、动画控制器、网格容器、碰撞系统 .zip
- 项目 wiki 文档中使用的代码教程的源代码库.zip
- 面向对象的通用GUI框架.zip
- 基于Java语言的PlayerBase游戏角色设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功