[ECOS] MPC8xx SMC serial problem

Will Wagner will_wagner@carallon.com
Fri Jan 27 13:00:00 GMT 2006


Hi All,

Been testing serial comms with parity enabled. Always get the data sent 
but occasionally (~25%) I get spurious data as well.

Looking at it in the debugger it appears the buffer descriptor doesn't 
hold valid data but it is being passed to the driver anyway. The control 
flags of the buffer descriptor show that there has been a parity error 
but this is never checked in the function quicc_smc_serial_DSR, it only 
checks that the buffer is ready for processing not that there wasn't an 
error.

I think a change like this would fix the problem:

while (rxbd != rxlast) {
     if ((rxbd->ctrl & (QUICC_BD_CTL_Ready | QUICC_BD_CTL_Frame | 
QUICC_BD_CTL_Parity)) == 0) { // Check if data error
         for (i = 0;  i < rxbd->length;  i++) {
             (chan->callbacks->rcv_char)(chan, rxbd->buffer[i]);
         }

Also need to add QUICC_BD_CTL_Frame & QUICC_BD_CTL_Parity to the list of 
defines in ppc8xx.h

Does this make sense? Has anyone else seen this problem? Presumably need 
to apply the same change to the SCC DSR?

Will.

-- 
------------------------------------------------------------------------
Will Wagner                                     will_wagner@carallon.com
Senior Project Engineer                        Office Tel: 0207 371 2032
Carallon Ltd, Studio G20, Shepherds Building, Rockley Rd, London W14 0DA
------------------------------------------------------------------------


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list