Hello!
In this case, you can define different MPU settings for separate memory areas within the SDRAM - e.g. you can split the MPU settings into two 16 MByte areas:
One 16 MByte range for graphics:
MPU_InitStruct.IsShareable = MPU_ACCESS_SHAREABLE;
MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE;
MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE;
And the other 16MByte range for your application including MP3:
MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE;
MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE;
MPU_InitStruct.IsBufferable = MPU_ACCESS_BUFFERABLE;
Does this improve the MP3 decoding performance and solve the pixel issue?
Maybe you need to define more than two MPU ranges - let me recommend AN8438 from ST concerning MPU settings.
Best regards,
Manfred.