Seem to recall some are contiguous, or have alternate mappings which are. Doesn't the RM an DS cover this?
Usually you manage data placement via scatter file or linker script, depending on tools.
Some memories have specific uses and connectivity. Check the Bus Matrix diagrams to confirm things will blend..
For dynamic memory you could presumably describe the memory arena to the allocator, starting as the available blocks, and then allocate/free
Have specialized pools, based on use/interaction expectations, with say DMA, screen buffer, etc.
Make sure you enable the memory clocks early, in the Reset Handler
Use tools that do the unpacking seamlessly. In GNU/GCC you're going to have to execute the expectations created in the linker script with your own code in startup.s
Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..