Hi
I have ported the CC3000 drivers to run on an MSP430F5510. Initially I had a lot of problems with the driver 'hanging' waiting for the CC3000 IRQ line to go high to generate an interrupt. (see http://e2e.ti.com/support/low_power_rf/f/851/p/283515/1011290.aspx#1011290)
This problem was resolved with patch release 11.1, where I was able to make a WiFi connection using SimpleLink and send and receive UDP packets. However, I still had an intermittent re-occurrence of this same problem.
My interrupt service routine is dealing with two interrupts on the same port, and when I prioritised the interrupt from the CC3000, the problem improved considerably, although I still have some more long term testing to do to ensure the problem is truly resolved.
My conclusion from the available evidence I have from my own experiences and the many other postings I have come across (on similar if not quite identical topics) is that there is a fundamental timing problem between the CC3000 internal code and the TI drivers / IRQ handling. This has been 'fixed' by various users, by making software changes, but my feeling is that what is really happening is that the timing is being slightly altered causing the problem to be masked, and therefore appear to go away.
I cannot be certain about this as I do not have access to to CC3000 code, or sufficient understanding of its internal behaviour. Clearly, the examples generated by TI and using the TI development boards work fine and do not (as far as I know) show this problem. However, there seems to be a some evidence of people like me having problems when code is ported to 'real' product boards.
I would appreciate a response from the TI team on their view of my comments above.
Best Regards,
Dave Smith