MPC5200(b): EB711 on Bestcomm Data Corruption

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MPC5200(b): EB711 on Bestcomm Data Corruption

1,391 Views
TomE
Specialist II

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:

 

http://cache.freescale.com/files/microcontrollers/doc/eng_bulletin/EB711.pdf

 

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


MPC5200(b) ATA MDMA, UDMA
Functionality
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
www.freescale.com.


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

 

0 Kudos
Reply
2 Replies

1,023 Views
tgi
Contributor II

Just came across this old post.

The described problem must be related to some code, not to the silicon.

My SDMA (aka "bestcomm") code works quite well at ATA66 (udma). There is a problem

occuring at times but it does not result in lost data, just in locked up ATA

interface; an ATA rerun handles it OK. Since this occurs rarely (once or twice a

minute if both ATA and Ethernet transfer at top speed in parallel), this

is no performance issue (takes just some coding to solve).

0 Kudos
Reply

1,023 Views
baergend
Contributor I

This ATA data corruption on MPC5200 definitely belongs in the errata, along with details of when it happens.

0 Kudos
Reply