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.

Can the freeRTOS use the low power modes available in msp430fr5969 or any msp430 series?

Other Parts Discussed in Thread: MSP430F5438A, MSP430F5418, MSP430FR5969

msp430 series has many low power modes available. so, if freeRTOS or any RTOS is running on it

-can we still configure low power modes at diff tasks which are idle.

-or is there any RTOS in which we can configure the low power modes.

while using RTOS the MCU is in Active state in which uA/Mhz is more wrt its LPM's so the low power modes  available for the MCU are not utilized.

Thank You.

  • karthik a said:
    -can we still configure low power modes at diff tasks which are idle.

    The RTOS should provide this feature. If there is no thread active, it should enter at least LPM0.
    If the RTOS doesn't provide this, you shouldn't do it yourself and pick a different RTOS. Else you might completely break the multitasking.

    Usually, an RTOS should provide a function that can be called to set a thread to sleep if it hasn't anything to do. Or to wait for other events like data received from UART or so. A task must tell the OS that it is idle and should never tamper with system-wide controls (liek LPMs) by itself.
    Imagine what would happen if a Windows process, let's say, the calculator tool, decides it has nothing to do and therefore sends the PC into suspend mode once it has shown the answer to your last calculation? Guess you wouldn't consider your PC a useful device anymore.

  • Which processor model are you using?  We are successfully using the MSP430F5438A with FreeRTOS and LPM3.

  • I am using msp430f5418 with FreeRTOS now migrating it to msp430fr5969 and want to know how LPM's can b used in RTOS.

    Thank You.

  • Low Power Mode 0 means stop the CPU.

    Low Power Mode 1 means stop the CPU and some other things.

    Low Power Mode 2 means stop the CPU and some more other things.

    ...

    It does not make any sense to perform any task in any Low Power Mode. But if and when all the tasks are not ready, it is a perfect situation to go to Low Power Mode. Go to a specific level of Low Power Mode so the the "other things" are not harming all the tasks. 

  • old_cow_yellow said:
    Go to a specific level of Low Power Mode so the the "other things" are not harming all the tasks. 

    IMHO, the OS should keep track of currently active components, used clocks and active tasks and should pick the best possible LPM automatically.
    No individual thread can know (at least not by a 'clean' way) what the other threads are doing and requiring.

    For an OS that doesn't provide this, the OS power management should be completely disabled. All threads should register and unregister their requirements to a separate control thread which picks the best LPM depending on the reported needs.

**Attention** This is a public forum