µVision调试器提供了一个可以在其中测试,验证和优化应用程序代码的环境。该调试器包括传统功能,如简单和复杂的断点,监视窗口和执行控制,并提供对设备外围设备的完全可见性。
µVision调试器使用ULINK调试适配器访问基于Cortex-M的设备中的Arm CoreSight™单元,可提供高级的实时调试,跟踪和分析功能:
- 组件查看器,事件记录器和事件统计信息显示有关应用程序执行的执行状态,事件,时序和电源信息。
- 数据和事件跟踪输出有关中断和异常的详细信息。它还可以传递程序事件并启用printf样式的调试消息。
- 指令跟踪将完整的程序执行流式传输以进行记录和分析。
- “ 事件统计信息”窗口显示应用程序代码的执行时间和电流消耗(使用ULINK plus时)。
- 执行时间在Performance Analyzer中进行了总结,可用于代码语句。
使用CMSIS-DAP和ULINKplus进行多核调试
在此网络研讨会中,您将学习如何设置µVision以与多核目标一起使用,如何在调试会话中使用CMSIS-DAP以及在调试多核设备时如何使用ULINKplus的增强功能。
使用事件记录器确定时序和功耗瓶颈
在此网络研讨会中,您将学习如何使用事件为应用程序代码添加注释,这些事件提供有关执行时间和能耗的详细统计信息。此信息使您可以优化算法并比较更改,例如在自动构建测试中。
使用ULINK pro进行高级调试和跟踪
µVision调试器使您可以完全访问基于Cortex-M的系统的调试和跟踪。跟踪可启用其他调试视图,例如逻辑分析器,事件查看器,性能分析器,代码覆盖率和指令跟踪。这些调试视图显示了应用程序的动态行为,使您可以优化算法或识别偶发错误。在此网络研讨会中,您将学习如何使用ULINK pro在NXP的Kinetis K64 MCU上进行嵌入式应用程序的高级调试和跟踪。
组件查看器和事件记录器
组件查看器和事件记录器不需要目标硬件的特殊调试功能。他们使用内存读写来显示有关以下内容的信息:
- 静态内存变量或结构中提供的软件组件
- 对象句柄寻址的对象。
- 软件组件的执行状态和事件信息。
活动统计
“ 事件统计信息”窗口显示有关代码执行的统计数据。任何调试适配器均可用于记录执行时间和带注释的代码段的调用次数。使用ULINK plus可以对带注释的代码段进行能量分析。好处包括:
- 收集有关代码执行的统计数据(时间和精力)。
- 日志文件允许在持续集成(CI)环境中的不同构建运行之间进行比较。
- 改善整体代码质量和能量配置文件(尤其与电池驱动的应用相关)。
数据和事件跟踪
所有基于Cortex-M3 / M4 / M7 / M23 / M33的设备都提供数据和事件跟踪。在系统运行时,MDK提供了多种分析此信息的方法:
- 跟踪数据窗口 -通过捕获时间戳,PC示例,异常和内存读/写访问来显示程序流。
- 调试(printf)查看器 -显示通过仪器跟踪宏单元(ITM)端口0 顺序传输的数据流。
- 跟踪异常窗口 -显示有关程序异常和中断的统计数据。
- 事件计数器 -显示特定事件计数器的实时值,以提供性能指示。
- 逻辑分析器 -以图形方式显示随时间变化的变量值。
指令追踪
许多Cortex-M3 / M4 / M7 / M33设备都集成了提供指令跟踪的嵌入式跟踪宏单元(ETM)。Keil ULINK pro将指令跟踪流直接传输到您的PC,从而实现历史序列的调试,执行性能分析,性能优化和代码覆盖率分析。
代码覆盖率
几乎无限的跟踪信息流使MDK可以提供程序的完整代码覆盖率。代码覆盖范围标识了已执行的每条指令,从而确保对应用程序进行彻底的测试。这是完整的软件验证和认证的基本要求。
Performance Analyzer
ULINK pro允许应用程序长时间运行,同时收集跟踪信息。这是用来通过性能分析器用于功能和程序块记录和显示执行时间。它显示了处理器周期的使用情况,并使您能够确定需要优化的算法。
执行探查器
记录了您的应用程序后,执行探查器显示了完整程序代码的时序和执行统计信息。
第三方工具
利用来自事件记录器的事件信息,Percepio的Tracealyzer支持Keil RTX5项目的高级调试。
掌握RTOS调试技术
在开发实时嵌入式系统时,几乎必须使用RTOS。问题在于,许多开发人员才刚刚开始使用RTOS,并且不熟悉快速有效地调试其基于RTOS的应用程序代码所需的方法和技术。在这次网络研讨会中,与会者将熟悉调试其代码所必需的最新,最出色的技术和工具。将研究重要的概念,例如正确调整线程堆栈的大小,使用事件查看器以及发现优先级倒置,死锁和线程饥饿等问题。该网络研讨会提供了使用带有MDK的NXP K64 Freedom Board,Keil RTX5和Percepio的Tracealyzer的动手演示。
该网络研讨会由Percepio和Arm的嵌入式软件专家Jacob Beningo主持。