控制器|嵌入式开发:每个工程师都应该关注的5个嵌入式系统特征

控制器|嵌入式开发:每个工程师都应该关注的5个嵌入式系统特征

无论嵌入式系统变得多么复杂 , 开发的每个嵌入式系统都应密切监控五个关键特征 。 一些是显而易见的 , 例如 RAM 和 ROM 的使用;然而 , 其他的往往被嵌入式开发人员忽视 , 很容易成为设计周期中的主要症结 。

特征 1 – 系统时序
向任何开发人员询问系统中断或功能的最小、最大和平均执行时间 , 90% 的时间答案将是茫然的凝视 。 在了解嵌入式系统的实时性能时 , 开发人员会祈祷并希望获得最好的结果 。 微控制器已经变得非常快速和强大 , 但它们绝不是一个可以完全忽略计时的通用计算设备 。 开发人员需要了解如果多个中断同时触发或用户同时按下所有按钮 , 他们的系统将如何响应 。
现代微控制器为开发人员提供了许多工具来了解他们的系统时序和响应 。 例如 , ARM 微控制器具有跟踪功能 , 允许开发人员定期对 PC 计数器进行采样并重建系统时序和执行路径 。 利用这些工具可以让开发人员深入了解他们的系统 , 并为他们提供关于系统如何执行的真实数据 , 而不是希望和祈祷系统正在按照开发人员认为的方式执行代码 。
特征 2 – 执行顺序
系统时序在实时嵌入式系统中至关重要 , 理解指令执行顺序同样重要 。 了解系统在哪里分支、跳转以及在何时以何种顺序执行什么功能或中断是至关重要的 。 系统已经变得如此复杂 , 以至于我们可以认为我们理解正在发生的事情 , 但提取跟踪数据并直观地看到代码执行揭示了一个完全不同的故事 。 建议嵌入式开发人员调查并熟悉他们的微控制器跟踪工具 , 这些现代工具提供了视觉上引人入胜且富有洞察力的图表 。

特征 3 – 代码大小
每个开发人员都会监控代码大小 , 对吗?并没有!大多数开发人员如果被问到 GPIO 或 SPI 驱动程序将在他们的系统上占用多少代码空间 , 甚至没有地方去寻找答案!他们所知道的是 , 他们处理的最后一个应用程序有 GPIO 和 SPI , 但最终应用程序使用了大约 47 kB 的闪存空间 。 现在代码大小可能会根据使用的编译器甚至优化级别和使用的标志而发生巨大变化 , 但是 , 跟踪这些细节对于帮助未来的项目规划和零件选择非常有用 。 如果您对开源和商业编译器之间的潜在差异感兴趣 , 建议您查看开源与商业编译器 。 在今天的大多数情况下 , 监控代码大小已变得不那么重要 , 因为闪存非常便宜 , 而且供应商已经很容易根据代码大小在同一微控制器系列中的不同部件之间进行切换 。
特征 4 – RAM 使用率
RAM 正在成为嵌入式软件开发的关键因素 , 微控制器闪存空间超过 16 kB 的情况并不少见 , 但在物联网、网络堆栈、通信和对代码重用的关注的同时 , RAM 空间仍然非常宝贵 。 再加上一个 RTOS , 一个应用程序可能至少需要 16 kB 。 当开发人员创建并实施他们的软件时 , 他们需要监控他们的 RAM 空间的去向 。 在基于 RTOS 的系统中 , 嵌入式开发人员将大量 RAM 分配给线程堆栈空间的情况并不少见 , 因为很难估计出正确的大小 。
特征 5 – 能源消耗
电池供电的设备无疑将能耗作为系统设计的关键要求 。 可以访问电网的系统通常会忽略能源 , 因为它不是关键要求 。 然而 , 鉴于能源成本上升和自然资源的限制 , 开发人员仍应继续监控他们的设备 , 以了解他们的能源足迹是什么 , 以及如何最大限度地减少他们使用的能源 。 电池供电的设备显然会在更换电池或为设备充电之间获得使用寿命 。 直接连接到电网的设备可以通过节省电费使消费者和最终用户受益 。