AM62Ax MCU+ SDK  09.00.00
Region based Address Translate

Features Supported

  • APIs to setup region based address translation using RAT HW on supported SOCs
  • APIs to translate 48b SOC view system addr to 32b local CPU view address.
  • When no address mapping is specified, no translation is done.

Features NOT Supported


Important Usage Guidelines

  • The translation API AddrTranslateP_getLocalAddr is meant to be used to translate SOC specified peripheral MMR base addresses to local CPU accesible addresses, within device drivers. The API internally searches through a small array to find the address translations, hence to be efficient, this API should typically be called once during driver init to find the local address that CPU should use.
  • This module is not normally required on R5F CPUs since all peripherals are typically mapped within the 32b address space of R5F.

Example Usage

Include the below file to access the APIs,

Example to translate a system address to local CPU address,

uint64_t systemAddr = 0x029060000ul;
void *localAddr;
localAddr = AddrTranslateP_getLocalAddr(systemAddr);
DebugP_log("System Addr:%x => Local Address:%x\n", systemAddr, localAddr);


APIs for Region based address translation (RAT) module

#define DebugP_log(format,...)
Function to log a string to the enabled console.
Definition: DebugP.h:227
void * AddrTranslateP_getLocalAddr(uint64_t systemAddr)
Translate from 48b system address to a CPU address as seen via the RAT module.