Hardfault handler on wakeup

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

Hardfault handler on wakeup

ソリューションへジャンプ
906件の閲覧回数
PederMoeller
Contributor II

The power down functions POWER_EnterDeepSleep()/POWER_EnterPowerDown()/POWER_EnterDeepPowerDown() in SDK_2_12_0_LPCXpresso55S28\devices\LPC55S28\drivers\fsl_power.hdevices\LPC55S28\drivers\fsl_power.h all have the comment that

3 - The HARD FAULT handler should execute from SRAM. (The Hard fault handler should initiate a full chip reset)

It seems that wakeup from deep sleep works with the hard fault handler being in FLASH and not in SRAM but maybe it is different for some of the other power down modes?

 

ラベル(1)
0 件の賞賛
1 解決策
831件の閲覧回数
Alice_Yang
NXP TechSupport
NXP TechSupport

Hello ,

" After enter deep-sleep mode, the MCU and RAM remained powered, but flash and ROM are shut down. So the code in deep-sleep mode need to execute from RAM.

In our SDK demo, we used GPIO pin interrupt to wakeup from deep-sleep mode. And the GPIO interrupt is one of the wakeup sources of deep-sleep mode. So after triggering GPIO interrupt, the flash is powered first, and then execute handler from flash.

But the hardfault signal is not the wakeup source of deep-sleep mode, so we need to execute the hardfault handler from RAM and then reset the chip. "

 

BR

Alice

元の投稿で解決策を見る

3 返答(返信)
892件の閲覧回数
Alice_Yang
NXP TechSupport
NXP TechSupport

Hello PederMoeller,

Could you please share more information about the meaning of "It seems that wakeup from deep sleep works with the hard fault handler being in FLASH and not in SRAM but maybe it is different for some of the other power down modes?"? Thanks!

 

BR

Alice

0 件の賞賛
883件の閲覧回数
PederMoeller
Contributor II

1. We have our hard fault handler in FLASH.

2. We can go to deep sleep (using POWER_EnterDeepSleep()) and wakeup on GPIO transition. 

3. The function POWER_EnterDeepSleep() says that the HARD FAULT handler should execute from SRAM. What does that mean? Is it correct? We can wakeup from deep sleep even though our HARD FAULT handler is in FLASH.

 

0 件の賞賛
832件の閲覧回数
Alice_Yang
NXP TechSupport
NXP TechSupport

Hello ,

" After enter deep-sleep mode, the MCU and RAM remained powered, but flash and ROM are shut down. So the code in deep-sleep mode need to execute from RAM.

In our SDK demo, we used GPIO pin interrupt to wakeup from deep-sleep mode. And the GPIO interrupt is one of the wakeup sources of deep-sleep mode. So after triggering GPIO interrupt, the flash is powered first, and then execute handler from flash.

But the hardfault signal is not the wakeup source of deep-sleep mode, so we need to execute the hardfault handler from RAM and then reset the chip. "

 

BR

Alice