控制器|嵌入式开发:提示和技巧——满足实时期限的7个技巧

控制器|嵌入式开发:提示和技巧——满足实时期限的7个技巧

嵌入式系统必须满足其实时期限 , 才能有效地按预期运行 。 没有人喜欢按下一个按钮 , 等待30秒 , 系统才最终做出反应 。 更重要的是 , 安全关键系统需要按时完成 , 否则可能会发生非常糟糕的事情 , 例如受伤或死亡 。 有很多方法可以确保嵌入式系统能够按时完成 , 但这里有七个技巧可以帮助嵌入式开发人员确保按预期完成他们的最后期限 。

技巧1——争取30%的空闲时间
每个人都希望从为产品选择的每个组件中获得最大的价值 。 以低于100%的速度运行微控制器 , 感觉就像产品被过度设计了 。 然而 , 事实是 , 为了满足实时要求和截止日期 , 开发人员真的应该将他们的系统设定为CPU空闲时间在30%左右 。 为什么这么高?执行理论RAM(单调速率分析)的开发人员会发现 , 满足实时要求、运行调度程序和处理中断的理论最大CPU负载为69.3% 。 对处理器施加更大的压力意味着 , 在最坏的情况下 , 无法满足实时系统要求的可能性大大增加 。
技巧 2——使用跟踪工具进行精确测量
几年前 , 开发人员会绘制出他们系统中理论上会发生的事情 , 实施它 , 然后祈祷微控制器中发生的事情就是他们认为正在发生的事情 。 从那时起 , SWD、ETM和其他跟踪协议等新工具已经出现 , 允许开发人员监控微控制器中正在执行的指令 , 而对实时性能的影响最小 。 开发人员通常会假设他们的系统将如何执行代码 , 但使用跟踪工具 , 不仅可以测试假设 , 还可以为开发人员提供最小、最大和平均执行时间 , 使他们能够调整和验证他们的实时模型 。 使用这些工具来改进和理解假设 , 并认识到系统正在做什么 。
技巧3——谨慎选择RTOS优先事项
很多嵌入式开发人员不知道如何选择RTOS优先级 。 当被迫选择一个优先级时 , 他们只是简单地与系统中的其他任务做一个快速的心理比较 , 然后选择他们认为应该是的那个 。 决策中很少涉及工程学 , 更多的是猜测 。 只有在仔细分析了任务之间的相互影响 , 并确定所有任务在所有情况下都能在截止日期前完成后 , 才能选择RTOS优先级 。
技巧4——进行RMA分析
单调速率分析(RMA)是一种技术 , 开发人员可以使用它来分析他们的周期性任务 , 并确保设置优先级 , 以便满足所有截止日期 。 对于开发者来说 , RMA是一个很好的起点 , 可以用来确保他们系统的完整性是建立在坚实的基础上的 。

技巧5——为工作选择合适的微控制器
选择一个对手头工作来说马力太小的微控制器会导致一个噩梦般的解决方案 , 即不断地优化、切割和与源代码斗争 。 选择正确的微控制器是一项挑战 。 一个好的经验法则是从感兴趣的微控制器系列的高端器件开始 , 制作系统原型 , 并开始了解代码、其执行方式和系统的整体性能 。 如果微控制器的功率太大 , 就换成功率较小的微控制器 。 但是不要忘记 , 在许多情况下 , 产品往往会随着时间的推移添加越来越多的功能 , 因此嵌入式开发人员选择一个超出需要的微控制器可以保持系统正常工作 , 即使功能蠕变正在发挥作用 。
技巧6——创建软件架构
预先设计系统 , 建模并创建软件架构 。 一个架构将帮助开发者理解主要的软件组件 , 它们的输入和输出是什么 , 以及它们如何相互作用 。 理解这些主要部分可以识别没有被很好理解的区域 , 这可以引导工程师在编写产品代码之前更好地研究和理解这些区域 。 一个架构良好的代码库将会产生可理解的代码 , 并满足其最后期限 。