This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: MPC8xx SMC serial problem


Will Wagner wrote:
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?

Think I have worked out the root of my problem. SMC is incorrectly configured if any parity enabled or stop bits is greater than 1. The field CLEN in SMCMR is being loaded with an incorrect value.


Looks like its going to be quite a substantial change, I'll submit a patch if I can get it working.


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]