在开发嵌入式软件时,最大的烦恼是不得不猜测软件在做什么的时候。过去,嵌入式开发人员能够深入了解他们的应用程序的最佳方法是让 LED 闪烁并将其与正在执行的代码相关联。今天的处理器和开发工具不仅可以让你了解软件中正在发生的事情,而且还可以感知操作系统。
操作系统感知调试是集成调试,它提供对操作系统结构和数据的访问,以便开发人员可以更好地了解操作系统的行为方式和使用微控制器资源的方式。操作系统感知调试正在越来越多的工具链中实现,并且可以为开发人员提供对其应用程序的几个关键见解。
首先,操作系统感知调试可以为开发人员提供当前可用任务、运行状态和优先级的概览。这可以让开发人员验证他们期望在系统中的所有任务仍然存在并且处于适当的优先级。
其次,操作系统感知调试可以提供执行信息,例如任务已执行的次数。嵌入式开发人员可以查看此信息以确保不同任务之间的任务运行比率是适当的。例如,如果 UART 发送任务应该与 UART 接收任务以 1:1 的比例执行,那么任何其他比例都应该是一个危险信号,表明某些事情没有按预期工作。
最后,围绕操作系统感知调试最重要的特性是每个任务的堆栈信息都是可用的。堆栈信息包含当前最大堆栈使用量、堆栈大小以及堆栈在内存中的位置。许多使用 RTOS 的开发人员面临的一个大问题是如何正确调整其任务堆栈的大小。开发人员需要执行最坏情况堆栈分析,并且在这些最坏情况下进行运行时测试可以帮助开发人员正确调整堆栈大小。
操作系统感知是一个重要的调试工具,开发人员不仅需要了解它,还需要在他们自己的开发周期中使用它,它可以为嵌入式开发人员提供有关其应用程序的信息,这些信息以前从未获得过,并且在优化内存使用和运行时性能方面非常有用。
发表评论 取消回复