Each TriCore core of an AURIX chip is equipped with directly attached memories: Program Scratch Pad Ram (PSPR) and Data Scratch Pad Ram (DSPR), accessible by itself via core-local and global addressing, accessible by other cores via global addressing.
When accessing its own memory, accessing via global addresses has no (!) impact on access speed.
When having different code and therefore different symbols on each core, core-local addressing can easily lead to ambiguous symbols. Imagine a function "foo" at address P:0xC0000100 on core 0 and a completely different function "bar" at address P:0xC0000100 on core 1.
Using global addressing avoids such ambiguities, in the above example "foo" would be at address P:0x70100100 and "bar" at P:0x60100100 .
In general, it is recommended to use global addressing only, avoid core-local-addressing whenever possible. Modify the linker script file in your compiler toolchain.
[TriCore] Core local addressing and "ambiguous symbol" error - Knowledgebase / FAQs by core architecture / TriCore - Lauterbach Support
[TriCore] Core local addressing and "ambiguous symbol" error
- Last updated: Jan 28, 2022 by Lauterbach
Add a comment