This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
My MSP430F5515 loads and runs when connected to the MSP-FET, but won't run from a cold start with the FET disconnected. When I try to debug where the CPU is executing by attaching the FET after the cold boot, the PC is sometimes at 0x4800 (location of _c_int00_noexit), and other times stopped at main().
What would cause the CPU to not execute beyond the first instruction in flash, if this is indeed what is happening? Or, what would cause the program not to execute on a cold boot?
FYI, I am in the process of trying to upgrade my driverlib to V1.60 and USB API to V4.0 if that makes any difference.
Does this happen with all code or only particular code? If you just load a blinking LED program for example, does it work fine?
Is this on a TI target board, or on a custom board? If it's a custom board, I'd say you may want to double-check hardware connections - it might be something like the RST line not having a pullup on it, and so the part doesn't run reliably without the FET tool holding the RST line high. It could also be some board power issue where the FET tool is giving it some extra juice, so its working.
We are glad that we were able to resolve this issue, and will now proceed to close this thread.
If you have further questions related to this thread, you may click "Ask a related question" below. The newly created question will be automatically linked to this question.
In reply to Katie Pier:
Katie PierDoes this happen with all code or only particular code?
It started happening recently to previously working code that I have modified to work with the newer versions of drivelib and USB API. The unmodified code still works fine.
Katie Pier If you just load a blinking LED program for example, does it work fine?
Katie PierIs this on a TI target board, or on a custom board?
Custom board that has been working for over a year.
Katie Pier If it's a custom board, I'd say you may want to double-check hardware connections - it might be something like the RST line not having a pullup on it,
RST has 47K to VUSB.
Any other ideas?
In reply to MikeH:
Thanks for the additional information - it really helps narrow this down. So it sounds like it is actually either a purely softare-related issue, or an interaction between new software with the existing hardware.
You said you are migrating to the new USB stack v4.0 or higher. Have you seen in the release notes, the migration steps required when moving to this version? You can find the release notes in yourMSP430ware v1.60 install at C:\ti\msp430\MSP43ware_1_60_02_09\usblib430\MSP430_USB_Software\Documentation\Release_notes_4_00_02.html. Or you can get to the release notes from within CCS at View > TI Resource Explorer under MSP430ware > Libraries > USB Developers Package > Release Notes.
In the release notes see the section labeled "Upgrading from MSP430 USV Developer's Package 3.20". Because this was a major version change, there are some extra steps needed for updating your project. I've seen this cause people problems before: http://e2e.ti.com/support/microcontrollers/msp430/f/166/p/298784/1130542.aspx#1130542
EDIT: fixed link
Katie Pier Have you seen in the release notes, the migration steps required when moving to this version?
Yes. I followed these instructions carefully during my upgrade process.
At this point, as I posted in another thread (http://e2e.ti.com/support/microcontrollers/msp430/f/166/t/324815.aspx ), it seems impossible to track down the problem since I can't really see where the program is or isn't running when I connect to the target. This makes the debugging very difficult.
Does your board have reset or power-on problem? To try this out you shall test multiple power-on cycles and multiple reset cycles - using (temporary) reset button circuit. What about reset capacitor on RST pin? You just mention 47k pullup
That would definitely be frustrating. I replied in the other thread about how I was able to successfully connect to a running target (I tested on an F5529). I'm hoping this might help provide you a clue to what's going on if we can get that debug functionality working for you.
There appears to be a RST and/or VUSB problem. I can see a dip in the RST voltage from 3.6v (VUSB) down to under 2v happening every 63ms. This is obviously the cause of the boot/startup problem. Now I have to figure out why the VUSB is not holding steady.
What about reset capacitor on RST pin?
Well folks. This appears to come full circle back to my unanswered post (http://e2e.ti.com/support/microcontrollers/msp430/f/166/t/324470.aspx ).
When upgrading to the new USB API I generated a new set of USB descriptors with the new descriptor tool. In the new descriptor.h file there is a definition for turning on the 3.3v LDO.
#define USB_USE_INTERNAL_3V3LDO TRUE
#define USB_USE_INTERNAL_3V3LDO TRUE
If I manually set this to false, the VUSB glitch goes away and the program loads and runs successfully. However, by doing this my USB hardware does not get powered, and therefore does not work (self-powered, not bus powered)..
This appears to be an old problem. What is the fix?
OK. Here's the answer.
Comment out the line that disables the 3.3v VBUS LDO.
The post above was never responded to and apparently still causes lots of headaches.
Thank you so much for reporting the issue and sharing your findings. I'm sorry that it has cost you so much time and frustration. The team that maintains the USB stack has been notified and they are working to correct this in the next version of the stack to handle this differently depending on how you are powering your device.
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. 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.