# rtos-project **Repository Path**: End-ING/rtos-project ## Basic Information - **Project Name**: rtos-project - **Description**: rtos-project - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-11 - **Last Updated**: 2026-08-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RTOS Project ## 项目简介 本项目是一个基于 **RT-Thread** 实时操作系统的嵌入式软件仓库,收录了针对多种主流国产化芯片平台的 **板级支持包 (BSP)**。 项目旨在提供一套完整的嵌入式开发框架,支持 **AT32 (雅特力)**、**HC32 (华大)**、**HPMicro (先楫)** 等多个芯片系列。除了基础的 RT-Thread 内核适配外,本项目还特别包含了 **Bootloader**、**OTA (空中升级)** 以及 **A/B 分区备份** 等高级功能,适用于工业控制、物联网网关等对可靠性要求较高的场景。 ## 主要特性 * **多平台支持**:统一的项目结构,适配多种国产化 ARM Cortex-M 系列芯片。 * **RT-Thread 内核**:高效能的实时操作系统内核,支持多任务调度。 * **高级启动与升级**: * **Bootloader**:支持通过 UART (YMODEM) 或外部 NOR Flash 进行固件烧写。 * **OTA/A-B Swap**:支持双分区无缝切换 (A/B Swap),确保 OTA 升级失败时系统仍可回滚运行,大幅提升设备固件升级的稳定性。 * **完善的外设驱动**:覆盖 GPIO, UART, SPI, I2C, ADC, USB, Ethernet 等常用外设。 * **丰富的调试工具**:集成了 **MCP Debug Server**,支持 AI 辅助调试,并兼容 GDB/OpenOCD 标准调试流程。 * **文件系统支持**:集成 LittleFS 等文件系统,支持大容量 SPI Flash 存储。 ## 项目结构 项目采用标准的 RT-Thread BSP 结构,主要目录如下: ``` rtos-project/ ├── bsp/ # 板级支持包根目录 │ ├── at32/ # AT32 (雅特力) 系列 BSP │ │ ├── at32f437-bootloader/ # AT32F437 专用 Bootloader (支持 IAP 升级) │ │ ├── at32f437-ebfboard/ # EBF-AT32F437 开发板 BSP │ │ ├── at32f437-rthread/ # AT32F437 RT-Thread BSP (含 A/B Swap OTA 示例) │ │ └── libraries/ # AT32 通用库 (CMSIS, HAL Driver) │ │ │ ├── hc32/ # HC32 (华大) 系列 BSP │ │ ├── ev_hc32f460_lqfp100_v2/ # HC32F460 评估板 │ │ ├── ev_hc32f4a0_lqfp176/ # HC32F4A0 评估板 │ │ └── lckfb-hc32f4a0-lqfp100/ # 立创天空星 HC32F4A0 开发板 │ │ │ └── hpmicro/ # HPMicro (先楫) 系列 BSP │ ├── hpm5300evk/ │ ├── hpm5301evklite/ │ ├── hpm5e00evk/ │ ├── hpm6200evk/ │ ├── hpm6300evk/ │ ├── hpm6750evk/ │ ├── hpm6750evk2/ │ ├── hpm6750evkmini/ │ ├── hpm6800evk/ │ ├── hpm6e00evk/ │ └── hpm6p00evk/ ``` ### BSP 内部结构 (以 `at32f437-rthread` 为例) 每个 BSP 目录通常包含以下部分: * **`applications/`**: 用户应用程序入口及测试代码 (如 `main.c`, `test_spi_flash.c`, `app_ota.c`)。 * **`board/`**: 板级初始化代码、外设驱动移植、FAL 分区表配置。 * **`build/`**: 编译输出目录。 * **`packages/`**: 扩展软件包 (如 CMSIS 驱动库)。 * **`tools/`**: 辅助工具链配置。 * `mcp_debug/`: **嵌入式 AI 调试服务器**配置,支持通过 MCP 协议与 IDE 或 AI 工具集成,实现自动化构建、烧录和调试。 * `flash.ps1`: 烧录脚本。 ## 支持的开发板 ### AT32 系列 (雅特力) * **AT32F437**: EBF-AT32F437 轻量边缘网关, AT-START 开发板 ### HC32 系列 (华大) * **HC32F460**: EV-HC32F460-LQFP100-V2 * **HC32F4A0**: EV-HC32F4A0-LQFP176, LCKFB-HC32F4A0-LQFP100 (立创天空星) ### HPMicro 系列 (先楫) * **HPM5300EVK / HPM5301EVKLITE** * **HPM5E00EVK / HPM6200EVK / HPM6300EVK** * **HPM6750EVK / HPM6750EVK2 / HPM6750EVKMINI** * **HPM6800EVK / HPM6E00EVK / HPM6P00EVK** ## 快速开始 ### 编译环境搭建 在开始编译前,请确保您的开发环境已安装以下工具: 1. **ARM GCC 工具链**: 用于编译 ARM Cortex-M 架构代码。 2. **Python 3.8+**: 用于 SCons 构建系统和包管理。 3. **SCons**: RT-Thread 的官方构建工具 (`pip install scons`)。 4. **OpenOCD** (可选): 用于调试和烧录。 ### 编译步骤 1. **进入 BSP 目录** 选择您所使用的开发板对应的 BSP 目录: ```bash cd bsp/at32/at32f437-rthread ``` 2. **执行编译** 使用 `scons` 命令进行编译: ```bash scons -j4 ``` 编译完成后,固件 `rtthread.bin` (或 `rtthread.elf`) 将生成在 `build/` 或 BSP 根目录下。 *注意:部分 BSP 支持 A/B 分区编译 (如 `at32f437-rthread`),固件会输出到 `build/ab/slot_a/` 等目录。* 3. **烧录与调试** * 使用 BSP 目录下的 `tools/flash.ps1` 脚本或 OpenOCD 进行烧录。 * 详细调试方法请参考 `tools/mcp_debug/README.md` (MCP 调试服务器)。 ## 文档与支持 * **各 BSP 自述文件**: 每个开发板目录下都有对应的 `README.md`,提供了该板子的外设映射表、硬件连接方式和具体的使用注意事项。 * **MCP 调试工具**: `bsp///tools/mcp_debug/README.md` 提供了关于如何配置 AI 调试工具的详细指南。 * **驱动示例**: `applications/` 目录下包含了 EEPROM、SPI Flash 等外设的测试代码。 ## 许可证 本项目是一个开源项目,但由于包含了来自不同厂商 (AT32, HC32, HPMicro, ST 等) 的底层驱动库,其许可证遵循各部分的原始版权声明。 * **RT-Thread 内核**: Apache License 2.0。 * **HAL/Library 驱动**: 请参考各 BSP 目录下的 `Copyright_Notice.md` 或 `LICENSE` 文件。 ## 联系方式 如果您在使用过程中遇到问题,或者有任何建议,欢迎在 Gitee 上提交 **Issue** 或联系项目维护者。 --- **祝您开发愉快!**