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.

MSP-EXP430FR2355: I can't load even a simple program without a verification error.

Part Number: MSP-EXP430FR2355
Other Parts Discussed in Thread: MSP430FR2355, MSP-GANG, MSP-FET

Hello, 

I'm a novice with the MSP430. I looked at the forum and google but I can't find this specific error. 

I have the MSP-EXP430FR2355 launch pad and I have run programs on it for a few days now until today. I was trying to set the DCO clock to 24MHz. I routed the SMCLK to P3.4 to monitor the frequency. I got to about 20MHz. Then things went wrong. I can no longer able to load programs onto the MSP430. I am not sure why. I tried to make a new project that brings the CSCTL 0 - CSCTL4 to the default values in the MSP430FR2355 data sheet, see below code. The CSCTL registers were not in the data sheet but I found them in the SLAU445i document (https://www.ti.com/lit/ug/slau445i/slau445i.pdf). I can't load even a simple program without a verification error. Not even an empty project. When CCS try to download a program, I see the LEDs on the EZ-FET portion blinking. 

I measured the 3.3V and the 5V on the launchpad and they are measured at 5.0V and 3.3V. I also replaced the USE cable and ports to see if that makes a difference, no difference.  

I tried to insert images into this post but for some reason it will not let me do that. 

Error: 

After clicking debug, I get this dialog box: Launching debug session, Load program Error. File: C:\Code\TI\Test_Project\Debug\Tes_Project.out: a data Verification error occurred, file load failed. 

The error indicated in the Console:

MSP430: File Loader: Verification failed: Values at address 0x08000 do not match Please verify target memory and memory map.
MSP430: GEL: File: C:\Code\TI\Test_Project\Debug\Test_Project.out: a data verification error occurred, file load failed.

Here is the code that I am trying to download to change the clocks. 

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <msp430.h>
void main(void) {
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
FRCTL0 = FRCTLPW | NWAITS_2; // FRAM: 2 wait states
//CLOCK SELECT
__bis_SR_register(SCG0); //Disable FLL
FRCTL0 = FRCTLPW | NWAITS_2; // FRAM: 2 wait states
CSCTL0 &= 0x0000;
CSCTL0 |= 0x0000; //DCO0;
CSCTL1 &= 0x0000;
CSCTL1 |= 0x0033;
CSCTL2 &= 0x0000; //clear CSTCTL2
CSCTL2 |= 0x101F;
CSCTL3 &= 0x0000;
CSCTL4 &= 0x0000;
CSCTL4 |= 0x0100;
__bic_SR_register(SCG0); //Enable FLL
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Questions:

1. Is there a way to bring the processor to a factory default state using the launchpad? How do I bring everything to factory default? Do I need to buy a JTAG device to do this? If so, which one? 

2. Is the processor nor running too fast at 20MHz being an FR device? 

3. Can I run SMCLK at 24MHz for doing fast ADC and DAC conversions? What are the settings recommended to do this?

If you only have partial answer to get me out of this situation first, please answer away. 

Please help. 

Thank you 

Sagi 

  • Hi Sagi,

    I recommend looking at our many example functions we have to get a handle on the MSP430 platform, one example is this MSP430FR235x Demo - Configure MCLK for 24MHz operation, and REFO sourcing. You can look at all the examples for the MSP430FR2355 device to see the specific code demos we have. 

    1. You could do a mass erase with the bootloader but I wouldn't recommend this, at this time.

    2. Per the data sheet the MCU can run up to 24 MHz

    3. You can run at 24MHz, I would calibrate the clock speed based on results you are seeing on testing. Common speeds are 16, 20, and 24 MHz.

    I would recommend running our example code first, you can import them into your CCS IDE or you can run them on the CCS Cloud. 

    Regards,

    Luke

  • Hi Luke, 

    Thank you for the reply. 

    I tried to load the file. same error at 0x08000. Can't load the program. I also tried to load a file with just empty void main(void) and it fails. I also tried to build a new project and cut and paste the code from the file. Still fails. Could it be a CCS issue?  

    Thoughts? 

    Thanks

    Sagi 

  • If you try it on the CCS cloud it can help us see if its the CCS, if it works on the cloud then its a CCS issue. Have you restarted the computer, power cycled the MCU, pressed reset on the MCU, checked for updates on CCS? If the issue persists we might have to try resetting the mcu. 

  • Hi Luke, 

    I tried shutting down my laptop, restart it, unplug the MSP430 USB cable. plug it back it, press reset for 30 second. Same issue. 

    I will try a bit later to use the CCS Cloud. I do not think it is CCS base on the behaviors I am seeing. The board responds to CCS try to download the file with the RED LED on the EZ-FET flashing. So I think (?) CCS is doing it's job. 

    What happens when you reset the MCU? can the EZ-FET do it? I assume that resetting the MCU mean all the registers and memory space will be back to factory default and how the launchpad shipped? Do you mind sharing how to do this?

    Thanks

    Sagi  

  • Hi Luke, 

    I used the CCS Cloud to import and load the blink LED after it detected my board. Debug it, it failed with the same exact error. So it is the MCU. 

    Thanks

    Sagi 

  • Hello,

    Any help with what I need to purchase to reset / wipe and restore to factory default my MSP430FR2355 and how to would be greatly appreciated. 

    Which programmer do I need for this? Is TI the TI-GANG or can I use something cheaper that also covers all aspect of programming for the MSP430?

    Thanks

    Sagi 

  • Hi Sagi,

    You're using the Launchpad, right? If you are, then you can just use the onboard ez-FET to program the MCU (this happens innately through the debug option on CCS). Otherwise for single programming deices the MSP-FET is generally used and for mass programming devices the MSP-GANG is used.

    I'm trying to find a way to create a cold boot for the ez-FET which might be a potential solution (I'd rather this be the last option). That memory error seems to be unique, but since you've tried the example code I linked earlier and tried the example code on the CCS Cloud I believe it is a mcu issue.

    Have you been able to run the out-of-box demo or Blink LED Demo for this device? Download is available here or go through resource explorer. Again I'd recommend using the Cloud so we can rule out the desktop CCS variance.

    Regards,

    Luke

  • Hi Luke, 

    I have MSP-EXP430FR2355 launch pad. I tried the blink LED from CCS desktop and CCS Web. It is giving me the same original error. I also tried to debug a program without any code it, basically an empty main(). Same error. 

    So the question is how to go online with CCS Desktop without downloading a program and just have access to the memory so I can manipulate and erase the memory addresses 0x08000 that causing the problems?

    I am also thinking that the MCU may have been damaged due to the wrong clock settings and the FR memory is corrupt and incurred damage? If that is even possible? 

    If I can use the launch pad to hopefully restore this MCU to it's original state it would be the best time wise. 

    Thanks

    Sagi

  • Hi Luke, 

    Do I need to buy the MSP-FET to fix this problem or do you think we can resolve this with the on-board EZ-FET? 

    Thanks

    Sagi 

  • Hi Luke, 

    I am waiting for you to tell me how to restore this MCU. FYI, I ordered additional MSP-EXP430FR2355 boards and also the MSP-FET. 

    Thanks

    Sagi 

  • I don't know of a mechanism for making an MSP430 non-debuggable (short of frying something). I wasn't able to make this happen using your program. That said, buying a new (spare) Launchpad is probably prudent.

    What I suspect you're seeing is that your changes to the CS registers are making it difficult for the debugger to get in. You may want to work with the debug options at Project->Properties->Debug. 

    1) In "Program/Memory Load" ask for "No verification" (this is just extra insurance).

    2) In "Auto-run", turn off "Connect to the target". 

    3) Start the debugger. The "TI MSP430 .." entry will show Disconnected. Right-click on this and "Connect Target". By doing it this way you don't rely on loading the program.

    4) In the tool-strip at the top, select the chip-ish looking icon (in the middle) and choose "Hard Reset". This will reset the CS registers and put you at the Reset entry. (The debugger reset is "Soft".)

    5) In "Tools->On-Chip Flash", under "Erase options" click "Mass Erase". This should eradicate your erroneous program.

    I just went through this sequence (took about 5 minutes) and it didn't do anything surprising. Since I don't know how to create your condition, this may or may not work for you.

    Unsolicited: In general don't set CS registers to 0. If you want to set all-new bits, use "=". 

  • Bruce, 

    Thank you for your reply. This allowed me to reset the MCU and load different programs. 

    Thank you

    Sagi 

**Attention** This is a public forum