mrd - 2025.2 简体中文 - UG1725

软件调试器 参考指南 (UG1725)

Document ID
UG1725
Release Date
2025-11-20
Version
2025.2 简体中文

存储器读取。

语法

mrd [options] <address> [num]

<address> 指定的活动目标存储器地址中读取 <num> 数据值。

选项

选项 描述
-force 覆盖访问保护。默认情况下,阻止访问保留地址和无效地址范围。
-size <access-size> <access-size> 可采用以下任一值:b = 字节访问;h = 半字访问;w = 全字访问;d = 双字访问;默认访问大小为 w。如果不使用“-unaligned-access”选项,地址将对齐到访问大小,然后再读取存储器。对于不支持双字访问的目标,调试器会使用 2 次全字访问。如果要读取的数据值数量大于 1,那么该调试器会选择相应的访问大小。例如,1. mrd -size b 0x0 4 调试器访问存储器中的 1 个码字,并显示 4 字节。2. mrd -size b 0x0 3 调试器访问存储器中的 1 个半字和 1 个字节,并显示 3 字节。3. mrd 0x0 3 调试器访问存储器中的 3 个码字,并显示 3 个码字。如需读取的数据超过 64 位,则请同时指定数据字数和地址。读取的数据为访问大小的倍数。例如,要读取 128 位数据,请运行“mrd -size d <addr> 2”或“mrd -size w <addr> 4”。
-value 返回 Tcl 值列表,而不是在控制台上显示结果。
-bin 返回从目标读取的数据(二进制格式)。
-file <file-name> 将从目标读取的二进制数据写入 <file-name>
-address-space <name> 访问指定存储器空间,而不是访问当前目标的默认存储器空间。对于 Arm® DAP 目标,地址空间 DPR、APR 和 AP<n> 分别可用于访问 DP 寄存器、AP 寄存器和 MEM-AP 地址。为保证向后兼容性,可使用 -arm-dap 和 -arm-ap 选项,这两个选项分别对应“-address-space APR”和“-address-space AP<n>”。APR 地址范围是 0x0 - 0xfffc,其中高 8 位选择 AP,低 8 位即为该 AP 的寄存器地址。
-unaligned-access 执行读取操作前,存储器地址不对齐到访问大小。根据目标架构来确定是否支持未对齐的地址。如果不指定该选项,那么地址会自动对齐到访问大小。

注释

  • 请选择 APU 目标以访问 Arm DAP 和 MEM-AP 地址空间。

返回

如果成功,则按请求的格式返回存储器地址和数据。如果无法读取目标存储器,则返回错误字符串。

示例

mrd 0x0

读取位于 0x0 处的 1 个码字。

mrd 0x0 10

读取位于 0x0 处的 10 个码字。

mrd -value 0x0 10

读取位于 0x0 处的 10 个码字,并返回 Tcl 值列表。

mrd -size b 0x1 3

读取位于地址 0x1 处的 3 字节。

mrd -size h 0x2 2

读取位于地址 0x2 处的 2 个半字。

mrd -bin -file mem.bin 0 100

读取位于地址 0x0 处的 100 个码字,并将二进制数据写入 mem.bin。

mrd -address-space APR 0x100

读取 Zynq 上的 APB-AP CSW。高 8 位 (0x1) 选择 APB-AP,低 8 位 (0x0) 则为 CSW 的地址。

mrd -address-space APR 0x04

读取 Zynq 上的 AHB-AP TAR。高 8 位 (0x0) 选择 AHB-AP,低 8 位 (0x4) 则为 TAR 的地址。

mrd -address-space AP1 0x80090088

读取 DAP APB-AP 上的地址 0x80090088。AP 1 选择 APB-AP。APB-AP 上的 0x80090088 对应于 Zynq 上的 Cortex-A9#0 的 DBGDSCR。

mrd -address-space AP0 0xe000d000

读取 DAP AHB-AP 上的地址 0xe000d000。AP 0 选择 AHB-AP。AHB-AP 上的 0xe000d000 对应于 Zynq 上的 QSPI 器件。