cancel
Showing results for 
Search instead for 
Did you mean: 

When using RTOS, the current consumption in STOP mode does not decrease.

YHara.1
Associate II

I am using STM32L073RZT.

If RTOS is not used, the current consumption will drop to 1μA in STOP mode.

When using RTOS with STM32CubeMX, it only drops to about 40 μA.

How can we achieve a few μA?

7 REPLIES 7
KnarfB
Principal III

Please tell us more: What RTOS?What configuration? Eg. FreeRTOS v?.? using tickless idle mode? Here is a hands-on lab video for that.

hth

KnarfB

Hello.

I am using STM32CulbMX to incorporate FreeRtos' CMSIS_V1.

​I found an STM sample program (en.stm32cubel0_v1-12-0).

I referred to the FreeRtos sample in it, but the result was not good. (2mA).

I think. The sample has not been installed accurately.

Thank you

PS

I set tickless idle mode 1, same sample program.

Hello
I am using STM32CulbMX to incorporate FreeRtos' CMSIS_V1.
​I found an STM sample program (en.stm32cubel0_v1-12-0).
I referred to the FreeRtos sample in it, but the result was not good. (2mA).
I think. The sample has not been installed accurately.
Thank you
y.Hara
KnarfB

Hello
I will add.

[Here is a hands-on lab video for that.]

What does this mean.

I tried using Ticless idle mode.
However, I understand that it is difficult to stay in STOP Mode for a long time in a row.

Best regards,

Sorry, the links were missing: https://youtu.be/XUEWviFQ9MQ https://youtu.be/nSLN_WM2TOc

What board are you using? Can you separate MCU current measurments from board/overall crrent consumption?

Thank you for the information.
I have confirmed this video.

I'm using CubeMX and creating with Keil.
The board is original.
If you make a simple transition to STOP mode without using RTOS
The current is about 1 μA.
The current is 40 μA when migrating to the original program using RTOS.
The basic process I think
1.Stop the operation of RTOS. >> osThreadSuspendAll ();
2.Stop the operation of HAL. >> HAL_SuspendTick ();
3.Stop each function. SPI, UART, ADC,..
4.Check the GPIO port and set it to the minimum state.
5.HAL_PWR_EnterSTOPMode (PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);

I have a problem, somewhere.
I think that the function has not been stopped for sure.
HAL_UART_DeInit(&hlpuart1);

Please help me.