1.8 KiB
1.8 KiB
背景
随着国产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) 分享您的观点。