Skip to main content

Using GDB with RD-1AE

This article covers specific details on how to use GDB with the RD-1AE board in Arm Virtual Hardware (AVH).

For general information on using GDB with AVH, refer to the GDB / LLDB article.

Cores Overview

The RD-1AE processor is arranged like AAAARRRRRRRmm.

AArch64-A Cores

The first four cores are AArch64-A cores.

The IDs for these cores are 0-3.

AArch64-R Cores

The next seven are AArch64-R cores, and the last two are AArch64-M cores.

The IDs for these M cores are nummbered 4-10, and the AArch64-R cores are in clusters CL0, CL1, and CL2.

  • ID 4 is in CL0.
  • IDs 5-6 are in CL1.
  • IDs 7-10 are in CL2.

AArch64-M Cores

The last two cores are AArch64-M cores.

The IDs for these cores are 11-12.

Since there is no delineation between the M cores, you need to know what their IDs are in the set of CPUs.

  • The CPU with ID 11 is the SCP.
  • The CPU with ID 12 is the RSS.

Ports

Use the monitor mux command to ask for info from the GDB server.

(gdb) monitor mux
> port 0: stopped, AArch64-A, CPUs 0-3
- port 1: not connected, AArch64-R, CPUs 4-10
- port 2: not connected, AArch32-M, CPUs 11-12

The ports returned are relative of port 4000.

If you want to connect to the AArch64-A cores, you would connect to port 4000.

For AArch64-R cores, you would connect to port 4001.

And for AArch64-M cores, you would connect to port 4002.