代码结构划分层次
为了方便后续代码维护和阅读, 建议将代码分为以下几个层次:
- 通用层(Common): 项目中通用的宏定义, 全局共享的变量等.
- 应用层(Applications): 业务逻辑, 流程框架都在这层.
- 模块层(Modules): 自己实现的模块化功能代码, 与MCU硬件不相关的组件. 比如串口命令组件, i2c-tools组件等.
- 驱动层(Drivers): 各个硬件模块驱动代码.
- 厂商提供的源码(Vendors): MCU原厂提供的SDK, 第三方模块的源码, 比如FreeRTOS, File System等.
示例
讲道理, 这里层次分的还不是很合理, 只是初步分层, 后续分层规范后, 将会重新更新这个图片.
通用的宏控
在 Common 层中, 目前有下面这3个文件, 分别用于返回值检查(asserts), 项目宏控区分代码流程(products), 统一项目中的返回值(errors).
IDE(eclipse)头文件寻找路径配置
由于 IDE 中的目录结构变化了, 导致编译的时候找不头文件了. 因此需要新增加的目录加入 gcc 头文件搜索路径中.
具体加目录方法如下: 工程名右键 >>> 属性:
属性界面依次进入 C/C++ General >>> Code Analysis >>> Path and Symbols, 详细配置如下图: