MSP430FR5043: MSP430FR5043IPM: code hangs in USS lib

Part Number: MSP430FR5043

Tool/software:

Hello, 

Few months ago I had a problem with a blocking code iUSS closed source library n 

USS_runAlgorithmsFixedPoint(&gUssSWConfig,&algResultsFixedPoint); which was fixed.

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1276004/msp430fr50431-does-not-start-from-power-on-after-flashing-in-ccs

We did not change the code or the peripherals but replaced the package type from MSP430FR5043IRGCT with MSP430FR5043 IPM. Both chips report correctly MSP430FR5043 but the new *IPM shows again the same result using the changed code from the thread above.

Any idea? I would assume that the chips inside the two packaging variants are 100 % identical

Regards

Christian

  • Hi,

    If you are using CCS,  go to find the demo code for water/gas meter(depending on your application) using FR6043. The name of the demo project should be something like MSP430FR6043EVM_USS_Water_Demo. Find the .cmd file in that demo project. Replace yours with it. Then build your project and download. Try if it can solve your issue. 

    Best regards,

    Cash Hao

  • Hello,

    I am using FR5043 not FR6043. You you really mean the linker script for 6043 can be applied for 5043. Even when I am able to compile and run without hanging inside the USS lib I do have two versions of the MSP430FR5043 and the codes runs on one version but not on the second.
    Version 1: 5043 linker from the case mentioned about works

    https://onedrive.live.com/?cid=A50A0FB83F49AF9C&id=A50A0FB83F49AF9C%21102844&parId=A50A0FB83F49AF9C%216349&o=OneUp

    Version 2: the very same linker does not work for this chip

    https://onedrive.live.com/?cid=A50A0FB83F49AF9C&id=A50A0FB83F49AF9C%21102843&parId=A50A0FB83F49AF9C%216349&o=OneUp

    Is is possible that this chip is not TI origin or that they have different silicon. In the future we may have both chip versions in use and I like to come up with a common firmware for updating.

    Thanks for helping 


    Christian

  • Hi,

    The USS library needs modified the .cmd file to work with it. For a new generate FR5043 project, the .cmd file is not changed to adjust USS library. So, you will need to change it. Since the FR6043 has the same memory map as the FR5043. So, you can directly use the .cmd file for FR6043 in the USS demo project which has been modified for USS library. 

    FR5043 and FR6043 are both TI origin products. 

    Best regards,

    Cash Hao

  • Hi,

    (1)

    I installed a new CCS 12.7.1 from scratch, imported the example project FR6043_USSSSBlib_template example from USS_02_40_00_00. Compiles fine.

    (2) 

    Now I change the hardware target in Project settings from FR6043 to FR5043. when compiling I get the following error:

    warning #10247-D: creating output section ".ram_thrill" without a SECTIONS specification

    warning #10247-D: creating output section ".USS_ramfunc" without a SECTIONS specification

    warning #10247-D: creating output section ".libVersion" without a SECTIONS specification

    "../lnk_msp430fr5043.cmd", line 215: error #10099-D: program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. run placement with alignment fails for section ".leaRAM" size 0xfa0.  Available memory ranges:

       LEARAM       size: 0xec8        unused: 0xec8        max hole: 0xec8     

    error #10010: errors encountered during linking; "FR6043_USSSWLib_template_example.out" not built

    Greeting Chr.

  • Hi,

    When you choose to FR5043, the CCS will link to the FR5043 cmd file. You need to replace the content of it with the original FR6043 cmd file. 

    Best regards,

    Cash Hao

  • Thats what I did. Here is the project I use. It's essentially the USS lib demo unchanged except lnk file 6043 copied to 5043.

    FR6043_USSSWLib_template_example.zip

    Line 158 makes the difference. If I comment it out (no call) the binary will run on both PM64 and the RGC64 version of the FR5043. With the line active the binary runs on the RGC64 only but not on the PM64. It hangs on PM64 chip. The two chips are on the very same board, only foot print was changed for the different housings. I checked this with different boards all having a PM64 chip.

**Attention** This is a public forum