4. 基于STM32CubeIDE搭建开发环境 --- 代码结构分层组织

代码结构划分层次

为了方便后续代码维护和阅读, 建议将代码分为以下几个层次:

  • 通用层(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, 详细配置如下图:

添加头文件搜索路径

你可能感兴趣的:(4. 基于STM32CubeIDE搭建开发环境 --- 代码结构分层组织)