AnsweredAssumed Answered

MPC5200(b): EB711 on Bestcomm Data Corruption

Question asked by TomE on Apr 28, 2011
Latest reply on Apr 30, 2012 by Daniel Baergen

I came across this Engineering Bulletin for the MPC5200 by accident.


It isn't referenced from anywhere on the Freescale site that I, Freescale's or Google's searches can find. I expect it to be referenced from the MPC5200 paget.



The document is here:


it doesn't explicitly state what mask versions it applies to, or even if it applies to the MPC5200 or MPC5200B (it says "MPC5200(b)").


It contains:


Freescale Semiconductor

Engineering Bulletin

Document Number: EB711
Rev. 0, 05/2009

BestComm Setup Recommendations
by: Peter Kardos
    Application Engineer, Roznov
The ATA functionality is limited and problematic when
DMA modes are used with data cache and instruction
cache enabled.

The malfunction is demonstrated by corrupted and/or
missing data in the buffer. Corrupted data in the read
buffer is either bit shifted or is “missing” and replaced by
0x0 or 0xFF. Amount of the corrupted data during
transfer is DMA-mode and speed dependent. To avoid
these faults, the following workaround must be applied
and is recommended for other peripheral buffers as well
to improve reliability and system stability (PCI memory
window, PCI mapping, Local plus bus, and so on).

   1. Set appropriate peripheral FIFO size and granularity to one or more.
   2. Set the buffer that is stored in the memory to not cacheable. If you are using more peripherals with
       BestComm, the easiest way is to create a memory segment.

The following figure shows an example of this setup and the code to be used in CodeWarrior. The image
was taken from the MPC5200(b) Quick Start utility that can be downloaded from Freescale website

These recommendations should be applied in operating systems like Linux and VxWorks as well.