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

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

3天内不再提示

传统嵌入式设备能力的新可能性

星星科技指导员 来源:嵌入式计算设计 作者:Semir Haddad 2022-06-29 15:16 次阅读

在过去的两个世纪中,使硬件编程已经取得了长足的进步。有人可能会争辩说,工业规模的硬件编程的第一个例子是 1800 年代早期开发的提花织机系统。纺织工程师可以使用该系统通过使用一串穿孔卡片来定义他们希望织机编织的图案。这项发明使发明家 Joseph Marie Jacquard 成为纺织行业的著名人物,并展示了硬件编程的巨大进步。他的名字现在是一个常用词,用来指代他的织布机上制造的织物类型。

快进 200 年,可以看到更可编程硬件的趋势。机械自动化首先过渡到可编程,然后是机电和电子逻辑,最后是微控制器微处理器和软件的嵌入式控制。如今,机器和设备的可编程性因应用和行业而异。它们的范围从没有可编程性的固定功能设备到智能手机等完全可编程和可升级的设备。

设计可编程硬件的传统方式继承了机械工程的强大遗产,嵌入式设备在某种程度上模仿了过去以机械或机电方式完成的工作。公用事业仪表是这种方法的一个很好的例子。起初,电表只是机械表的简单替代品,用 LCD 显示屏代替编号轮,以提供更大的成本优化和可靠性。然后添加了更多功能,例如自动抄表,以在不改变目的或用例的情况下降低运营成本。

这些设备上存在嵌入式软件或实时软件,它们需要大学很少教授的特定技能。相反,他们通常是在工作中学习的。嵌入式软件开发需要几乎与硬件开发一样多的专业知识,原因有两个。首先,修复嵌入式软件错误的成本很高,因为设备可能难以升级。其次,许多嵌入式设备必须遵守严格的安全法规,这需要额外的知识和时间资源来确保遵守诸如 IEC 61508、IEC 62304、UL 60730-1 H、CSA E60730-1 H、IEC 60730-1 H、 UL 60335-1 R,和 IEC 60335-1 R,UL 1998。

然而,大多数人不知道的是,在物联网IoT) 的推动下,嵌入式软件开发范式发生了一场无声的革命,并且每天都在取得进展。随着我们的设备变得更加互联,它们突然向世界开放。正如NEST、Fitbit 和 Withings (Nokia) Digital Health等应用程序所证明的那样,开发人员必须能够通过定义明确的 API 访问一个好的物联网设备。相反,任何连接的设备现在都可以访问云中几乎无限的资源。这开辟了超越传统嵌入式设备能力的新可能性,因为语音识别人工智能和个人助理功能——如亚马逊 Alexa——变得更加广泛可用。

因此,一种新型的开发者(互联网开发者社区)开始修补设备。他们从创客板开始,并使用他们知道的工具进行开发——面向对象编程、API、脚本和框架,如 Java、JavaScript、Python、Lua、JSON 和 REST API。为了展示嵌入式开发的新水平,Arduino 平台(基于 Wiring 和 C++)普及了对象语言概念,如方法和属性。Raspberry Pi 让每个人都可以使用 Linux 和 Python。他们教我们使用带有预定义框架的集成工具,使编写一个简单的应用程序成为“在公园里散步”。

这个新的开发者社区正在重塑嵌入式世界,创造硬件的“软件化”。他们正在推动嵌入式工程师像现代软件开发人员一样思考,并着眼于其他对 IT 系统和 Web 应用程序有效的技术。例如,瑞萨电子的合作伙伴之一,物联网初创公司 MediumOne,能够使用云中的 Python 脚本在现场对设备进行编程——这真是令人难以置信。

重新发明轮子的时代已经过去了。嵌入式行业有能力彻底改变其定义和设计产品的方式。在当今竞争激烈的市场中,工程师必须善于重用经过验证的、具有高度抽象性的产品化软件组件。这些组件传统上来自专业公司,而且价格昂贵。然而,一些低成本的选择使它们更容易获得。开源是一种方法,尽管它带有未知的质量问题和其他风险。另一种选择是与将专业软件与其硬件设备集成的芯片制造商合作,将它们作为单一平台成本结构的一部分提供。

这种软件化趋势将把传统的固件开发人员转变为一个超专业化的社区,就像硬件开发人员现在成为嵌入式团队的专业成员一样。他们的职责是确保完整的板级支持包在硬件上运行,使越来越多的软件开发人员能够使用框架和高级语言和脚本创建应用程序。

这一趋势还可以扩展嵌入式开发人员的职业可能性。以下是一些可以帮助您利用这一转变的教育要点:

了解如何使用中间件和 RTOS。这很快将成为使用硬件的工程师所期望的基础知识。

开始使用框架。汽车开发商有 Autosar。工业开发人员可以从嵌入式 Linux 入手,作为理解的良好基础。即使是开发 AndroidIOS 应用程序——甚至是 Minecraft Mod——也是理解框架开发的好方法。

玩创客板。它们今天可能看起来像玩具,但您会对它们提供的可能性感到惊讶。

如果你想培养你的软件方面,可以尝试使用 C++、Java 和 Objective C 等对象语言,并尝试 XML 等标记语言以及 JavaScript、Python 或 Lua 等脚本语言。从开发移动应用程序或 Web 开发开始,很快就会有使用更小的微控制器的嵌入式选项。

熟悉 RESTfull API 和 JSON 数据格式。它们是互联网通信的基础,大多数物联网服务都使用其中一种。

开发人员社区提供交互式点对点论坛来磨练软件技能,特别是与社区合作,围绕新的嵌入式框架,例Renesas Synergy 平台,或使用 MediumOne 开发的IoT Sandbox 。

审核编辑:郭婷

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

    关注

    4981

    文章

    18271

    浏览量

    288301
  • Linux
    +关注

    关注

    87

    文章

    10986

    浏览量

    206720
  • API
    API
    +关注

    关注

    2

    文章

    1380

    浏览量

    60983
收藏 人收藏

    评论

    相关推荐

    嵌入式热门发展方向有哪些?

    感器网络数据的实时分析、数据融合及预警服务。在智慧工厂及工业自动化方面,嵌入式人工智能可以改进传统的工业生产模式,提升生产能力及优化工厂运行。 3.工业自动化: 嵌入式系统在工业自动化
    发表于 04-11 14:17

    如何成为一名嵌入式C语言高手?

    嵌入式C语言领域获得突出的技能和能力。 一、打下坚实的基础要成为一名嵌入式C语言高手,首先需要打下坚实的基础。掌握C语言的基本语法、数据类型、运算符、控制流程和函数等概念是必不可少的。你可以通过学习
    发表于 04-07 16:03

    如何成为一名嵌入式C语言高手?

    嵌入式C语言领域获得突出的技能和能力。 一、打下坚实的基础要成为一名嵌入式C语言高手,首先需要打下坚实的基础。掌握C语言的基本语法、数据类型、运算符、控制流程和函数等概念是必不可少的。你可以通过学习
    发表于 03-25 14:12

    嵌入式会越来越卷吗?

    。这种技术进步为嵌入式系统的应用提供了更多可能性,使得其在移动设备、医疗保健等领域的应用更加灵活和可靠。同时,新兴技术领域,如人工智能、机器学习,也为嵌入式系统的智能化带来了新的突破,
    发表于 03-18 16:41

    瑞萨的40纳米MCU技术正在重新定义嵌入式系统的可能性

    从延长便携式设备电池寿命,到提高处理效率和响应能力,瑞萨的40纳米MCU技术正在重新定义嵌入式系统的可能性
    的头像 发表于 03-11 15:11 180次阅读

    嵌入式工程师需要掌握哪些技术?

    Bluetooth、Wi-Fi和LoRa等的了解也是有益的。 5. 调试和故障排除能力嵌入式系统开发中经常会遇到各种问题和错误。因此,具备良好的调试和故障排除能力是非常重要的。你需要学会使用调试工具和
    发表于 03-04 16:38

    嵌入式系统发展前景?

    嵌入式系统发展前景? 嵌入式系统,从定义上来说,是一种专用的计算机系统,它被设计用来控制、监视或者帮助操作一些设备、装置或机器。在过去的几年里,嵌入式系统已经取得了显著的进步,而未来,
    发表于 02-22 14:09

    嵌入式学习步骤

    开发。 嵌入式学习步骤总结如下: (1).确定目标平台:选择适合您要开发的嵌入式系统的硬件平台。这取决于您要控制的设备以及您需要执行的任务。 (2).选择编程语言:嵌入式系统通常使用C
    发表于 02-02 15:24

    嵌入式开发学习的十三法则分享

    主要作用的是所有结点及其所构成的 连结 特征。 八、网络法则 由一群设备相互作用的嵌入式Internet 结点所构成的网络,其整体所表现出的性质,往往与个别结点的性质没有重大关系。
    发表于 12-21 06:32

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

    方案,要求理解嵌入式系统架构,有一定的C语言基础,熟悉ARM、protel设计软件,有四层板开发经验。 成为优秀的嵌入式硬件开发工程师需具备以下技能:由需求分析至总体方案、详细设计的规划能力;熟练运用
    发表于 12-05 15:17

    什么是嵌入式Linux?

    Linux到底是什么呢? 嵌入式linux 是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。简单来说,是除了电脑之外可以运行程序的设备,将CPU嵌入
    发表于 10-11 13:47

    嵌入式Linux应用开发的完全手册

    是怎样和硬件发生作用的。 同样,对于想从硬件岗位转到软件岗位的人,对于想从传统单片机(比如51单片机)编程进一·步学习“有操作系统的”嵌入式编程的人,需要找到一个学习的切入点:先掌握各个硬件部件的简单编程
    发表于 09-25 07:12

    基于树莓派的嵌入式Linux开发教学

    树莓派对于全球嵌入式 Linux 开发及教育已经并将继续带来广泛的影响,及早将之引入我国主流的嵌入式开发与教学环境中或将是有益的。尽管传统的 “ARM 开发板硬件设计 +Linux 移植裁剪
    发表于 09-21 07:09

    嵌入式操作系统IJLC/OS一Ⅱ在通信电源监控中应用

    的查询分析和统计等功能也必不可少。通信电源设备运行参数多,实时效果强,在设备当中选择功能强大的控制芯片.应用嵌入式操作系统.使其尽可能地发挥出强大的软件控制功能,满足用户对通信电源控制
    发表于 09-20 06:46

    嵌入式软件好还是硬件好?

    架构,有一定的C语言基础,熟悉ARM、PROTEL设计软件,有四层板开发经验。 成为优秀的嵌入式硬件开发工程师需具备以下技能:由需求分析至总体方案、详细设计的规划能力;熟练运用设计工具、设计原理图
    发表于 09-18 15:31