LPC55S69 : Power-down in secure world

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

LPC55S69 : Power-down in secure world

637 次查看
EugeneHiihtaja
Senior Contributor I

Hello !

I can see power management example works and I can wakeup from PowerDown mode as expected.

But when I migrate to RTOS  environment and try to put MCU to PowerDown mode on Secure side :

/* POWER DOWN */
POWER_EnterPowerDown(
(kPDRUNCFG_PD_LDOMEM | kPDRUNCFG_PD_FRO32K),

0x7FFF,
WAKEUP_GPIO_GLOBALINT0 | WAKEUP_GPIO_GLOBALINT1 |
WAKEUP_RTC_LITE_ALARM_WAKEUP
| WAKEUP_FLEXCOMM3 | WAKEUP_OS_EVENT_TIMER,
1);

BOARD_BootClockFRO12M();
BOARD_BootClockPLL150M();
BOARD_InitDebugConsole();

I can't wakeup by using any wakeup source.

I try to use library libpower_hardrabi_s and libpower_hardabi .

GINTx interrupts processed on Secure side and others on nonsecure.

I wondering what kind of extra libraries and configurations are need for enable Power-Down mode in case 

of real environment where TZ and secure/nonsecure partitioning in use ?

Regards,

Eugene

标签 (1)
0 项奖励
3 回复数

535 次查看
Sabina_Bruce
NXP Employee
NXP Employee

Hello Eugene,

Could you please show me how you implemented the power down function from the secure side?

Best Regards,

Sabina

0 项奖励

535 次查看
EugeneHiihtaja
Senior Contributor I

Hi sabinabruce‌ !

I have tried Powerdown by using freertos_mpu_s/ns example.

At any side ( s/ns) it is not possible to wakeup MCU back by any source.

GINTx interrupts served on secure side, RTC/OS_EVENT timer on nonsecure side.

I try to link power and/or power_s libs, result the same.

Powerlib version is 0x10000. 

Could you confirm what exact powerlib version and modification should be taken in use

in environment where trustzone is activated.

I think freertos_mpu_s/ns is good example for testing.

Regards,

Eugene

0 项奖励

535 次查看
EugeneHiihtaja
Senior Contributor I

Hi Sabina !

It is normal nsc function

secureportNON_SECURE_CALLABLE void RTOS_EnterPowerDown(void) { .. }

but it called in rtos tickless implementation at place of macro

configPOST_SLEEP_PROCESSING(xExpectedIdleTime);

and at that point all interrupts are disabled by __disable_irq();

What is all preconditions for this Power API call ?

RTOS require disabled interrupts.

Regards,

Eugene

0 项奖励