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

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

3天内不再提示

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

物联网硬件开发 2018-01-11 09:42 次阅读

模块化开发

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

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

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

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

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

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

工具性总结

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

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

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

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

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




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

    关注

    5056

    文章

    18955

    浏览量

    301666
  • 模块化设计
    +关注

    关注

    0

    文章

    12

    浏览量

    9917
收藏 人收藏

    评论

    相关推荐

    嵌入式学习建议

    对广大渴望学习嵌入式系统的学子提出几点基础阶段的学习建议: ①嵌入式系统软件硬件密切相关,一定要打好软硬件基础。其实,只要找到正确的方法,加上努力,任何理工科学生,甚至非理工科学生,
    发表于 10-22 11:41

    嵌入式系统的硬件架构

    嵌入式系统是一种专用的计算机系统,它以应用为中心,以现代计算机技术为基础,能够根据用户的具体需求(如功能、可靠、成本、体积、功耗、环境等)灵活裁剪软硬件模块。这类系统通常被设计用来执
    的头像 发表于 09-29 16:29 280次阅读

    嵌入式软硬件开发实战师资培训通知

    随着物联网和智能系统的快速发展,嵌入式成为当前最热门最有发展前途的IT应用领域之一。在移动通讯、移动办公、智能传感、穿戴设备、物联网、到数据中心、大数据管理、云计算、边缘计算,人工智能等各个领域
    的头像 发表于 09-24 08:06 186次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>软硬件</b><b class='flag-5'>开发</b>实战师资培训通知

    嵌入式linux开发的基本步骤有哪些?

    嵌入式Linux开发是一个复杂的过程,涉及到硬件选择、操作系统移植、驱动开发、应用程序开发等多个方面。以下是
    的头像 发表于 09-02 09:11 333次阅读

    嵌入式linux开发板怎么操作

    嵌入式Linux开发板是一种基于Linux操作系统的嵌入式系统开发平台。它通常包括一个处理器、内存、存储器、输入/输出接口等硬件组件,以及一
    的头像 发表于 09-02 09:09 301次阅读

    嵌入式linux开发板芯片的工作原理

    了处理器、存储器、输入/输出接口等硬件资源的嵌入式系统开发平台。它通常采用Linux操作系统作为底层软件平台,提供了丰富的开发工具和库函数,方便开发
    的头像 发表于 09-02 09:07 296次阅读

    莱迪思Propel工具套件加速FPGA应用开发

    许多嵌入式系统的开发者都对使用基于FPGA的SoC系统感兴趣,但是基于传统HDL硬件描述语言的FPGA开发工具和复杂流程往往会令他们望而却步。为了解决这一问题,莱迪思的Propel
    的头像 发表于 08-30 17:23 964次阅读

    聚焦嵌入式开发中的合规工具、项目管理工具、版本迭代工具应用

    ,就嵌入式开发与管理领域的最新趋势、工具选择以及DevSecOps实践应用等方面展开了深入探讨。 本期对话龙智资深DevSecOps顾问徐晨晖, 分享嵌入式开发中的合规
    的头像 发表于 07-29 15:15 409次阅读

    专家力荐|《嵌入式系统原理与开发——基于RISC-V和Linux系统》新书发售

    当前,嵌入式系统已成为智能设备的核心之一,RISC-V+Linux的开源力量为嵌入式系统注入强大的创新动力。作为中国RISC-V软硬件生态领导者,赛昉科技与业界专家合作推出《嵌入式系统
    的头像 发表于 07-24 08:20 466次阅读
    专家力荐|《<b class='flag-5'>嵌入式</b>系统原理与<b class='flag-5'>开发</b>——基于RISC-V和Linux系统》新书发售

    嵌入式系统基础

    嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠、成本、体积、功耗严格要求的专用计算机系统。 它由硬件和软件组成,能够独立进行运作,其软件内容只包
    的头像 发表于 06-19 09:10 391次阅读
    <b class='flag-5'>嵌入式</b>系统基础

    从事嵌入式方向,一定要软硬件通吃?

    嵌入式系统开发领域,软件和硬件的界限常常模糊不清。一个常见的问题是,嵌入式软件工程师是否需要了解硬件。本文将探讨这一问题的重要
    的头像 发表于 06-05 08:10 997次阅读
    从事<b class='flag-5'>嵌入式</b>方向,一定要<b class='flag-5'>软硬件</b>通吃?

    嵌入式系统软硬件基础知识大全

    作为一种广泛应用于各个领域的技术,其软硬件基础知识对于开发者来说至关重要。在本文中,我们将详细探讨嵌入式系统的软件基础知识,以帮助读者深入了解这一领域。实时操作系统是嵌入式系统的核心组
    发表于 05-09 14:12

    职位介绍 之 嵌入式开发工程师

    什么是嵌入式软件开发         嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠、成本、体
    的头像 发表于 01-17 17:23 402次阅读

    嵌入式驱动和应用哪个更难?

    现在的嵌入式比20年前的要求更高,软硬件、应用场景也更复杂了,除了驱动层和应用层,中间层也是重要的一层。
    发表于 12-18 09:58 808次阅读
    <b class='flag-5'>嵌入式</b>驱动和应用哪个更难?

    嵌入式硬件和软件哪个好?

    嵌入式硬件和软件哪个好? 嵌入式软硬件工程师哪个更有前途呢?一起来看看。 嵌入式是分为软硬件工程
    发表于 12-05 15:17