Sharing my notes on beaglebone-ai64 memory mapping; derived from DTS + Yocto.
This info is useful when linking/locating code to run on one of the cores.
bl33 (uboot)
device-id: 202
reset arch: arm
entrypoint: 0x81000000
loadaddress: 0x81000000
rd_loadaddress: 0x84000000
rd_entrypoint: 0x84000000
dtb_loadaddress: 0x83000000
dtbo_loadaddress: 0x83080000
dtbo_offset: 0x00010000
remoteproc12 - c66_0
device-id: 142
firmware-name: j7-c66_0-fw
l2sram: 0x80800000-0x00048000
l1pram: 0x80e00000-0x00008000
l1dram: 0x80f00000-0x00008000
memory: 0xa6100000-0x00f00000
dma: 0xa7000000-0x00100000
remoteproc13 - c66_1
device-id: 143
firmware-name: j7-c66_1-fw
l2sram: 0x81800000-0x00048000
l1pram: 0x81e00000-0x00008000
l1dram: 0x81f00000-0x00008000
memory: 0xa6000000-0x00f00000
dma: 0xa6100000-0x00100000
remoteproc14 - c71_0
device-id: 15
firmware-name: j7-c71_0-fw
l2sram: 0x64800000-0x00080000
l1dram: 0x64e00000-0x0000c000
dma: 0xa8000000-0x00100000
memory: 0xa8100000-0x00f00000
remoteproc15 - mcu_r5fss0
device-id: 250
mcu_r5fss0_core0
firmware-name: j7-mcu-r5f0_0-fw
tcma: 0x41000000-0x00008000
tcmb: 0x41010000-0x00008000
dma: 0xa0000000-0x00100000
memory: 0xa0100000-0x00f00000
device-id: 251
mcu_r5fss0_core1
firmware-name: j7-mcu-r5f0_1-fw
tcma: 0x41400000-0x00008000
tcmb: 0x41410000-0x00008000
dma: 0xa1000000-0x00100000
memory: 0xa1100000-0x00f00000
remoteproc16 - main_r5fss0_core0
device-id: 245
firmware-name: j7-main-r5f0_0-fw
tcma: 0x05c00000-0x00008000
tcmb: 0x05c10000-0x00008000
dma: 0xa2000000-0x00100000
memory: 0xa2100000-0x00f00000
remoteproc17 - main_r5fss0_core1
device-id: 246
firmware-name: j7-main-r5f0_1-fw
tcma: 0x05d00000-0x00008000
tcmb: 0x05d10000-0x00008000
dma: 0xa3000000-0x00100000
memory: 0xa3100000-0x00f00000
remoteproc18 - main_r5fss1_core0
device-id: 247
firmware-name: j7-main-r5f1_0-fw
tcma: 0x05e00000-0x00008000
tcmb: 0x05e10000-0x00008000
dma: 0xa4000000-0x00100000
memory: 0xa4100000-0x00f00000
remoteproc19 - main_r5fss1_core1
device-id: 248
firmware-name: j7-main-r5f1_1-fw
tcma: 0x05f00000-0x00008000
tcmb: 0x05f10000-0x00008000
dma: 0xa5000000-0x00100000
memory: 0xa5100000-0x00f00000
*tcmb is interleaved (faster)
Command to check current state of processors
$ sudo k3conf dump processor
[sudo] password for debian:
|--------------------------------------------------------------------------------|
| VERSION INFO |
|--------------------------------------------------------------------------------|
| K3CONF | (version 0.2-nogit built Fri Jul 28 14:57:20 UTC 2023) |
| SoC | J721E SR1.1 |
| SYSFW | ABI: 3.1 (firmware version 0x0008 '8.6.3--v08.06.03 (Chill Capybar)') |
|--------------------------------------------------------------------------------|
|--------------------------------------------------------------------------------------|
| Device ID | Processor ID | Processor Name | Processor State | Processor Frequency |
|--------------------------------------------------------------------------------------|
| 202 | 32 | A72SS0_CORE0 | DEVICE_STATE_ON | 2000000000 |
| 203 | 33 | A72SS0_CORE1 | DEVICE_STATE_ON | 2000000000 |
| 142 | 3 | C66SS0_CORE0 | DEVICE_STATE_ON | 1350000000 |
| 143 | 4 | C66SS1_CORE0 | DEVICE_STATE_ON | 1350000000 |
| 15 | 48 | C71SS0 | DEVICE_STATE_ON | 1000000000 |
| 250 | 1 | MCU_R5FSS0_CORE0 | DEVICE_STATE_ON | 1000000000 |
| 251 | 2 | MCU_R5FSS0_CORE1 | DEVICE_STATE_ON | 1000000000 |
| 245 | 6 | R5FSS0_CORE0 | DEVICE_STATE_ON | 1000000000 |
| 246 | 7 | R5FSS0_CORE1 | DEVICE_STATE_ON | 1000000000 |
| 247 | 8 | R5FSS1_CORE0 | DEVICE_STATE_OFF | 1000000000 |
| 248 | 9 | R5FSS1_CORE1 | DEVICE_STATE_OFF | 1000000000 |
|--------------------------------------------------------------------------------------|