# framework **Repository Path**: chip32/framework ## Basic Information - **Project Name**: framework - **Description**: 32位单片机开发框架 尽可能采用新技术进行设计 freeRTOS liteOS_m - **Primary Language**: C - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 1 - **Created**: 2023-02-02 - **Last Updated**: 2024-12-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: Cpp ## README # 单片机平台开发框架 ## 说明 单片机开发不得不使用众多模块来规范、快速开发,降低后期维护成本,在本框架中为用户开发、底层接口、第三方组件、以及操作系统规范都做了详细规划。 为方便管理以及避免未来的频繁改动,本框架将使用C++开发,**ARM**还是**risc-V** 内核的编译器均已全面支持C++ 请注意,**C++**已经受众多开发环境支持,其运行效率以及资源消耗,在正常使用下与C语言无异,但是其开发效率与天然的封装特性将加速我们开发。同时51平台将不会提供支持,未来也不做支持规划。 读者使用本框架将遇到以下问题 1. C++大量使用对比与C将有结构上根本性差别 2. C++的设计思想与C将有很大不同 3. 封装更强,需要理解框架才能向框架中添加自己的代码 4. 为提高开发效率与资源的利用率,仍然会使用大量C库,同时尽可能避免C++库的使用。 蒙蒙plus 2023年1月30日 # 代码规范约束 ## 1.类命名 1. 驼峰命名法,不得出现下划线 2. 类继承关系在命名上应当直观 3. protect成员方法 首字母大写 4. public成员方法 首字母小写 5. 成员变量 用**m_**开头作为标识 ## 2.类设计约束 1. 除入口函数出,其它位置不应出现C代码风格,即不应该出现普通的C函数和全局变量 2. CPP中的枚举类型均必须使用**enum class** 定义 不得使用C语法中常用的方式 3. 成员变量是对象指针是,应当使用对象基类指向 4. 默认构造与析构 如无初始化流程 应使用 **=default**; 5. 尽可能降低耦合度,外部头文件包含 尽可能放在 .cpp文件中 6. 除非是另一独立功能,不得有两个独立的线程对象在执行,从属关系必须清晰。