单片机开发 - 总结项目的文件管理、程序开发方法

文摘   科技   2023-08-13 14:07   广东  

Keep Moving 

保持·热爱

单片机开发

总结

嵌入式C

项目架构总结



总结项目文件、程序开发管理方法

关于程序设计思路,LED示例

独立按键、组合键驱动

C#开发的调试助手



概述

前言

搞了几年的单片机开发,考虑过项目文件架构、文件命名规范、软件架构的问题,但都比较零散,不够系统化,索性现在总结输出一个文件,以后也好直接套用。


因现阶段能力受限,规范的各方面难免存在问题,只能后期迭代完善。


总的目的

  • 项目文件好管理、好找

  • 项目开发有记录,有文档输出

  • 程序移植性高,可裁剪

  • 降低程序维护成本


下文简介



项目架构

结构链表             

              链表构想

项目文件结构

文件归类存放,构成一个项目资料包:


版本控制

常用的SVN、Git,写好日志,历史版本可追溯:


软件系统架构

  • 整体软件分4层:HAL、BSP、Drive、APP

  • HAL是MCU的外设库,硬件抽象层,不能改动

  • BSP负责对接不同MCU的外设库

  • Drive调用BSP,完成外设控制

  • APP向下只能访问Drive,实现业务逻辑


基础头文件

方便调整系统的关键参数,搭建系统功能模块:


BSP层

  • 初始化系统所需的MCU外设

  • 提供API供Drive监控外设

由多个外设构成,整体结构举例:


驱动层

  • 由模块、具体功能组件构成

  • 对外不体现MCU的外设

  • 向下只能调用BSP的API

  • 尽量降低不同文件间的联系

  • 结构体描述模块,尽量使用状态机实现控制逻辑

  • 若BSP的事件要告知APP,则Drive进行二次封装,传递给APP


应用层

这里的4个任务,向下只能调用驱动,结合系统框架,实现业务逻辑:



编程特征

程序架构的特征

基本情况如下:


代码书写规范

这里挑关键的点来说明:


  • 可考虑使用内联函数,替换宏函数

  • 返回值、形参采用地址传递数组、结构体





-END-


碎片聚合
求真务实
 最新文章