On 09/01/2009 08:36 AM, Alex Lindeijer wrote:
Hi All This problem is fixed. The drivers that came with our Python MPC8541 eval board, acknowledged the ethernet interrput in the DSR (after processing!) and not in the ISR. It seems to work fine now.
How does that have anything to do with losing bytes on the UART? BTW, IMO it's not safe/proper to acknowledge the interrupt in the ISR. The ISR masks the interrupt and only after the network stack has fully processed the data is it acknowledged and unmasked. Acking the interrupt in the ISR could lead to missing some interrupts.
-----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Alex Lindeijer Sent: 1. september 2009 08:24 To: [email protected] Subject: [ECOS] Ethernet traffic causing loss of bytes on UART Hi We are running a serial port on 38400 baud and are seeing loss of Rx bytes. When unplugging the ethernet cable we have no problems. We are using a MPC8541, it has a PC16550D programming model for the UART. I see that the driver uses the FIFO and reads until the FIFO is empty. The Ethernet driver is a tsec driver . We encountered similar problems when writing to flash. We got some verification/write errors with Ethernet traffic going. In that case we masked the interrupts while writing to flash. But we don't want to do that when receiving bytes on the serial port of course. Has anybody else encounter such problems? Any hints in were to look? We have been looking into this now for some time and are getting a bit desperate.....;-( Cheers Alex Lindeijer
-- ------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------ -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
