vesperW · 7月24日

Keil 调试功能这么强大,很多人不会用?

作者 | strongerHuang

Keil MDK的界面虽然不那么友好(IAR其实也好不到哪里去),但Keil的调试功能算是好过很多集成开发环境,特别是针对Cortex-M内核的处理器。

Keil MDK支持的调试功能有很多:组件查看器、事件记录器、事件统计、数据和事件跟踪、指令跟踪等。

image.png

从过去技术交流群的消息来看,还有很多小伙伴居然不会用Keil的调试功能。当然,新手使用调试功能时多少会遇到一些问题,下面就简单讲述一下Keil MDK调试时,常见的用法及一些要求。

1.逻辑分析仪

它要求目标硬件支持 SWO 或 ETM 跟踪。

image.png

SWO 跟踪或 ETM 跟踪需要在 µVision 调试设置中正确配置:

image.png

2.性能分析器

它要求目标硬件支持 ETM 跟踪。ETM 跟踪需要在 Keil 调试设置中正确配置。

image.png

要求:与 Keil一起使用的调试器硬件需要支持流式 ETM 跟踪,例如 ULINKpro。

(有些第三方调试适配器硬件,如之前的 J-Trace Pro,不支持Keil 中的 ETM 流跟踪,换句话说,不能与性能分析器一起使用)

3.代码覆盖率

它与“性能分析器”一样,调试器硬件需要支持流式 ETM 跟踪。“代码覆盖率”对话框提供有关已执行代码的统计信息。将此信息与反汇编窗口中的信息一起使用。

image.png

4.系统分析仪

系统分析器主要显示的某些调试信息,例如功耗、测量的内核时钟频率等。

如果要查看其他调试信息,例如 RTX5 事件、线程等,需要正确启用和设置事件记录器。同时,查看调试信息(比如异常),需要启用和设置 SWO 或 ETM 跟踪。

image.png

5.系统和线程查看器

系统和线程查看器仅支持基于 CMSIS RTOS v1 的旧版 Keil RTXv4.x(仅支持 Keil RTX 4.82 或更早版本)。

image.png

如果你使用 Keil RTXv4.x 的项目使用 ARM V6.x 编译器工具链编译的,需要遵循“系统和线程查看器”为空。

有关 Keil RTX 5 的类似信息,可以使用“组件查看器”。

6.组件查看器

与上面第5点对应,组件查看器仅支持CMSIS RTOS v2,组件查看器窗口显示的静态信息,帮助分析软件组件的操作。所需的基础架构可以轻松添加到用户应用程序中,并且已经在 MDK-Middleware 和 Keil RTX5 中实现。

image.png

本文就先分享到这里,还有更多关于Keil 调试的相关内容,大家可以自行研究。

END 

作者:strongerHuang
来源:嵌入式专栏

推荐阅读

欢迎大家点赞留言,更多Arm技术文章动态请关注极术社区嵌入式客栈专栏欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。

推荐阅读
关注数
2872
内容数
228
分享一些在嵌入式应用开发方面的浅见,广交朋友
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息