At 11:12 AM 3/8/06 -0500, Robert Adsett wrote: >Quoting ourslandj <xmm0@...>: > > Anyhow, I encountered a race condition with test10.c if I make the > > output more than the size of the send_buffer (32). Do you also get > > that? I made a solution and if you'd like I'd be more than happy to > > contribute! > >I'll have to check. I'm away from the source until later today but I'll check >then. In the meantime please do send on the fix (Use the links on the >website). I'll incorporate it and credit you as soon as I can test it. > A race >condition is worth fixing immediately and I should have the few minutes needed >to check that out tonight. As promised Jacob sent along his changes and I went over them and reviewed his symptoms. With his help I think we've traced down the root cause. It turns out not to be a race condition. At least not a race condition in the software, I have a sneaking suspicion that underlying cause of one of the needed fixes is a HW race. One fix is to turn on the FIFO even though it's not used. Back when I originally wrote this driver I missed the note to the effect that the FIFO was necessary. I ran into a problem that I 'fixed' by only servicing a single serial interrupt source per interrupt. I was never comfortable with that fix and there is a note in the source about there being a possible undocumented HW race condition. Since this appears that this change may fix the problem I will probably go back and re-address the interrupt service to make it more conventional. The second bug was that I embarrassingly left off the volatile modifier in a number of places. Sheesh. Update is available as release 5a at http://www.aeolusdevelopment.com/Articles/download.html Thanks Jacob, much appreciated. Robert " 'Freedom' has no meaning of itself. There are always restrictions, be they legal, genetic, or physical. If you don't believe me, try to chew a radio signal. " -- Kelvin Throop, III http://www.aeolusdevelopment.com/
Message
Re: [lpc2000] Re: LPC2106 newlib-lpc read() problems.
2006-03-12 by Robert Adsett
Attachments
- No local attachments were found for this message.