Memory Map Quick Reference
The following memory map shows the key regions that support resource tables, firmware, vrings, shared buffers, TCM, and IPI communication.
-
0x09800000 - 0x098000ff: Use this region for the Resource Table (256 B). -
0x09800100 - 0x0985ffff: Use this region for the RPU firmware DDR region (383 KB). -
0x09860000 - 0x09863fff: Use this region for VRing0, which carries APU-to-RPU TX data (16 KB). -
0x09864000 - 0x09867fff: Use this region for VRing1, which carries RPU-to-APU RX data (16 KB). -
0x09868000 - 0x098a7fff: Use this region for the shared buffer pool (256 KB). -
0xeba00000 - 0xeba0ffff: Use this region for R52 ATCM (64 KB) in the global view. -
0xeba10000 - 0xeba17fff: Use this region for R52 BTCM (32 KB) in the global view. -
0xeba20000 - 0xeba27fff: Use this region for R52 CTCM (32 KB) in the global view. -
0xeb330000: Use this address for APU IPI0 control. -
0xeb3b1000: Use this address for the APU-to-RPU no-buffer IPI and RPU IPI control. -
0xeb3b0000: Use this address for the RPU-to-APU no-buffer IPI.
Common Commands
The following commands help you start or stop the RPU, load RPMsg modules, and test communication.
- Start the
RPU:
echo "rpmsg_multi_services.elf" > /sys/class/remoteproc/remoteproc0/firmware echo start > /sys/class/remoteproc/remoteproc0/state - Stop the
RPU:
echo stop > /sys/class/remoteproc/remoteproc0/state - Load RPMsg
modules:
modprobe rpmsg_char rpmsg_ctrl rpmsg_tty - Test RPMsg communication:
- Use this test to send and receive data through
/dev/ttyRPMSG0:cat /dev/ttyRPMSG0 & echo"test" > /dev/ttyRPMSG0 - Use this test if you have
rpmsg-utilsinstalled:rpmsg_ping /dev/rpmsg0
- Use this test to send and receive data through
Key References
The following references point you to the main source repositories, device tree files, and example application.
- Source repositories:
- Device tree files:
- Zephyr application: RPMsg Multi Services Example
- Documentation references: