2026 / 07 / 21
如何在IAR IDE中使用基于Cortex-R52的RZ/T&N MPU的变量实时监控
概述
变量实时监视功能是指IAR Embedded Workbench集成开发环境中提供的实时变量监控功能。它允许开发人员在调试过程中实时跟踪变量,并在运行时监控其值。此功能的意义在于它可以帮助开发人员更准确地了解程序的执行过程和变量的变化。通过实时监控变量,开发人员可以及时识别代码中的问题,例如内存溢出或不正确的变量值,从而实现快速调试和代码修复。此外,变量实时监视提供变量的历史记录,使开发人员能够查看变量值变化的趋势,以便更好地分析程序执行。然而,大多数客户在调试基于CortexR52的RZ/T&N系列MPU时,不知道如何启用“实时监视功能”。
下面介绍一个简单的解决方案:
1 根据RZ/T2 N2 AXI-AP在端口上的用户手册,设置 EWARM调试器选项。如图1所示:

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

图2 设置代码从RAM区域开始
3 在TCM区域中定义的变量无法直接进行实时监视。但是访问地址需要添加偏移量0x2000_0000。实时监视通过变量符号的地址执行实时读取和更新。当变量在TCM区域中定义时,调试器可以通过AXI-AP从TCM中读取,但是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区域中定义的变量
