I've duplicated this issue very easily with NoDma, even with all the previous fixes we've made. The amount of debugging that Roman was able to do - especially in tracking it down to that one particular while() loop in Msp430spiNoDmaP - was very helpful.
I haven't confirmed this, but I suspect the problem is that the radio is being shut off after the command that initiates the while() loop was given, but before the while() loop got a chance to execute. I'll verify and implement some sort of fix. -David -----Original Message----- From: Philip Levis [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 14, 2007 8:10 PM To: Jonathan Hui Cc: [EMAIL PROTECTED]; David Moss; TinyOS Help (E-mail) Subject: Re: [Tinyos-help] tinyos2 cc2420lpl locked-up node On Mar 14, 2007, at 7:16 PM, Jonathan Hui wrote: > Hi Roman, > > Thanks for discovering and looking into this problem. From the > description you gave us, it does look like the radio is already > disabled. My guess is that the radio stack is incorrectly trying to > use the SPI bus or something else is calling SpiByte.write() when the > resource is not correctly acquired. If the resource isn't acquired > correctly, the SPI bus will not initialize correctly and you will > definitely spin forever in that while-loop. > > Is it possible for you to figure out what is calling SpiByte.write() > at the time of failure? You could either make the SpiByte interface > parameterized just like SpiPacket, and see what client id is being > passed in, or you could inspect the stack. Good observation -- David observed the same behavior on the micaZ version of the stack, which also uses a direct (non-DMA) SPI bus, and introduced a temporary hack to the atmega128 SPI stack to prevent it. This came up in the core WG call today. Having additional information will help us figure out the bug: getting all of the last little nits out is one of the reasons why the stack was "experimental" in the 2.0 release. Phil _______________________________________________ Tinyos-help mailing list [email protected] https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
