如何在IAR IDE中调试基于Cortex-R52的RZ/T&N MPU的变量实时监控?

描述

变量实时监视功能是指IAR Embedded Workbench集成开发环境中提供的实时变量监控功能。它允许开发人员在调试过程中实时跟踪变量,并在运行时监控其值。此功能的意义在于它可以帮助开发人员更准确地了解程序的执行过程和变量的变化。通过实时监控变量,开发人员可以及时识别代码中的问题,例如内存溢出或不正确的变量值,从而实现快速调试和代码修复。此外,变量实时监视提供变量的历史记录,使开发人员能够查看变量值变化的趋势,以便更好地分析程序执行。然而,大多数客户在调试基于CortexR52的RZ/T&N系列MPU时,不知道如何启用“实时监视功能”

下面介绍一个简单的解决方案:

01

根据RZ/T2 N2 AXI-AP在端口上的用户手册,设置 EWARM调试器选项。如图1所示:

调试器

图1 在IAE IDE中设置AXI-AP端口

02

由于IDE可以直接通过AXI-AP访问SRAM范围,因此可以测试系统RAM中定义的变量以进行实时监视。客户可以修改*.icf文件,需要在实时监视窗口中观察的变量放置在系统RAM区域中。

调试器

图2 设置代码从RAM区域开始

03

TCM区域中定义的变量无法直接进行实时监视。但是访问地址需要添加偏移量0x2000_0000。实时监视通过变量符号的地址执行实时读取和更新。当变量在TCM区域中定义时,调试器可以通过AXI-APTCM中读取,但是AXI-AP需要地址偏移才能访问TCM,因此实时监视窗口无法直接更新。

调试器

图3 CPU0 TCM通过AXIS的地址偏移

首先,客户需要手动更改*.ddf文件,并使调试器将TCM via AXIS区域识别为有效的地址区域.如下图4所示:

调试器

图4 在IAE IDE中修改*.ddf文件

然后,通过中间指针变量间接实时显示存储在TCM中的变量,该变量获取变量的地址和偏移值。例如:变量“var”在TCM区域中定义。如果用户想要实时观看“var”,他应该添加表达式“&var+0x20000000/4”,将“var”配置到AXIS的镜像区域。0x20000000是AXIS访问区域和TCM区域之间的偏移量。0x20000000/4是因为“var”的数据类型长度为32位。

调试器

图5 实时观看TCM区域中定义的变量

对客户的好处:

以下是可变实时观看功能在工业控制领域的一些重要含义:

01

故障排除和调试

工业控制系统可能会遇到各种故障和问题。通过实时监控变量值,开发人员可以精确定位和诊断问题的根本原因,帮助解决故障并加快调试过程。

02

实时性能分析

工业控制系统通常需要满足严格的实时性能要求。通过使用IAR变量实时观看功能,开发人员可以实时监控关键变量值,并分析系统响应时间、执行时间等指标,从而促进性能优化和改进,确保系统高效运行。

03

数据采集和监控

工业控制系统中的传感器和执行器通常会生成大量数据。通过IAR变量实时监视功能,可以实时监控和记录变量值,有助于数据收集和分析,从而实现精确的控制策略。



审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分