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.

MSPM0G3507: LFU Bootloader Demo not working

Part Number: MSPM0G3507
Other Parts Discussed in Thread: LAUNCHXL-F2800157

Tool/software:

Hello, Im trying to run the demo example for the MSPM0 Live Firmware Update (LFU) Bootloader Implementation thats found in the PDF.

First of all, i think the demo files given in the PDF are outdated so i was running into issues with even loading up the GUI but once i finally figured that out i went to start building the bootloader and the code was erroring alot (which is crazy considering its a demo)

After hours of trying to find forums or any signs of anyone else having similar issues i finally found the forum that had an updated version of the demo files for using LFU (located here if you want to refer to them)


Once i loaded it up into CCS and tried to build the bootloader project, it worked and had no errors at first, but once i tried to start debugging it, it failed due to not creating a .out file prior to the initial build. So then i go to start the build again and then an error pops up in the main source code with the following message,


<  incompatible function pointer types initializing 'void (*const)(void)' with an expression of type 'void (const TickType_t)' (aka 'void (const unsigned int)') [-Wincompatible-function-pointer-types]  >

This error is coming from this vTaskDelay Function

This same error was showing up in the old demo files as well

Does anyone have any idea why it wont work properly? I'm running out of ideas and its been frustrating. Should i use an older compiler or something? Any advice would help!

For reference im using the MSPM0G3507.

  • Got it.

    Could you please tell me the CCS, syscfg and MSPM0 SDK version that you are using?

    Then I will try this demo and to see whether I can give some feedback to you.

  • Yeah sure, im using,

    CCS 20.2.0
    MSPM0 SDK version 2.05.01.00
    Syscfg version 1.24.0

    i notice that in the demo project, many different files were made from different versions of SDK and syscfg, could that be why its not working properly?

  • Got it~ seems you are using latest CCS and SDK, let me check first.

  • I think i figured it out, for anyone else that's having the issue, i just added "(void (*)(void))" in front of the vTaskdelay function and it worked, so this is what the code looks like now,


    {
      (void (*)(void))vTaskDelay,
    };

    Flashed the bootloader and it works with the GUI now, thanks for the timely response!

  • I do want to ask if you know if this LFU bootloader demo would work with another Ti microcontroller thats not a MSPM0, to be specific do you think it would work with a LAUNCHXL-F2800157 if i reconfigured the UART pins to match the ones used on this board?

  • From my point of view, LFU demo itself won't directly work for F2800157.

    But you can follow its software structure and migrate it to F2800157.

    If you need any suggestion from F2800157 side, please submit another E2E ticket to this device E2E forum, since I am only support the MSPM0.

    I think i figured it out, for anyone else that's having the issue, i just added "(void (*)(void))" in front of the vTaskdelay function and it worked, so this is what the code looks like now,

    And thank you for your feedback. That's a task delay function.

    I will check the compile from my side and if there is any issue, I will report it to fix.

  • Also, could you please try this:

    void (* const shared_functions[])()  __attribute((used)) __attribute__((section (".shared_area"))) =
    {
     vTaskDelay,
    };