2改变游戏规则的趋势将在2020年定义嵌入式系统’s

在过去的十年中,嵌入式技术取得了惊人的进步 系统开发技术,工具和技术。我记得十年前 当微控制器的时钟速度高于48 MHz且 令人难以置信的128 KB闪存。今天,我们现在有 时钟速度超过1 GHz,闪存存储超过4 MB, 甚至使我的第一台个人计算机嫉妒。剧增 微控制器的功能及其可承受的成本即将迎来 在未来十年中出现了全新的设计范例。我们来看三个 我相信嵌入式系统开发的趋势将证明是游戏 2020年的变革者。

趋势1 – Python作为主流语言的兴起

Python已经是最受欢迎的编程语言 由嵌入式系统行业以外的软件开发人员提供。实际上,一项调查 由IEEE于今年进行的测试证明,在工程师中,Python是 第一编程语言,其次是Java,然后是C1。的 Aspencore 2019年嵌入式市场研究还发现,在过去两年中, 在嵌入式空间中用Python编程的项目数量翻了一番2! (请记住,该研究还发现, 使用C的项目)。那么,关于Python的是什么让我认为它将 成为嵌入式系统的主导语言?

首先,正如我在简介中所讨论的那样,计算能力 微控制器中可用的功能已经发展到精简的程度 版本的Python内核可以在仅花费一个 几块钱。其次,已经有流行的Python开放源代码端口 例如MicroPython,可在十几种架构上使用 包括STM32和ESP32等热门产品。

第三,大多数计算机科学都没有教授C和C ++ 工程程序。现在是Python和一些Java,并且已经使用了很多 时间。这意味着将有并且将有整整一代的工程师 在接下来的十年中带头自然地倾向于使用 Python.

最后,当我参加会议时,与潜在客户交谈 同事们,我已经看到使用Python的天赋。没有人愿意 不再需要使用底层硬件和软件。他们想要他们的 微控制器运行一些可以放置应用程序的东西 快速发布特定代码,并将其产品推向市场。忘了担心 寄存器,指针和所有传统的嵌入式东西。另外,如果Python是 使用后,任何人都可以帮助开发产品,而不仅仅是那些嵌入式的人。

准备好了吗,Python来了!

趋势2 –边缘机器学习

我真的很想避免将机器学习当作游戏 未来十年的变化趋势。我感觉就像机器的炒作 学习是巨大的。我无法打开时事通讯或阅读博客(或显然无法 写一个)而没有出现机器学习。但是事实是 机器学习对于嵌入式系统开发人员具有巨大的潜力,因为我们 begin a new decade.

目前针对嵌入式开发人员的机器学习 站,在物联网边缘具有最大的潜力。直到最近,机器 学习是在“外面”的某个地方完成的,几乎没有什么要做 与嵌入式开发人员。请记住,当我在介绍中讨论时 微控制器硬件技术的飞速发展?这些 进步使得在机器上运行机器学习推理变得容易得多 microcontroller.

在边缘的嵌入式控制器上运行推理 打开各种本地应用程序,可以节省带宽和 与云的通信成本。一个似乎特别适合的领域 边缘的机器学习是嵌入式视觉。执行对象的能力 边缘的检测和识别有很多潜在的机会 业务应用程序,并减轻开发人员的工作量。

当前大量的数据和库 可用将使训练新的机器学习模型变得非常容易。甚至 我写这篇文章,有专家团队致力于如何优化工具 和库,以便推断可以在嵌入式控制器上运行。事实上, 我们已经可以在Arm Cortex-M4上进行推断了 处理器。我知道我们已经对谈话机器感到厌倦 学习,但是对于我们来说嵌入式系统行业才刚刚起步 engineers.

结论

未来十年有可能极大地改变 产品和嵌入式系统的开发方式。在这篇文章中,我们已经 探索了我认为最大的两种游戏变化趋势 对嵌入式系统开发人员的影响。当然还有其他趋势 这将在2020年代出现,但我们将不得不再次保存它们。一世 认为在未来十年中将发现大多数应用程序将不仅仅是 使用Python,还可以进行机器学习。

您如何看待,Python和机器学习将成为 未来十年将有两个主要的游戏改变者?

参考文献

  1. //spectrum.ieee.org/computing/software/the-top-programming-languages-2019
  2. //www.embedded.com/wp-content/uploads/2019/11/EETimes_Embedded_2019_Embedded_Markets_Study.pdf

8 thoughts 上 “2改变游戏规则的趋势将在2020年定义嵌入式系统’s”

  1. Python:如果您的目标基本上是从制造商的角度出发,那该死的错误,那就是Python(和Java)。

    它们是用于嵌入式开发的可怕语言,但是因为它们容易引发错误。我40年前在FORTRAN编程时就学到的涉及错字的讨厌的东西。

    因此,这里的问题在于使这些未来的程序员进入专业和精湛工艺的心态,而不是制造商的心态。

    任何人都可以做任何事。制造产品要困难得多。

    1. 我认为,尽管要考虑将编写Python的任何人视为开发者,但我们必须要小心。 Python对于如何正确设计和构造代码有非常严格的指导。一世’ve还发现,与我认识的大多数C程序员相比,Python开发人员(至少是与我进行过交流的开发人员)在创建自动化测试和执行回归测试方面要好得多。

      我觉得你’当您提到这是开发人员的心态时,请把它放在头上。感谢您的评论!

  2. 嵌入式中不好的另一件事是堆空间。 MISRA有正当理由禁止它。

    您不仅会发生内存泄漏,而且还可以’*非常精确地*时,您必须严格控制’如果要执行垃圾回收(Python和Java都隐式地存在),那么您需要的硬件要比做同一件事所需的硬件更多。基本上,您必须通过向问题中抛出比所需数量更多的硬件来补偿您现在所生活的非实时框架以进行实时。通常这不是’与诸如功耗之类的其他问题相比,这是一件非常昂贵的事情。

    1. 感谢您的评论。我当然不’不能同意您的意见,但我也认为,现在有许多应用程序正在成为一种选择。我认为记住该操作系统也很有趣’像嵌入式Linux一样,它们会利用堆空间,并且其中许多系统运行良好。实际上,如果您查看SpaceX’的猎鹰火箭,我听说它们都是完全用Python编码的,并且在处理其实时要求方面非常成功。 (我知道处理能力的规模略有不同)。

      我对几种嵌入式Python语言有很多关注,但是探索并观察了MicroPython在过去3年中的发展情况。–四年来,我越来越担心。我认为MISRA是所有嵌入式开发的推荐标准,但是我们应该牢记这是针对安全性至关重要的应用程序而设计的。有很多非安全应用程序可以应用,我当然不会’认为Python永远不会用于这些类型的系统。

      有趣的是,这些嵌入式Python端口通常还包含API’用于控制垃圾收集和管理能耗。我完全同意,当然存在某些问题,任何尝试使用嵌入式Python的人都必须仔细研究,特别是对于生产系统。

    1. 嵌入式Python当前非常耗费内存,但是当您查看企业如何尽快进入市场,使用C开发应用程序的成本和时间,内存和微控制器成本的下降以及功能的增强时,我认为它将对开发人员来说是一个非常有趣的选择。实际上,您可以购买ESP32,它是一款仅需花费几美元的Wi-Fi / BT组合芯片,并在其上放上MicroPython并在短短几天内开发出完整的传感器节点应用程序。当然赢了’效率不如用C语言编写,但效率’所有这些解决方案以及其中一些解决方案所需的约350 kB闪存变得微不足道。

      感谢您的评论,非常感谢您对此的想法! (我认为这个话题很有趣!)

  3. Python非常适合小型项目,但对于行业标准C而言,它将长期保持其地位。

    您如何看待RUST?

    1. C将长期保持其地位,但是我可以看到各个行业中的大量系统完全转向了Python。例如,工业物联网没有理由使用C,实际上,使用C将不利于成本和时间投资。另一方面,任何对安全至关重要的事情显然都将在很长一段时间内保持为C。

      我认为至少到现在为止,RUST都被过度宣传了。它 ’极其有趣,但目前尚无标准,我认为Python比RUST更有可能获得市场份额。只有时间会证明一切。

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.