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

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

3天内不再提示

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

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

扫码添加小助手

加入工程师交流群

模块化开发

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

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

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

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

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

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

工具性总结

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

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

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

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

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




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

    关注

    5186

    文章

    20143

    浏览量

    328689
  • 模块化设计
    +关注

    关注

    0

    文章

    13

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

    随着嵌入式系统复杂日趋提升,嵌入式开发已不再只是编写软件/固件,更是关乎对软硬件生态系统进行协调。硬件与软件的相互依赖
    的头像 发表于 11-24 09:52 243次阅读
    深入探讨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 742次阅读
    电动<b class='flag-5'>工具</b>EMC测试整改:<b class='flag-5'>软硬件</b>协同方案

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

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

    嵌入式适合自学吗?

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

    为什么选择嵌入式软硬件方案公司?看完这篇我直接签了九鼎创展?

    在智能家居、工业控制、汽车电子等领域,嵌入式系统已成为创新的核心驱动力。但许多企业发现,自研嵌入式软硬件看似省钱,实则暗藏陷阱——开发周期长、技术门槛高、后期维护难。为什么越来越多企业
    的头像 发表于 04-08 14:31 642次阅读
    为什么选择<b class='flag-5'>嵌入式</b><b class='flag-5'>软硬件</b>方案公司?看完这篇我直接签了九鼎创展?

    嵌入式主板开发详细指南

    嵌入式主板开发涉及硬件设计、软件集成、系统优化等多个环节,需要结合具体应用场景进行深度定制。以下是嵌入式主板开发的详细指南,涵盖关键步骤、
    的头像 发表于 04-02 11:35 927次阅读
    <b class='flag-5'>嵌入式</b>主板<b class='flag-5'>开发</b>详细指南

    嵌入式学习利器】STM32全流程虚拟仿真系统,零基础小白到软硬件全栈工程师的修炼之路

    嵌入式开发领域,硬件原理的抽象和项目全流程的复杂一直是初学者面临的挑战,尤其是像STM32单片机开发这种
    的头像 发表于 03-11 16:20 141次阅读
    【<b class='flag-5'>嵌入式</b>学习利器】STM32全流程虚拟仿真系统,零基础小白到<b class='flag-5'>软硬件</b>全栈工程师的修炼之路

    盘点工程师常用的嵌入式开发工具

    嵌入式开发涉及硬件与软件的紧密结合,开发工具的选择对效率和质量至关重要。以下是嵌入式开发中常用的工具分类及代表
    的头像 发表于 02-07 10:06 3728次阅读

    如何提高嵌入式代码质量?

    嵌入式代码的质量是至关重要的。本文将探讨如何通过有效的开发方法和工具来提高嵌入式代码的质量,以确保系统的可靠和可维护
    发表于 01-15 10:48

    使用SEGGER工具实现嵌入式应用开发

    嵌入式系统的可能是无限的,从创建智能家居设备到为工业自动化提供动力,但是有这么多的工具、技术和流程要学习,你从哪里开始呢?
    的头像 发表于 01-10 16:27 1082次阅读

    嵌入式工程师常用的开发工具有哪些?

    。此外,ARM 公司的编译器也备受青睐,针对 ARM 架构的微控制器进行了深度优化,能够生成高效的代码。 三、调试工具 调试是嵌入式开发过程中不可或缺的环节。J-Link 调试器是常用的硬件调试
    发表于 12-20 15:29

    嵌入式系统开发硬件的关系 嵌入式系统开发常见问题解决

    系统开发硬件关系的几个关键点: 硬件依赖嵌入式系统的软件必须能够在特定的硬件上运行,这包
    的头像 发表于 12-09 09:38 1465次阅读