跳到主要内容

μC/OS-II 生态系统

µC/OS(MicroC/OS)不仅是一个实时操作系统(RTOS)内核,还包括一系列功能强大的中间件组件,涵盖网络通信、USB、图形界面、文件系统等方面。这些组件最初由 Micrium 开发,现由 Weston Embedded Solutions 维护,并在 GitHub 上以 Apache 2.0 许可证开源。本文将介绍 µC/OS 的主要组件,帮助您了解其生态系统的丰富性和实用性。

核心组件

  • uC/OS-II:经典的实时内核,具有抢占式、高度可移植、可扩展的特点,广泛应用于工业、医疗等领域。
  • uC/OS-III:支持多任务、时间片轮转、事件标志组等高级特性,支持多种 CPU 架构(多核),适用于更复杂的应用场景。

网络通信组件

  • uC/TCP-IP:一个紧凑、可靠、高性能的 TCP/IP 协议栈。它支持双 IPv4 和 IPv6,提供 SSL/TLS 套接字选项,并支持以太网、Wi-Fi 和 PHY 控制器。提供 DNS 客户端(uC/DNSc)和服务器(uC/DNSS)支持。
  • uC/HTTP:一个嵌入式 HTTP 服务器和客户端模块,支持动态网页生成和 CGI。
  • uC/MQTT:一个轻量级的 MQTT 客户端库,支持 MQTT 协议的发布和订阅功能,适用于物联网设备的数据通信。
  • uC/Modbus:一个嵌入式 Modbus 通信协议栈,支持 Modbus TCP 和 Modbus RTU,适用于工业自动化应用。
  • uC/CAN:一个嵌入式 CAN 总线协议栈,提供完整的 CAN 功能,适用于汽车电子和工业控制系统。
  • uC/FTPs:一个嵌入式 FTP 服务器模块,实现文件的上传和下载功能。

USB 组件

  • uC/USBD:高效的 USB 设备栈(Device),支持多种类,包括音频、CDC-ACM、CDC-EEM、HID、MSC 和自定义类。具有以下特点:
    • 设计用于嵌入式系统,资源占用小。
    • 易于集成和配置。
  • uC/USBH:高效的 USB 主机栈(Host),适用于配备 USB 主机或 OTG 控制器的嵌入式系统。它支持多种类驱动器,如 MSC(存储设备)、HID(人机接口设备)、CDC-ACM(通信设备类)等类。

图形用户界面

  • uC/GUI:一个为嵌入式系统设计的图形用户界面库,支持多种显示器和输入设备,适用于需要图形界面的应用。

文件系统

  • uC/FS:提供 FAT 文件系统支持,适用于 SD 卡、NAND/NOR 闪存等存储介质,支持长文件名和多个卷。

安全与管理

  • uC/MPU:支持内存保护单元(MPU)的功能,增强系统的安全性和稳定性,防止任务之间的内存干扰。

时间管理

  • uC/TimeSpace:提供精确的时间管理功能,支持时间戳、延时和定时器等,适用于需要精确时间控制的应用。

开发支持工具

  • TraceRecorderSource:用于记录和分析系统运行时的事件,帮助调试和优化应用。
  • TraceScripts:提供脚本支持,辅助分析 TraceRecorder 生成的数据。

小结

µC/OS 的生态系统提供了丰富的组件和工具,涵盖了从实时内核、网络协议栈、文件系统到图形用户界面等多个方面。这些组件高度可移植、可扩展且易于集成,能够满足嵌入式系统开发的多种需求。通过使用这些组件,嵌入式软件工程师可以快速构建稳定、高效的嵌入式系统。