# mr-library **Repository Path**: WxPolaris/mr-library ## Basic Information - **Project Name**: mr-library - **Description**: mr-library 驱动抽象层库 - **Primary Language**: C - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 227 - **Created**: 2023-04-18 - **Last Updated**: 2023-04-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 背景 随着国产MCU的兴起,市面上MCU种类愈来愈多。原先MCU开发较少考虑整体框架和程序分层,导致更换MCU型号极有可能需要更改应用层代码,这使得开发工作变得繁重且枯燥。 常见的开发方式大多分为两种: 裸机编程与RTOS编程,由于代码编写方式差距较大,二者之间转换意味着工程的大幅度修改, ** mr-library** 指在帮助开发者提高开发效率、代码通用性,降低平台迁移难度。 ---------- # 许可协议 遵循 **Apache License 2.0** 开源许可协议,可免费应用于商业产品,无需公开私有代码。 ---------- # mr-library 简介 **mr-library** 嵌入式软件库,全部采用C语言编写,使用面向对象的设计方法,代码框架清晰,可快速移植到不同平台。具体包括以下部分: * 内核层: **mr-library** 的核心部分,包含容器、对象、事件、有限状态机等。将各种对象注册到内核维护的容器中,使得应用更加高效有序。 * 设备抽象层: 负责对硬件驱动的抽象,将不同的硬件接入到内核中。在应用层,仅需调用内核I/O设备接口即可访问不同的设备。 * 组件层: 通过内核提供的API实现不同的功能。包括但不限于虚拟文件系统、通用传感器模块、网络框架等。 ---------- # 代码目录 **mr-library** 代码目录结构如下图所示: | 名称 | 描述 | |:---------|:--------| | bsp | 板级支持包 | | config | 配置文件 | | device | 设备抽象层文件 | | document | 文档 | | include | 库头文件 | | src | 库源文件 | ---------- # 贡献代码 如果您对 **mr-library** 项目感兴趣的话,欢迎参与到开发成为代码贡献者。欢迎加入讨论群 **199915649(QQ)** 分享您的观点。