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.

MSP430FR5994: MSP430 TLV tables inaccessible in CCS V12.6 - V8.2 still OK

Part Number: MSP430FR5994

Hello,

I recently resumed work with a MSP430FR5994 project that was successfully built with V8.2 of CCS in 2018. I installed the current version of CCS (V12.6) and the application builds fine and runs,

However, the previously functioning chip temperature calculation no longer work correctly, because the pointers to:

#define CALADC12_12V_30C  *( (unsigned int *) 0x1A1A )   // Temperature Sensor Calibration-30 C
                                                         // See device datasheet for TLV table memory mapping
#define CALADC12_12V_85C  *( (unsigned int *) 0x1A1C )   // Temperature Sensor Calibration-85 C

no longer work. This morning I run the original loaded test program and it still worked fine. After rebuilding it in V12.6 it failed the temperature calculation due to incorrect data retrieved at the specified address.

Is there a work around or fix to access the referenced calibration constants?

Please let me know if this is an isolated problem or a common issue and if there is a work around. I will try tonight to find my old installation and test it again with V8.2 of the CCS.

Regards,

Gerhard

  • The intended way to access this data is to scan from the start of the data for TLV  tag/length pairs. Then use an offset within a section. A strong hint that you should be doing that is that symbols for CALADC... are not defined in the supplied header/linker files. But there are symbols for TLV_START and tags.

    That being said, your code references absolute addresses so should work assuming the data is present. If operation varies with compiler version, the first things to check for are compiler warning messages and the assembly code generated.

  • There's also Erratum ADC67, where apparently a batch of devices escaped Manufacturing with the Temperature calibrations not filled in. That was a few years ago, and it could apply only if you're using different devices for the two cases -- a given chip either has the constants or it doesn't.

  • Hello David,

    thanks for your timely help. Unfortunately , I got called away and couldn't respond sooner. The problem is resolved. I have to admit red faced, that I picked the wrong earlier source code, that does not work properly. The latest one, a day later works correctly in all respects. I need to track down, why the first one is behaving the way it does. Just to be sure I took a snapshot of the TLV data and saved it. Not that I am terribly worried about it now, but just in case.

    Regards,

    Gerhard

  • Hello Bruce,

    thanks for your reply as well. It is good to know, that this could happen.

    Regards,

    Gerhard

**Attention** This is a public forum