I'm currently porting some software from an older project done on the MPC5744P into the our newer processor MPC5777C and I'm having some trouble understanding the virtual memory.
In the older project (not written by me) there are two definitions that are bugging me:
#define VIRTPARRAMMIN 0x40060000
#define VIRTPARRAMMAX (VIRTPARRAMMIN + VKL_PARROM_SIZE - 0x01) /* Note - addresses are virtual! */
#define VIRTPARRAMOFFSET (VIRTPARRAMMIN - VKL_PARRAM_MIN)
#define VIRTADARAMMIN 0x40080000
#define VIRTADARAMMAX (VIRTADARAMMIN + VKL_ADAROM_SIZE - 0x01) /* Note - addresses are virtual! */
#define VIRTADARAMOFFSET (VIRTADARAMMIN - VKL_ADARAM_MIN)
These two addresses are mapped to reserved RAM areas on the Reference Manual:
0x40060000 - 0x4007FFFF - Reserved System RAM
0x40080000 - 0x4FFFFFFF - Reserved
My understanding of virtual memories is very limited, and I'm just trying to port the code for the moment being, so I was thinking on using the following address for the virtual memory:
0x4004_0000–0x4007_FFFF SRAM on XBAR Slave Port 4 (256 KB) Last RAM address
0x4008_0000–0xC3DF_FFFF Reserved Beginning of the reserved area
- Can I use these addresses?
- What is the best way to determine addresses to be used as virtual memory?