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.

MSP430I2031: Information segment erase and program with IAR

Part Number: MSP430I2031
Other Parts Discussed in Thread: MSP-FET, MSP430I2041

Hi,

my customer can't erace an information segment with IAR 6.50.

The customer wants to use this segment to store their own calibration values. IAR debugger settings looks like below.

Option "Erase main and Information memory" is selected but debugger still ignore the segment.

How we can erase and program the information segment?

  • Hi Vsevolod,

    I would have some follow up questions
    1) How do you confirm the info memory is not erased? If it is erased the content should be all "1".
    2) Is this problem only appearing with IAR 6.50? Or has it been confirmed with other tools as well (e.g. CCS)?
    3) How do you program data into the info memory?

    Best regards,
    Andre
  • Hi Andre,

    1) The customer look into memory dump. There is old data in the segment.

    2) 2 versions was tested: IAR 6.40, 6.50. The problem appears on both of them. On CCS problem have other behavior - sector is erased but not programmed.

    3) With button "Download and debug" in the IAR.

  • Vsevolod,

    Typically, calibration values are stored in info memory after performing some on device calibration. Thus this is typically done within the program, and not during initial download of the FW via an IDE. If they are trying to do it with initial FW download, how are they doing this? Are they just storing some constants in info mem? Are they doing this by modifying a binary, or adjusting the link to place this data in info memory?
  • Hi Jace,

    The customer at debugging and inital programming time wants to have their own inital calibration values in this segment. After production test they will be changed to real values by firmware.

  • Vsevolod,

    I'll have to look further on this next. I'm tracking down a device I can test on.
  • Vsevold,

    I'm seeing the issue as well in both IAR and CCS. It seems the IDEs won't touch InfoA. This maybe due to the fact that the TLV data is stored there, and this device does a check on the TLV after a reset. If the TLV is not there, the device just sits in LPM4.

    Now, what Id id see was that both IDEs where producing the correct binary when trying to place variables into INFOA, just not downloading properly. I'll reach out to our Tools team to look further into this. in the mean time, you can use the Elprotonic LITE FET-Pro430 tool to get around this limitation. It has specific options for i20xx to write to INFOA and retain the TLV data. I was able to load data into INFOA using the binaries generated from IAR and CCS.
  • Hi Jace,

    Thank you for reply!

    Is FET-Pro-430-LITE is debugger tool or only flash programmer? We need to have debugging ability.

    Can we solve this issue with TI hardware?

  • Hello,

    The Elprotronic tool is only a flasher, and can be used with the TI MSP-FET. You can still debug with IAR/CCS. the tricky part is if you produce a binary to modify INFOA, both IAR and CCS will fail at the verify flash step of downloading the code and stop the debug session. However, if you compile with IAR/CCS and download the binary with INFOA changes to the device with the Elprotronic tool, then you should be able to start a debug session with IAR/CCS as it will be able to verify the flash in INFOA as its not modifying it. That being said, if you change INFOA with your application, then it will fail on that step again and you'll have to re-flash with Elprotronic tool.  Its a few extra steps to work around this issue. In the mean time, I'm working with our Tools team to look at this issue and get a fix. This may take some time however.

    Please keep in mind if you do use the Elprotronic tool, there is an option to keep TLV data within INFOA if you modify INFOA. It is important that you keep this option checked as if the TLV data is erased from this part, you could possibly brick the device. The reason for this is during boot, this device checks the TLV data for calibration vales, and if they are not there, it goes to LPM4 and stays there. This maybe relate to why IAR/CCS is having trouble to modify INFOA.

  • Vsevolod,

    What programming interface is the customer using? SBW or full JTAG?
  • Vsevolod,

    After some further investigation, I got CCS to work, but IAR has a bug in its menu that doesn't allow unlocking of IAR. We are working to get this fixed. In the mean time, there is a workaround by modifying the msp430i2041.menu file, specifically change lockInfoA to 1:

    This file is located at [IAR Directory]\430\config\devices\MSP430Ixxxx Family

  • Jace,
    Thank you! It helps.

**Attention** This is a public forum