打印
[应用相关]

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

[复制链接]
1057|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
代码结构划分层次为了方便后续代码维护和阅读, 建议将代码分为以下几个层次:
  • 通用层(Common): 项目中通用的宏定义, 全局共享的变量等.
  • 应用层(Applications): 业务逻辑, 流程框架都在这层.
  • 模块层(Modules): 自己实现的模块化功能代码, 与MCU硬件不相关的组件. 比如串口命令组件, i2c-tools组件等.
  • 驱动层(Drivers): 各个硬件模块驱动代码.
  • 厂商提供的源码(Vendors): MCU原厂提供的SDK, 第三方模块的源码, 比如FreeRTOS, File System等.



作者:mz8023yt
链接:https://www.jianshu.com/p/de8c3093a7f9
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

使用特权

评论回复
沙发
internally|  楼主 | 2020-5-10 09:14 | 只看该作者
示例
讲道理, 这里层次分的还不是很合理, 只是初步分层, 后续分层规范后, 将会重新更新这个图片.

使用特权

评论回复
板凳
internally|  楼主 | 2020-5-10 09:15 | 只看该作者
通用的宏控
在 Common 层中, 目前有下面这3个文件, 分别用于返回值检查(asserts), 项目宏控区分代码流程(products), 统一项目中的返回值(errors).

使用特权

评论回复
地板
internally|  楼主 | 2020-5-10 09:16 | 只看该作者
IDE(eclipse)头文件寻找路径配置
由于 IDE 中的目录结构变化了, 导致编译的时候找不头文件了. 因此需要新增加的目录加入 gcc 头文件搜索路径中.
具体加目录方法如下: 工程名右键 >>> 属性:

使用特权

评论回复
5
internally|  楼主 | 2020-5-10 09:16 | 只看该作者
属性界面依次进入 C/C++ General >>> Code Analysis >>> Path and Symbols, 详细配置如下图:

使用特权

评论回复
6
guanjiaer| | 2020-6-2 16:19 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
7
heimaojingzhang| | 2020-6-2 16:20 | 只看该作者
这样好维护

使用特权

评论回复
8
keaibukelian| | 2020-6-2 16:24 | 只看该作者
这样思路清晰

使用特权

评论回复
9
labasi| | 2020-6-2 16:24 | 只看该作者
条理性比较好

使用特权

评论回复
10
paotangsan| | 2020-6-2 16:24 | 只看该作者
感谢楼主的热心分享啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

315

帖子

0

粉丝