模块化开发

在我们学习电子电路、单片机电路及嵌入式软件开发的时候,总喜欢一块一块的学,一块一块的研究调试,这样我们能更快更好的掌握。

同样在做产品设计开发的时候,我们也应该发扬这种模块化开发的思想。比如一个产品的硬件有电源模块电路、主控单元的最小系统、外部数据存储、外部的各种通信接口,以及外围的各种模拟量数字量的采集与控制电路,有的还少不了显示电路等等。所以一个产品会有很多种模块化电路组成,这些功能模块又会对应相应的驱动程序及功能模块程序。

所以在产品开发的过程中我一直要求自己遵循模块化开发的的理念,因为这样会给我们带来很多好处,比如:

1.在产品开发过程中软硬件的调试,我们能更快更好的找出模块内存在的BUG,能更好的避免在做整合的时候出现更多的问题。

2.能更好的优化和升级产品。我们在优化产品的时候只需要优化和调试一部分模块而不会牵一发而动全身,这样对优化后的产品的稳定性也能有更好的保证。

3.能做好更多的技术积累,对公司和对工程师个人而言能做到双赢。积累的技术功能模块能为公司保存更多的技术实力,对新产品的开发和已有产品的维护升级都至关重要。而我们工程师也能积累更多产品开发所需要的功能模块设计。我们可以把这些积累作为一个个我们已经打造好的工具,等到用的时候可以直接拿来用,既方便又稳定可靠。

工具性总结

我一直主张在开发和学习的时候,不要盲目的做和学,要有效的利用我们上面说的模块化,把可以重复利用的电路或程序代码有效的模块化接口化,经过测试和稳定性验证的程序模块,是可以有效重复利用的,我们把这些模块工具化。

我在做开发的时候都针对不同的MCU,都会自己封装一套对应的底层驱动库,比如GPIO,我就做一个gpio.c和一个gpio.h的文件,在不同的项目开发中,我就只需要包含这两个文件,用的时候,只要调用gpio的初始化和操作函数就可以了,如果我们每次都在程序中直接对io的寄存器操作,那么这些代码是不是在其他项目中就不能重复利用了呢,每次我们还都要重复的编写这些代码,这样也会带来很多问题,比如程序的可读性,可修改性以及可测试性等。

随着我们不断的学习总结,我们会积累更多的电路或程序模块工具,在以后的开发过程中,我们就可以拿出我们为自己打造的这些工具,像搭积木一样的来开发产品。

这样一来,我们的产品开发是不是变得更加高效,而且每一个工具化的模块都是以前经过测试验证的,这样也能为我们在产品开发过程中节省大量的测试调试和验证的时间。

做很多事情都是这样,立足当下,思考未来,总结规划,今天的点滴付出,肯定能换来明天的美好结果。

嵌入式软硬件模块化开发和工具性总结相关推荐

  1. 01_电子工程师 嵌入式软硬件工程师开发工具合集(简单易学-新电脑装机清单)

    装机开发工具合集(电子工程师新电脑装机必备清单) 文章目录 装机开发工具合集(电子工程师新电脑装机必备清单) 硬件开发 软件开发 嵌入式开发 结构设计 博客创作 调试工具 其他工具 硬件开发 * Ca ...

  2. Vue 模块化开发(构建项目常用工具)

    针对刚接触 JavaScript 模块开发系统的用户 vue官方建议我们参考 Vue CLI 3.只要遵循指示,就能很快地能运行一个带有 .vue 组件.ES2015.webpack 和热重载 (ho ...

  3. 嵌入式Linux_C语言开发工具

    C语言开发工具 开发工具和操作系统之间是相互促进的.相互发展的,操作系统离不开软件开发的支持,软件开发工具也离不开操作系统这个平台.Linux操作系统下Linux开发工具的开源方式,可以让大家拥有更多 ...

  4. 4类程序员直呼好用的嵌入式开发辅助工具

    俗话说工欲善其事必先利其器.有了好的开发辅助工具的开发人员就像开了外挂,事半功倍. 下面将会按照不同功能给大家介绍几种身边程序员们力荐好用的开发辅助工具 一.常见硬件芯片 想要开发一款嵌入式产品,首先 ...

  5. 模块化开发工具webpack

    1.模块化开发概述 前端的js代码如何复用,怎样避免多文件之间的命名冲突,前端开发中这之类的问题如何解决,答案是模块化开发.来看看模块化开发的好处吧 创建common公共模块a.js文件 var na ...

  6. 嵌入式系统设计与开发的生命周期简析

    在实际开发产品的过程中,我们往往都会遵循一定的规则去进行开发,就如工人在砌墙之前,先画好图纸,然后评审,修改,再去建立整个楼房的框架,等整个框架都建立好了,那么就开始砌墙了,这个时候,工人只需要按照框 ...

  7. 嵌入式系统设计与开发期末考试复习

    嵌入式系统设计与开发期末考试复习 STM32学习笔记 第一章:嵌入式系统概述 1.嵌入式系统概念,应用与特点 2.嵌入式系统的硬件(CPU,外设) 3.主要嵌入式软件系统(应用及OS) 4.嵌入式系统 ...

  8. 嵌入式端音频开发(基础篇)之2021-2022年国内主流语音识别芯片科普(1)

    前言 为什么写这边文章?作为开发过不少语音在线识别和离线识别不少产品的嵌入式软件工程师来说,有不少同事和粉丝对于嵌入式端语音开发,经常问我:怎么做?怎么选芯片?有哪些厂家有芯片可以选择? 所以决定写下 ...

  9. 华清远见嵌入式Linux驱动开发培训班

    课程背景 开放的 Linux 受到广泛的欢迎,得到越来越多公司的支持,但是阻碍 Linux 在各个领域广泛应用的主要因素就是内核/驱动高端人才极度缺乏,Linux源代码中85%是设备驱动,嵌入式系统中 ...

最新文章

  1. java多维数组的指针_Java基础之二维数组
  2. [转].NET 开源项目 Anet 介绍
  3. mysql 数据查询优化_优化MySQL数据库查询的三种方法
  4. anaconda查看conda主环境、虚拟环境的python执行路径
  5. 【python】Python的基本数据类型以及运算符的练习题
  6. 三维点云体素滤波python_三维重建9:点云图像的滤波方法小结
  7. boost 静态库命名规则
  8. 2021-7-20 Cityscape 数据集从19分类到4分类BiSeNetv1-v2训练验证和测试一条龙
  9. 已解决SyntaxError:positional argument follows keyword argument
  10. MySQL复制表的三种方式
  11. ​联想小新潮7000-13更换ssd并重装系统记录
  12. python编写计算二项式值_python二项式期权定价方法
  13. x86_64汇编之二:x86_64的基本架构(寄存器、寻址模式、指令集概览)
  14. linux svn e170001,jenkins - svn: E170001报错的原因以及解决方案
  15. v_rep教程----构建纯净模型
  16. 税控盘签名认证服务器状态,不用插税盘,也可以勾选认证发票、确认签名了 !...
  17. 又一里程碑,阿里首推Java技术成长笔记,业内评级“钻石级”
  18. 软件:文档下载神器之冰点文库下载器去广告纯净版
  19. 2012美国大选献金项目数据分析
  20. 技术胖老师推荐的好用的轮子,200%提高开发效率

热门文章

  1. 进行小红书营销,怎样拉入更多的客户?
  2. Springboot启动流程分析(四):完成启动流程
  3. 截部分陈宏对用线段树解矩形并的轮廓(picture 问题的深入讨论)
  4. 网页播放器实现全屏的方法总结
  5. 触摸IC XTP2046 驱动笔记
  6. 删除docker container
  7. Unity升级到URP渲染管线,
  8. python数据分析:客户价值分析案例实战
  9. 青云QingCloud推出CDN加速服务 动态选择最优节点
  10. 【回文串问题】分割回文串