嵌入式软件开发团队面临的最大挑战之一是,他们花费太多时间来调试软件。当我与全球团队和工程师交谈时,在我参加的各种会议上,显然,开发人员平均将其40%的时间或更多时间用于调试软件。
嵌入式系统所消耗的能量,尤其是电池操作的设备,例如IoT传感器节点,可能是该设备成功实现其目的还是陷入默默无闻之间的区别。开发人员可以使用许多低功率最佳实践,例如:
开发灵活且可扩展的嵌入式软件已成为产品开发的重要方面。越来越多的公司不是开发单个单片产品,而是开发一个核心平台,从中可以创建几个不同的产品线。在核心代码中,有时会有所需的软件行为未知,并且必须满足特定产品需求。为了实现代码灵活性,开发人员可以使用回调功能。
传统的嵌入式软件应用程序存在于单个连续的空间中,具有唯一的ID,内存和代码均坐在一起且易于访问。当然,这使得黑客一旦踏入门,就可以很容易地访问整个系统。嵌入式系统安全的关键是隔离。开发人员可以改善隔离的一种新方法是利用ARM®M23/33微控制器中的新Trustzone®功能。在这篇文章中,我将介绍读者如何使用Trustzone保护安全功能,但仍能从非安全内存区域访问它们。
我们讨论了为嵌入式应用程序设置断言通常需要的内容。我们还看到,根据所使用的工具链,它可能会略有不同。尽管存在这些较小的差异,但仍将断言用于相同的目的:检测开发人员对应用程序的假设何时在应用程序中的特定点不正确。
软件体系结构是其组件中体现的系统的基本组织,彼此之间的关系以及环境的关系以及指导其设计和进化的原则。软件体系结构并不是要创建一次并将其设置为石头。相反,软件体系结构应在整个产品的一生中发展和变化。多年来,我听到工程师和经理讨论了软件体系结构应该从编码工作中出现,就好像是通过魔术一样。相信一个新兴的,干净的建筑就像相信将一包意大利面倒入开水中会导致烤宽面条面条。
应用识别设计和编写强大,可扩展和安全软件所需的知识,创造力和奉献精神。但是,该生态系统具有显着的断开连接。尽管开发人员期望为他们的工作获得最高的收入,但他们通常不愿支付有助于他们更有效的优质软件,工具和流程。
温度传感器对于广泛的应用和用途至关重要,包括消费电子,环境监测和工业处理。为了确保精确,准确的温度读数,必须选择正确的温度传感器。鉴于市场上有各种各样的选择,选择最合适的温度传感器可能很难。本文指导选择最适合特定应用的温度传感器。
我们检查了微控制器中可用的几种不同的低功率模式,以及这些低功率模式如何影响能耗和唤醒时间。低功率模式是减少微控制器使用的能量的主要技术之一,但这并不是开发人员可用的唯一技术。在这篇文章中,我们将研究我最喜欢的五种用于降低微控制器能耗的技术。
运行时断言在开发和执行逐项合同原理中捕获错误的力量。但是,并非需要在运行时验证嵌入式系统中的所有假设。某些条件可以并且应该在编译时检查,以确保代码的正确性甚至在运行之前。这是静态断言发挥作用的地方。
对于每个嵌入式软件开发人员和团队来说,性能是关键的指标。无论您是开发资源受限的设备,高性能模块还是仅仅是普通的系统,浪费的时钟周期都会花费金钱,时间和能量。如今,许多嵌入式系统都是由RTO构建的,但是根据我的经验,团队通常几乎不考虑其性能。
大多数现代嵌入式软件应用程序都是从闪存存储和执行的。 Flash为基于微控制器的应用程序提供了廉价且快速的存储介质。尽管这些应用程序通常是实时应用程序,在这些应用程序中,执行时间和确定性行为至关重要。虽然闪存很快,但它不如从RAM执行代码快。为了加快基于Flash的应用程序的执行时间,开发人员可以选择性选择关键功能并从RAM中执行它们以获得额外的速度提升。
Lumeova的任务是通过其Wirays技术创新无线连接。该公司总部位于北卡罗来纳州罗利市,正在解决我们这个时代最紧迫的挑战之一:对更快,更可靠的无线数据的增长需求。 Lumeova创始人兼首席执行官Ali Khatibzadeh在接受Embedded.com的采访中提供了对公司专有技术的见解。
随着物联网的发展并在现场部署了更多的边缘设备,无疑将在这些设备中很大一部分电池操作。电池操作的无线边缘节点很方便且具有成本效益,因为它们不需要访问电气基础设施,并且可以轻松部署。电池操作的设备的潜在问题是,当开发人员在枪支下构建设备并在门外时,电池寿命是他们脑海中的最后一件事。开发人员在整个开发周期中可以做几件事,以确保他们能够正确管理设备的能耗。
有关开发人员如何通过在RAM中执行时间敏感功能而不是从Flash中执行时间敏感功能来加快其应用程序代码的文章。您可能想知道是否要进行这样的调整,表现会发生什么变化?答案会根据微控制器的制造技术而有所不同,但是开发人员可以使用三种技术来衡量其应用程序或功能性能: