How to wait in Low Power mode with FreeRTOS and Kinetis MKL16Z

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

How to wait in Low Power mode with FreeRTOS and Kinetis MKL16Z

ソリューションへジャンプ
2,062件の閲覧回数
bgraham
Contributor IV

Kinetis MKL16Z

MCUXpresso IDE v10.2.1 [Build 795] [2018-07-25] 

Amazon FreeRTOS

I need to put the MCU into low power mode.

I go the "power_mode_switch" example to work with my custom board.

I am attempting to convert the "power_mode_switch" example to work with FreeRTOS.

Around the calls to APP_PowerModeSwitch(), which calls SMC_PreEnterWaitModes() SMC_SetPowerModeWait(SMC), I used portENTER_CRITICAL() and portEXIT_CRITICAL().

portENTER_CRITICAL(); // stop the RTOS kernel tick timer

APP_PowerModeSwitch(SMC_GetPowerModeState(SMC), kAPP_PowerModeWait);

portEXIT_CRITICAL(); // resume the RTOS kernel tick timer

The FreeRTOS APIs did not keep the MCU in low power mode. I am guessing that an interrupt woke the MCU.

I would like to determine which interrupt woke the MCU. Can MCUXpresso catch the interrupt in the debugger?

The FreeRTOS docs do't cover this problem. Is there a "correct way" to do this in FreeRTOS?

Thanks,

Bruce

0 件の賞賛
返信
1 解決策
1,850件の閲覧回数
bgraham
Contributor IV

I think I have working solution.

I added a vApplicationIdleHook() that checks a global variable, and if set, it calls APP_PowerModeSwitch().

When an interrupt like the FreeRTOS system tick wakes MCU, the state of a user button is checked.

If pressed, the task that requested low power mode is sent an event, so that it wakes up.

元の投稿で解決策を見る

2 返答(返信)
1,851件の閲覧回数
bgraham
Contributor IV

I think I have working solution.

I added a vApplicationIdleHook() that checks a global variable, and if set, it calls APP_PowerModeSwitch().

When an interrupt like the FreeRTOS system tick wakes MCU, the state of a user button is checked.

If pressed, the task that requested low power mode is sent an event, so that it wakes up.

1,850件の閲覧回数
danielchen
NXP TechSupport
NXP TechSupport

Thanks for sharing this good idea.

Regards

Daniel

0 件の賞賛
返信