’t Forget about Real-time

微控制器每天都在变得越来越强大,从而使许多开发人员忘记了许多人在其中工作的资源有限的性质。微控制器不是可以像对待具有无限内存和时钟速度的现代计算机(或手机)所能看到的那样的通用计算设备。大多数基于微控制器的应用都是为实时应用而设计的。

实时应用程序必须有最后期限,否则系统性能可能下降或恶化,系统可能会发生故障!将实时系统与PC操作系统(例如Windows,Mac OS或Linux)进行比较,有人可能会单击并等待数十秒钟,然后系统才会做出响应。还记得死亡的蓝屏或死亡的风车吗?实时嵌入式系统中的不可接受行为。

实时嵌入式系统由两种不同的截止日期类型组成:硬性和硬性实时期限。软实时截止期限是应始终满足的系统计时截止期限,但是如果由于某些原因而无法满足,则用户或系统会降级,但是系统总体上仍可以正常运行并实现其目的。软实时截止期限的示例是对按钮进行采样,以了解是否按下了该按钮,或者可能在用户的监视器上显示低优先级信息。

另一方面,硬的实时截止时间对于系统来说非常关键。缺少严格的实时截止期限意味着系统可能会发生灾难性事件。例如,踩下制动踏板,而不是在100毫秒内做出响应,而是在第二秒后接合制动器。错过最后期限是系统出现故障的迹象。

对于许多开发人员而言,资源受限的微控制器已经变得资源有限。大约一两年前,开发人员通常开发的系统的代码空间为几十KB,RAM为几KB。如今,高端微控制器具有1 MB的闪存空间和256 KB或更多的RAM。时钟速度超过200 MHz,这使这些微控制器看起来像是通用CPU,开发人员不再需要关心系统时序。

实时,基于时间的软件就是实时嵌入式系统的全部内容。今天,太多的开发人员开始完全忽略时间。假定有足够的CPU能力来处理应用程序,并且开发人员开始忽略声音工程原理。例如,我见过许多系统,甚至是高端系统,在这些系统中,开发人员任意选择任务优先级,而忽略了与时间相关的任何测量,然后在系统的随机行为异常并错过最后期限时感到困惑。

每个微控制器都以一种或另一种形式受到资源的限制,无论是在简单的Cortex-M0 +上还是复杂的Cortex-M4上进行开发,开发人员都要花时间检查他们的系统,测量时间并监视其任务如何执行,这一点至关重要。经验丰富的嵌入式软件开发人员需要记住,我们正在开发资源受限的系统,并且了解每个功能,组件和中断的时序对于提供一个功能完备的系统(无论在何种情况下都可以按预期运行)至关重要。

2 thoughts 上 “’t Forget about Real-time”

  1. 在Git中添加子模块时,您不会’要将子模块的代码添加到主存储库,您只需添加有关添加到主存储库的子模块的信息。

发表评论

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

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