I've run in to an issue using the CodeWarrior 10.4 default project setup for the PXS2010 / MPC5643L. Our project contains internally written UART drivers that use DMA for the transmit process. They work well in RAM build but when we switch to FLASH build the code drops out to a Data TLB Error Interrupt when trying to configure the DMA_MUX registers.
Digging in to the MMU setup it seems that entry 8 (Off-Platform Peripherals C) starts at 0xFFF9_0000 and has a size of 256KB, and thus ends at 0xFFFD_0000. However, the DMA_MUX registers are at 0xFFFD_C000 and therefore outside of the MMU entry. The next entry is for the BAM and starts at 0xFFFF_C000. It therefore seems that the DMA_MUX registers are in an unassigned region.
I have tried changing entry 8 to 512KB so that the DMA_MUX registers are included and our problem goes away, we can configure the DMA_MUX with no issues. However, this means the Peripheral entry overlaps with the BAM entry which sounds like a very bad idea. What is the correct solution here? Should I create an extra table entry with a smaller size to fit the gap? If so, shouldn't this be the default setup in PXS2010_HWInit.h.