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 。

审核编辑:郭婷

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

    关注

    5186

    文章

    20151

    浏览量

    328883
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    217983
  • API
    API
    +关注

    关注

    2

    文章

    2153

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    嵌入式应掌握的几种能力

    能力。 我觉得牢牢地掌握这些99.99999%的概率都会用得上的嵌入式软件基础对找工作才比较有利。其它一些技术可以再用的时候再去了解、学习。 特别是一些行业相关知识,可以入行之后再进行学习。如果你一开始的目标就很明确,要在某一行、某一个方向进行深耕,也可以提早学习相
    发表于 12-08 06:05

    嵌入式和FPGA的区别

    ,FPGA凭借硬件并行处理能力,能够实现纳秒级响应,远优于微秒级的嵌入式系统。 功耗效率上,嵌入式系统针对特定应用优化后能效比很高,而FPGA由于可编程特性通常功耗较大,但在特定算法加速场景下
    发表于 11-19 06:55

    嵌入式开发的关键点介绍

    开发需要考虑嵌入式系统的资源限制,例如:内存、CPU处理能力等等。因此,嵌入式开发需要开发人员具备优化代码的能力嵌入式系统的安全
    发表于 11-13 08:12

    嵌入式实时操作系统的特点

    任务的系统。 实时嵌入式操作系统与传统的桌面操作系统相比,更注重对实时任务的响应和精确控制。它们在资源利用、可靠、可预测、任务调度和中断处理等方面提供了更加严格的要求和机制。 实时
    发表于 11-13 06:30

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

    MSO‌:提供电源完整测试、时序分析、数字信号验证等硬件调试功能,以及中断处理分析、代码执行流程跟踪等软件调试能力。 测试工具选型建议选择嵌入式软件测试工具时应考虑以下因素: ‌测试阶段需求
    发表于 09-28 17:42

    嵌入式和单片机,是同一个东西吗?

    设计用来执行特定的任务,并且通常嵌入在更大的系统中,比如家电、汽车电子、医疗设备等。嵌入式系统的特点是专用、资源受限和实时
    发表于 07-09 10:20

    Linux嵌入式和单片机嵌入式的区别?

    Linux嵌入式与单片机嵌入式在多个方面存在显著的区别,以下是详细的比较和归纳: 一、基本概念 1. Linux嵌入式: 定义:将Linux操作系统运行在嵌入式
    发表于 06-20 09:46

    嵌入式适合自学吗?

    实际问题,如硬件故障、软件调试等。没有专业指导的学习者,可能很难快速找到问题的根源并解决。 三)缺乏系统 1)学习内容零散:自学嵌入式容易出现学习内容的零散和不系统,缺乏全面的学习指导。学习者
    发表于 04-27 09:54

    高可靠嵌入式主板设计

    嵌入式系统已广泛应用于各个领域,从航空航天、医疗设备到工业控制和智能家居,其应用范围不断扩展。随着应用场景的日益复杂和关键,嵌入式系统的可靠变得至关重要。
    的头像 发表于 03-25 15:11 812次阅读
    高可靠<b class='flag-5'>性</b><b class='flag-5'>嵌入式</b>主板设计

    嵌入式软件单元测试的必要、核心方法及工具深度解析

    一、为什么嵌入式软件必须重视单元测试? ‌嵌入式系统的特殊‌ 在汽车 ECU、医疗设备控制器等场景中,软件直接操控硬件,‌单比特错误可能
    的头像 发表于 03-21 14:53 960次阅读

    嵌入式主板:智能设备的“大脑”,驱动未来无限可能

    在当今这个万物互联的时代,嵌入式主板作为智能设备的“大脑”,正悄然改变着我们的生活。从智能家居到工业自动化,从医疗设备到交通系统,嵌入式主板无处不在,为各种应用场景提供强大的计算和控制
    的头像 发表于 02-07 11:34 827次阅读
    <b class='flag-5'>嵌入式</b>主板:智能<b class='flag-5'>设备</b>的“大脑”,驱动未来无限<b class='flag-5'>可能</b>

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

    嵌入式系统的发展已经深刻地影响了我们日常生活的方方面面,从智能家居到汽车控制系统,再到医疗设备和工业自动化等领域,嵌入式系统无处不在。嵌入式软件的质量直接关系到系统的安全
    发表于 01-15 10:48

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

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

    嵌入式好找工作吗?

    设计可能随着模板化工具的发展,从业者竞争越发激烈且可替代变强,但嵌入式开发因其专业和复杂,只要持续提升技能,就能在行业中立足,并且随着
    发表于 12-16 15:43

    什么是嵌入式人工智能

    嵌入式人工智能是指将人工智能技术应用于嵌入式系统中的一种技术。嵌入式系统是嵌入到其他设备或系统中的计算机系统,通常用于控制、监测或执行特定任
    的头像 发表于 12-11 09:23 1520次阅读
    什么是<b class='flag-5'>嵌入式</b>人工智能