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.