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: Standby low power mode design with FreeRTOS

Part Number: MSPM0G3507

Hi,

My customer is using FreeRTOS on MSPM0G3507.

It needs low power mode (standby1) in the most running time and wake up by a period 50ms timer.

There is no low power mode example of freeRTOS in the MSPM0 SDK.

During studying, it seems I need to use Standby Mode in Idle Hook or in Tickless Idle Mode of FreeRTOS, and I have to use Lp timer as FreeRTOS's systick timer.

Could help me for any example or advise of this task?

Thanks.

Best Regards,

Justin

  • Hi Justin,

    You are correct that we do not currently offer an example for using a low power mode with FreeRTOS in the SDK. Reading through this page, yes you have the option of the idle hook or tickless idle mode for low power mode implementation in FreeRTOS. 

    As for the Systick timer, the MSPM0G3507 CPU does feature a Systick timer that you can read about in section 8.1 of the datasheet, and in section 3.4.2 of the technical reference manual. I will note that during standby 1 mode, the CPU is disabled, so the systick timer in the CPU would be disabled as well. In that case, you are correct that you'd need to wake the CPU up with a timer or another interrupt. You can see which peripherals are enabled during standby1 by looking at table 8-1 in the datasheet. 

  • Thanks, Dylan.

    And idea how to add tickless idle mode to the FreeRTOS example?

    I think my customer is trying to do so.

    Best Regards,

    Justin

  • I believe in our FreeRTOS example projects, you can just call vPortSuppressTicksAndSleep() to put the device into tickless idle mode. Based on conversations with my software team, it looks like when all tasks are blocked or asleep, the example projects will jump to the tickless idle task. It may be easiest to take a look at how it is used in our example projects such as the ones under [SDK Install Path]\mspm0_sdk_1_30_00_03\examples\rtos\LP_MSPM0G3507\drivers\