I'm a novice firmware programmer.
I'm having a strange problem with cc1110F32:
My program polls on a RX - sleep cycle.On sleep it enters PM2 (power mode 2) .
For some reason I have a situation where the logic of the program is
correct and it works perfect but then I add a line of code - no matter where in the program,which has no logical meaning.
For example I declare: int k;. Then I burn the program to the chip.It
reaches the first sleep period but never comes out of PM2.
I don't think its a trivial memory problem cause if I add some more
code lines (any) say k=0;k=0;k=0;k=0; and burn again it works perfectly
again.Add some more - it doesn't exit PM2 and crashes(does not reset!!)
I checked the datasheets and saw that I forgot to put some NOPs to clear the processor before entering and after exiting PM2.
I'm having a problem adding them cause I need to change the
configuration of my KEIL uvision3 compiler to create an SRC file
instead of an OBJ file.For some reason doing that causes the program to
crash too(this time it exits power mode but stops working a while
afterward I still didn't figure out where exactly).
I have NO IDEA what causes the problem and I've been working on it 10 hours already in total.
Any Ideas about how to figure this one out and what causes it are welcome.
Another thing is that if anyone knows a good resource to learn how to
figure the meaning of the .M51 file that uVision generates he's welcome
to share it.
Thank you all very much for your time.
Looks like you have run into the issue described in this errata:http://focus.ti.com/lit/er/swrz022b/swrz022b.pdf
--PS. Thank you for clicking Verify Answer if this answered your question!
It was indeed that issue
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.