通用MCU裸机框架分享,MCU开发快速上手
Generic Bare Metal MCU Framework 是一个面向工程实践的通用裸机嵌入式软件框架,基于 C/C++ 构建,采用分层架构与面向对象设计思想,旨在为多 MCU 平台提供一套可复用、可扩展、可长期演进的基础软件骨架。该框架不依赖 RTOS,运行于纯裸机环境,通过统一的系统抽象、设备模型、任务机制与构建体系,实现从底层 MCU 启动、外设驱动到上层应用逻辑的完整软件栈组织方式。
Generic Bare Metal MCU Framework 是一个面向工程实践的通用裸机嵌入式软件框架,基于 C/C++ 构建,采用分层架构与面向对象设计思想,旨在为多 MCU 平台提供一套可复用、可扩展、可长期演进的基础软件骨架。
该框架不依赖 RTOS,运行于纯裸机环境,通过统一的系统抽象、设备模型、任务机制与构建体系,实现从底层 MCU 启动、外设驱动到上层应用逻辑的完整软件栈组织方式。
本项目面向以下目标用户:
- 具有一定经验的嵌入式软件工程师
- 希望构建长期可维护裸机平台的个人或团队
- 对 C++ 裸机架构设计、模块化与系统抽象感兴趣的开源社区开发者
框架采用自底向上的分层结构,各层职责明确、依赖单向。
+--------------------------------------------------+ | Application (APP) | +--------------------------------------------------+ | Device Abstraction & Services | | (Device, Logger, Protocol, Task, System) | +--------------------------------------------------+ | HAL - Hardware Abstraction Layer | | (GPIO, UART, SPI, Timer, ADC, etc.) | +--------------------------------------------------+ | MCU Support Package (Startup, BSP) | | (Clock, Interrupt, Linker Script, Registers) | +--------------------------------------------------+ | Hardware | +--------------------------------------------------+
各层说明:
MCU Support Package(MCU 层)
- 负责芯片相关内容:启动代码、时钟配置、中断向量表、链接脚本、寄存器定义。
HAL(硬件抽象层)
- 对外设进行统一接口封装,屏蔽寄存器细节,向上提供稳定的驱动 API。
Device & Service Layer(设备与系统服务层)
- 建立统一的设备模型、通信协议、缓冲区、日志系统、时间系统与任务框架。
Application Layer(应用层)
- 用户业务逻辑,仅依赖抽象接口,不直接操作寄存器。
github:
https://github.com/bazingamc/Generic-Bare-Metal-MCU-Framework
国内镜像:
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐


所有评论(0)