In AURIX, you have multiple cores.Each core has it's own scratchpad data and program RAM called DSPR and PSPR respectively.
Each of these can be accessed using either of two addresses:
Global Address - This address range would refer to the same memory irrespective of the core on which the code is executed.
Local Address - This address would refer to core specific RAMs and would change depending on the core on which the code is executed.Local address will access the core's local scratchpad RAMs.
For example:
CPU0 DSPR starts at 0x70000000 and has a size of 112kB
CPU1 DSPR starts at 0x60000000 and has a size of 120kB
In the code if you use 0x70000000, it would refer to CPU0 DSPR irrespective of whether the access is from CPU0 or CPU1.
This is called Global Address.
Instead if you use 0xD0000000 in your code, it'll access 0x70000000 if the code is executed from CPU0 and if it's executed from CPU1, it'll access 0x60000000.
This is called Local Address.
Such a facility is provided to make the code portable with respect to CPUs.
For DSPRs, the local address starts at 0xD0000000
For PSPRs, the local address starts at 0xC0000000
Pardon my linguistic skills.I am not a native English speaker.Please comment if further clarifications are needed or something is ambiguous.