MPC5200/BestComm functions question

Grant Likely grant.likely at secretlab.ca
Sun Sep 13 00:01:35 EST 2009


On Sat, Sep 12, 2009 at 6:36 AM, Albrecht Dreß <albrecht.dress at arcor.de> wrote:
> Hi all,
>
> I have a MPC5200B based system with a 16-bit peripheral attached to the
> Local Bus, and I am looking into possibilities to use BestComm for the data
> transfer.
>
> I found Grant Likely's cool 'mpc5200-localplus-test.c' driver which
> demonstrates this using the 'gen_bd' driver, and which is apparently a great
> starting point.

I've actually got a better driver which exports an API for doing local
plus bus FIFO transfers.  It's been posted to the mailing list a
couple of times.  I'll cc: you the next time I post it (real soon
now).

> However, I also have to (a) 32-bit endianess-swap the data and (b) calculate
> a 32-bit crc on it.  Of course, this is possible with the buffers using the
> cpu, but I saw some remarks that the Bestcomm engine also includes functions
> which can perform swapping and crc calculation.  I believe it would unload
> the cpu if the BestComm engine could perform these tasks, but I cannot find
> a good documentation/example for that.  Does anyone know any pointers for
> that?  Or maybe even a tool to create the bestcomm tasks from a 'readable'
> source?

Bestcomm can do that, but Freescale has not publically released the
bestcomm documentation, and they do not support writing custom
bestcomm tasks.  From what I understand there are a number of hidden
bugs in the bestcomm engine which you could run into if you deviate
from the provided tasks.  You're very much on your own if you go down
that route.  :-(

g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.


More information about the Linuxppc-dev mailing list