0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

物联网硬件开发 2018-01-11 09:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

模块化开发

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

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

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

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

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

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

工具性总结

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

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

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

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

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




声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5209

    文章

    20645

    浏览量

    336916
  • 模块化设计
    +关注

    关注

    0

    文章

    16

    浏览量

    10161
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何成为一名高薪嵌入式工程师?

    嵌入式开发属于软硬件综合类技术岗,软硬件技术均需要具备。 行业缺口大,人才需求多,但也要专科起步;适合30+人群转行学习。学嵌入式不难,难的是自主学习能力和实际解决问题的能力,只要能
    发表于 04-09 09:03

    深圳4月24-25日《嵌入式系统软硬件可靠设计》公开课,火热报名中!

    课程名称:《嵌入式系统软硬件可靠设计》讲师:武老师时间地点:深圳4月24-25日主办单位:赛盛技术课程背景随着嵌入式系统在工业控制、汽车电子、航空航天、医疗设备及消费电子等关键领域的
    的头像 发表于 03-09 17:50 450次阅读
    深圳4月24-25日《<b class='flag-5'>嵌入式</b>系统<b class='flag-5'>软硬件</b>可靠<b class='flag-5'>性</b>设计》公开课,火热报名中!

    嵌入式驱动开发,需要掌握哪些技能?

    。 4、 熟悉驱动开发常用工具做驱动开发,会牵涉到很多软硬件工具。比如:VS Code、Keil、 J-Link、Git等。 5、
    发表于 01-20 16:46

    什么是嵌入式应用开发

    概述 所谓的嵌入式应用开发就是在嵌入式操作系统下进行开发软硬件综合开发
    发表于 01-12 16:13

    嵌入式系统应用热门的原因主要有几个方面

    RTOS(Real-time Operating System)开发平台,这样才能保证程序执行的实时、可靠,并减少开发时间,保障软件质量。6.
    发表于 01-08 06:37

    2026年度《嵌入式系统软硬件可靠设计》公开课,助您提升专业能力!

    课程名称:《嵌入式系统软硬件可靠设计》讲师:武老师时间地点:深圳4月24-25日主办单位:赛盛技术课程背景随着嵌入式系统在工业控制、汽车电子、航空航天、医疗设备及消费电子等关键领域的
    的头像 发表于 12-28 10:03 1135次阅读
    2026年度《<b class='flag-5'>嵌入式</b>系统<b class='flag-5'>软硬件</b>可靠<b class='flag-5'>性</b>设计》公开课,助您提升专业能力!

    C语言单元测试在嵌入式软件开发中的作用及专业工具的应用

    替代的重要,特别是在汽车电子、工业控制、航空航天等安全关键领域。winAMS作为专业的嵌入式C语言单元测试工具,通过其编译器级代码解析、目标代码级覆盖率验证和硬件虚拟化等先进技术,为
    发表于 12-18 11:46

    从小白到大牛:Linux嵌入式系统开发的完整指南

    是 **“在嵌入式硬件上运行 Linux 系统并开发应用”**,其本质是软硬件协同的工程实践。入门阶段需完成三大核心任务:​ 系统认知构建:明确嵌入
    发表于 12-16 10:42

    深入探讨AMD嵌入式开发框架的三大基石

    随着嵌入式系统复杂日趋提升,嵌入式开发已不再只是编写软件/固件,更是关乎对软硬件生态系统进行协调。硬件与软件的相互依赖
    的头像 发表于 11-24 09:52 676次阅读
    深入探讨AMD<b class='flag-5'>嵌入式开发</b>框架的三大基石

    嵌入式开发的关键点介绍

    嵌入式开发在现代科技中扮演着非常重要的角色。随着物联网的发展,嵌入式系统的需求也越来越大。嵌入式开发不仅需要开发人员具备深入的硬件知识和编程
    发表于 11-13 08:12

    嵌入式软件测试与专业测试工具的必要深度解析

    嵌入式系统作为控制、监视或辅助装置运行的专用计算机系统,其软件测试面临着独特的挑战和严格的要求。专业测试工具嵌入式软件开发过程中发挥着不可替代的作用,是确保系统可靠
    发表于 09-28 17:42

    嵌入式达到什么水平才能就业?

    定位问题具备嵌入式软件模块化设计能力:能按功能划分代码模块,编写规范的头文件与源文件,实现模块间低耦合调用会使用Git 进行版本管理:能提交代码、解决冲突、回滚版本,熟悉敏捷
    发表于 09-15 10:20

    电动工具EMC测试整改:软硬件协同方案

    深圳南柯电子|电动工具EMC测试整改:软硬件协同方案
    的头像 发表于 08-12 17:02 1044次阅读
    电动<b class='flag-5'>工具</b>EMC测试整改:<b class='flag-5'>软硬件</b>协同方案

    【干货速递】嵌入式数据可靠,软件设计的这些细节不能忽视!

    前两期内容分别讲述了嵌入式数据可靠的元器件选型和硬件设计,这一期我们来讲讲软件设计。哪怕硬件设计再完善,但如果软件没有设计好,也达不到预期的可靠
    的头像 发表于 07-31 11:34 670次阅读
    【干货速递】<b class='flag-5'>嵌入式</b>数据可靠<b class='flag-5'>性</b>,软件设计的这些细节不能忽视!

    嵌入式适合自学吗?

    嵌入式适合自学吗?其实并不建议大家自学嵌入式,主要有以下原因。 一)学习难度大 1)知识体系复杂:嵌入式系统是一个复杂的领域,涉及到计算机、电子、通信等多学科知识,需要学习者具备扎实的软硬件
    发表于 04-27 09:54