diff --git a/README.md b/README.md index 65fb1452b2a6a9f4a76aacab050a934b30f63007..ba3513e08d4a3a43233614f7ca585345fd93327b 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,6 @@ [](#进阶学习) [](#应用开发) -
-初次使用 RT-Thread 操作系统进行开发的小伙伴,可以参考本篇文档的学习路线进行上手入门。 -
- # 版本简介 @@ -19,7 +15,7 @@ RT-Thread 主要采用 C 语言编写,浅显易懂,方便移植。它把面 相较于 Linux 操作系统,RT-Thread 体积小,成本低,功耗低、启动快速,除此以外 RT-Thread 还具有实时性高、占用资源小等特点,非常适用于各种资源受限(如成本、功耗限制等)的场合。虽然 32 位 MCU 是它的主要运行平台,实际上很多带有 MMU、基于 ARM9、ARM11 甚至 Cortex-A 系列级别 CPU 的应用处理器在特定应用场合也适合使用 RT-Thread。 -适用于需要使用 RT-Thread 的丰富功能,如各类外设、物联网组件、软件包等的场景。[更多...](/rt-thread-version/rt-thread-standard/README.md) +适用于需要使用 RT-Thread 的丰富功能,如各类外设、物联网组件、软件包等的场景...  @@ -33,237 +29,18 @@ RT-Thread Nano 是一个极简版的硬实时内核,它是由 C 语言开发 **支持架构**:ARM:Cortex M0/ M3/ M4/ M7 等、RISC-V 及其他。 -**功能**:线程管理、线程间同步与通信、时钟管理、中断管理、内存管理。[更多...](/rt-thread-version/rt-thread-nano/an0038-nano-introduction.md) - +**功能**:线程管理、线程间同步与通信、时钟管理、中断管理、内存管理... ## ** Smart 版本 ** RT-Thread Smart 是基于 RT-Thread 操作系统上的混合操作系统,简称为 rt-smart,它把应用从内核中独立出来,形成独立的用户态应用程序,并具备独立的地址空间(32 位系统上是 4G 的独立地址空间)。 -以下是 rt-smart 的整体结构框图,在硬件平台的基础上通过 MMU、系统调用的方式把整个系统分成了内核态及用户态。[更多...](/rt-thread-version/rt-thread-smart/introduction/rt-smart-intro/rt-smart-intro.md) +以下是 rt-smart 的整体结构框图,在硬件平台的基础上通过 MMU、系统调用的方式把整个系统分成了内核态及用户态...  - -# 学习路线 - -从版本简介中可以看出,`Nano 版本` 是 `标准版本` 的极简内核版本,`Smart 版本` 是在 `标准版本` 上增加了用户态创造而来,所以学习 `标准版本` 是学习 RT-Thread 的基础。本篇文章以学习 **RT-Thread 标准版本** 为例,为初学者制定学习路线如下,分为入门学习、进阶学习、应用开发。 -## 入门学习 - - - -### ** 无 RTOS 经验 ** - - - -**针对人群:有 C 语言、嵌入式基础,想系统学习 RT-Thread 操作系统** - -#### 模拟运行 - -[Keil MDK 模拟器 STM32F103 体验](/rt-thread-version/rt-thread-standard/tutorial/quick-start/stm32f103-simulator/stm32f103-simulator.md) - -#### 快速上手 - -推荐使用 [潘多拉开发板](https://item.taobao.com/item.htm?id=583527145598) 配套使用 [潘多拉开发板教程](https://gitee.com/Armink/IoT_Board),或者以下主流的学习板进行学习,不建议没有任何基础就将 RT-Thread 移植到一块开发板上。 - -- [RT-Thread 潘多拉 STM32L475 上手指南](/rt-thread-version/rt-thread-standard/tutorial/quick-start/iot_board/quick-start.md) -- [野火霸道 STM32F103 上手指南](/rt-thread-version/rt-thread-standard/tutorial/quick-start/stm32f103-fire-arbitrary/quick-start.md) -- [正点原子 nanoSTM32F103 上手指南](/rt-thread-version/rt-thread-standard/tutorial/quick-start/stm32f103-atk-nano/quick-start) -- [野火挑战者 STM32F429 上手指南](/rt-thread-version/rt-thread-standard/tutorial/quick-start/stm32f429-fire-challenger/quick-start.md) -- [正点原子探索者 STM32F407 上手指南](/rt-thread-version/rt-thread-standard/tutorial/quick-start/stm32f407-atk-explorer/quick-start.md) -- [正点原子阿波罗 STM32F429 上手指南](/rt-thread-version/rt-thread-standard/tutorial/quick-start/stm32f429-atk-apolo/quick-start.md) -- [野火 I.MX RT1052 上手指南](/rt-thread-version/rt-thread-standard/tutorial/quick-start/imxrt1052-fire-mini/quick-start.md) -- [正点原子 I.MX RT1052 号令者上手指南](/rt-thread-version/rt-thread-standard/tutorial/quick-start/imxrt1052-atk-commander/quick-start.md) -- [OPENHW Core-V-MCU](/rt-thread-version/rt-thread-standard/tutorial/quick-start/openhw-core-v-mcu/quick-start.md) -- [其他...](/rt-thread-version/rt-thread-standard/tutorial/quick-start/more.md) - -#### 内核学习 - -[内核视频教程](https://www.rt-thread.org/video.html) - -《内核实验手册》 - -### ** 有 RTOS 经验 ** - - - -**针对人群:学过 FreeRTOS 或 uC/OS, 想把 RT-Thread 使用起来** - -#### 快速上手 - -准备一块板子,根据 RT-Thread 支持的板子 BSP 进行 [快速上手](/rt-thread-version/rt-thread-standard/tutorial/quick-start/more.md),或者根据 [STM32 系列 BSP 制作教程进行移植](https://github.com/RT-Thread/rt-thread/blob/master/bsp/stm32/README.md)。 - -如果使用 Ubuntu 进行开发,可以参考:[在 Ubuntu 下开发 RT-Thread](/rt-thread-version/rt-thread-standard/application-note/setup/qemu/ubuntu/an0005-qemu-ubuntu.md)。 - -#### 编程指南 - -快速学习内核,参考:[《RT-Thread 编程指南》](https://www.rt-thread.org/download/manual/um4003-rtthread-programming-manual.pdf)。 - -#### API 手册 -查看 [在线 API 手册](https://www.rt-thread.org/document/api/) 或 [下载 API 手册](https://www.rt-thread.org/document/api/api.zip)。 - -#### 第三方 RTOS 兼容层 -为方便之前有其他 RTOS 使用经验的用户快速上手 RT-Thread,以及将基于其他 RTOS 的 API 编写的应用层代码快速移植到 RT-Thread 上,RT-Thread 社区编写了第三方 RTOS 兼容层。目前支持以下第三方 RTOS 的 API 无感移植: - -- [uCOS-II操作系统兼容层](https://github.com/mysterywolf/RT-Thread-wrapper-of-uCOS-II) -- [uCOS-III操作系统兼容层](https://github.com/mysterywolf/RT-Thread-wrapper-of-uCOS-III) - - - -## 进阶学习 - - - -### ** 开发工具 ** -#### Env 工具 - -Env 工具:Env 工具用于对源码功能进行配置或裁剪,可以生成 MDK/IAR/GCC 工程,需要配合 MDK/IAR/GCC 使用,详见 [Env 用户手册](/development-tools/env/env.md)。 - -#### RT-Thread IDE - -RT-Thread Studio :可以在 Studio 中下载源码包并创建 rt-thread 工程,独立完成开发、编译、下载、调试等功能,并能进行功能裁剪,详见 [RT-Thread Studio 用户手册](/development-tools/rtthread-studio/um/studio-user-manual.md)。 - -### ** 设备与驱动 ** - - - -[IO 设备模型](/rt-thread-version/rt-thread-standard/programming-manual/device/device.md) - -[PIN 设备](/rt-thread-version/rt-thread-standard/programming-manual/device/pin/pin.md) - -[UART 设备](/rt-thread-version/rt-thread-standard/programming-manual/device/uart/uart_v1/uart.md) - -[UART 设备V2版本](/rt-thread-version/rt-thread-standard/programming-manual/device/uart/uart_v2/uart.md) - -[CAN 设备](/rt-thread-version/rt-thread-standard/programming-manual/device/can/can.md) - -[HWTIMER 设备](/rt-thread-version/rt-thread-standard/programming-manual/device/hwtimer/hwtimer.md) - -[I2C 设备](/rt-thread-version/rt-thread-standard/programming-manual/device/i2c/i2c.md) - -[PWM 设备](/rt-thread-version/rt-thread-standard/programming-manual/device/pwm/pwm.md) - -[RTC 设备](/rt-thread-version/rt-thread-standard/programming-manual/device/rtc/rtc) - -[SPI 设备](/rt-thread-version/rt-thread-standard/programming-manual/device/spi/spi) - -[WATCHDOG 设备](/rt-thread-version/rt-thread-standard/programming-manual/device/watchdog/watchdog) - -[SENSOR 设备](/rt-thread-version/rt-thread-standard/programming-manual/device/sensor/sensor) - -[更多...](/rt-thread-version/rt-thread-standard/programming-manual/device/device.md) -### ** 组件 ** - - - -[FinSH 控制台](/rt-thread-version/rt-thread-standard/programming-manual/finsh/finsh) - -[文件系统](/rt-thread-version/rt-thread-standard/programming-manual/filesystem/filesystem) - -[netdev 网卡](/rt-thread-version/rt-thread-standard/programming-manual/netdev/netdev) - -[SAL 套接字抽象层](/rt-thread-version/rt-thread-standard/programming-manual/sal/sal) - -[AT 命令](/rt-thread-version/rt-thread-standard/programming-manual/at/at) - -[ulog 日志](/rt-thread-version/rt-thread-standard/programming-manual/ulog/ulog) - -[utest 测试框架](/rt-thread-version/rt-thread-standard/programming-manual/utest/utest) - -[动态模块](/rt-thread-version/rt-thread-standard/programming-manual/dlmodule/dlmodule) - -[POSIX 接口](/rt-thread-version/rt-thread-standard/programming-manual/libc/posix/introduction) - -[电源管理](/rt-thread-version/rt-thread-standard/programming-manual/pm/pm) - -[更多...](/rt-thread-version/rt-thread-standard/programming-manual/finsh/finsh) - - - -## 应用开发 - -| 应用开发列表 | 应用开发列表 | -| ------------------------------------------------------------ | ------------------------------------------------------------ | -| [使用 Eclipse 开发 RT-Thread](/rt-thread-version/rt-thread-standard/application-note/setup/qemu/eclipse/an0020-qemu-eclipse) | [CmBacktrace应用](/rt-thread-version/rt-thread-standard/application-note/debug/cmbacktrace/an0013-CmBacktrace) | -| [使用 VS Code 开发 RT-Thread](/rt-thread-version/rt-thread-standard/application-note/setup/qemu/vscode/an0021-qemu-vscode) | [在STM32 Nucleo 开发板上使用 RW007 WiFi 模块](/rt-thread-version/rt-thread-standard/application-note/packages/rw007_module_using/an0034-rw007-module-using) | -| [使用 Env 创建 RT-Thread 项目工程](/rt-thread-version/rt-thread-standard/application-note/setup/standard-project/an0017-standard-project) | [在 STM32L4 上应用 littlefs 文件系统](/rt-thread-version/rt-thread-standard/application-note/components/dfs/an0027-littlefs) | -| [搭建RT-Thread项目框架](/rt-thread-version/rt-thread-standard/application-note/setup/standard-project/an0017-standard-project) | [在潘多拉上使用 SFUD 操作 Flash](/rt-thread-version/rt-thread-standard/application-note/components/sfud/an0048-sfud) | -| [在IoT Board上实现电源管理](/rt-thread-version/rt-thread-standard/application-note/system/pm/an0025-pm) | [STM32 通用 Bootloader](/rt-thread-version/rt-thread-standard/application-note/system/rtboot/an0028-rtboot) | -| [网络协议栈驱动移植](/rt-thread-version/rt-thread-standard/application-note/components/network/an0010-lwip-driver-porting) | [wireshark 抓取 tls 数据包](/rt-thread-version/rt-thread-standard/application-note/packages/mbedtls_wireshark_sniffer/an0029-mbedtls_wireshark_sniffer) | -| [在STM32F429上应用网络功能](/rt-thread-version/rt-thread-standard/application-note/components/network/an0011-network-started) | [在 STM32 上应用 C++](/rt-thread-version/rt-thread-standard/application-note/components/cplusplus/an0035-cpp) | -| [在STM32F429上应用文件系统](/rt-thread-version/rt-thread-standard/application-note/components/dfs/an0012-dfs) | [STM32 上使用 PWM](/rt-thread-version/rt-thread-standard/application-note/driver/pwm/an0037-rtthread-driver-pwm) | -| [FreeModbus 应用笔记](/rt-thread-version/rt-thread-standard/application-note/packages/freemodbus/an0036-freemodbus) | [STM32 上使用 USB Host 读写 U 盘](/rt-thread-version/rt-thread-standard/application-note/driver/usb/an0046-rtthread-driver-usbh) | -| [应用AT组件连接ESP8266模块](/rt-thread-version/rt-thread-standard/application-note/components/at/an0014-at-client) | [QEMU网络视频教程](/rt-thread-version/rt-thread-standard/tutorial/qemu-network/README) | -| [多线程非阻塞网络编程](/rt-thread-version/rt-thread-standard/application-note/components/network/an0019-tcpclient-socket) | [使用QEMU运行动态模块组件](/rt-thread-version/rt-thread-standard/application-note/components/dlmodule/an0023-dlmodule) | - -[应用设计参考...](https://www.rt-thread.org/projects.html) - -## Demo 示例 - - - -|