How do I get the wake source for K344

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

How do I get the wake source for K344

ソリューションへジャンプ
1,431件の閲覧回数
ZDDL
Contributor III

I looked at the S32K3 Low Power Management AN and demos, but those demos uses DS3.4, which I couldn't open and compile. Is there a demo of DS3.5 available?

I have a problem with low power Management. After the MCU is awakened, the reset type obtained by using Power_Ip_GetResetReason() is MCU_WAKEUP_REASON, and this is correct. But when I used Wkpu Ip GetInputState() to get the wake source, I didn't get the correct result.  I don't know why.

ZDDL_2-1732804683081.png

 

ZDDL_1-1732804624327.png

This is my test project. I hope someone could help me.

Thanks!

0 件の賞賛
返信
1 解決策
1,410件の閲覧回数
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @ZDDL,

You can refer to the following examples: S32K3 Low Power Management AN and demos RTD 4.0.0 & 5.0.0 - NXP Community.

For the wakeup source, please try reading the registers directly:

uint32_t WISR_Value;
uint32_t WISR64_Value;

void WKPU_Handler(void)
{
	/*store the WISR value which indicate the wake up source.*/
	WISR_Value = IP_WKPU->WISR;
	WISR64_Value = IP_WKPU->WISR_64;
	if(MCU_WAKEUP_REASON == Power_Ip_GetResetReason())
	{
		printf("Reset reason = MCU_WAKEUP_REASON\r\n");
	}
	printf("WISR = %"PRIu32",", WISR_Value);
	printf("WISR64 = %"PRIu32".\n", WISR64_Value);
	/*Clear the flag by writing 1.*/
	IP_WKPU->WISR = 0xffffffff;
	IP_WKPU->WISR_64 = 0xffffffff;
	__asm("dsb");
	__asm("isb");
}

Best regards,
Julián

元の投稿で解決策を見る

0 件の賞賛
返信
1 返信
1,411件の閲覧回数
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @ZDDL,

You can refer to the following examples: S32K3 Low Power Management AN and demos RTD 4.0.0 & 5.0.0 - NXP Community.

For the wakeup source, please try reading the registers directly:

uint32_t WISR_Value;
uint32_t WISR64_Value;

void WKPU_Handler(void)
{
	/*store the WISR value which indicate the wake up source.*/
	WISR_Value = IP_WKPU->WISR;
	WISR64_Value = IP_WKPU->WISR_64;
	if(MCU_WAKEUP_REASON == Power_Ip_GetResetReason())
	{
		printf("Reset reason = MCU_WAKEUP_REASON\r\n");
	}
	printf("WISR = %"PRIu32",", WISR_Value);
	printf("WISR64 = %"PRIu32".\n", WISR64_Value);
	/*Clear the flag by writing 1.*/
	IP_WKPU->WISR = 0xffffffff;
	IP_WKPU->WISR_64 = 0xffffffff;
	__asm("dsb");
	__asm("isb");
}

Best regards,
Julián

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2003827%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EK344%E3%81%AE%E3%82%A6%E3%82%A7%E3%82%A4%E3%82%AF%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2003827%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%3ES32K3%20Low%20Power%20Management%20AN%E3%81%A8%E3%83%87%E3%83%A2%E3%82%92%E8%A6%8B%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81%E3%81%93%E3%82%8C%E3%82%89%E3%81%AE%E3%83%87%E3%83%A2%E3%81%AFDS3.4%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%8A%E3%82%8A%E3%80%81%E9%96%8B%E3%81%84%E3%81%A6%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AF%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%81%A7%E3%81%97%E3%81%9F%E3%80%82DS3.5%E3%81%AE%E3%83%87%E3%83%A2%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E4%BD%8E%E9%9B%BB%E5%8A%9B%E7%AE%A1%E7%90%86%E3%81%AB%E5%95%8F%E9%A1%8C%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3%E3%82%92%E8%A6%9A%E9%86%92%E3%81%95%E3%81%9B%E3%81%9F%E5%BE%8C%E3%81%AF%E3%80%81Power_Ip_GetResetReason()%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E5%BE%97%E3%82%89%E3%82%8C%E3%82%8B%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88%E3%82%BF%E3%82%A4%E3%83%97%E3%81%8CMCU_WAKEUP_REASON%E3%81%95%E3%82%8C%E3%81%A6%E3%81%8A%E3%82%8A%E3%80%81%E3%81%93%E3%82%8C%E3%81%AF%E6%AD%A3%E3%81%97%E3%81%84%E3%81%A7%E3%81%99%E3%80%82%E3%81%97%E3%81%8B%E3%81%97%E3%80%81Wkpu%20Ip%20GetInputState()%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%82%A6%E3%82%A7%E3%82%A4%E3%82%AF%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%9F%E3%81%A8%E3%81%8D%E3%80%81%E6%AD%A3%E3%81%97%E3%81%84%E7%B5%90%E6%9E%9C%E3%81%AF%E5%BE%97%E3%82%89%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%81%A7%E3%81%97%E3%81%9F%E3%80%82%E3%81%A9%E3%81%86%E3%81%97%E3%81%A6%E3%81%8B%E7%9F%A5%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22ZDDL_2-1732804683081.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22ZDDL_2-1732804683081.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F313166iCDE40D937314B581%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22ZDDL_2-1732804683081.png%22%20alt%3D%22ZDDL_2-1732804683081.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22ZDDL_1-1732804624327.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22ZDDL_1-1732804624327.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F313165i0595748CE9C8322A%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22ZDDL_1-1732804624327.png%22%20alt%3D%22ZDDL_1-1732804624327.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E3%81%93%E3%82%8C%E3%81%AF%E7%A7%81%E3%81%AE%E3%83%86%E3%82%B9%E3%83%88%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%A7%E3%81%99%E3%80%82%E3%81%A9%E3%81%AA%E3%81%9F%E3%81%8B%E5%8A%A9%E3%81%91%E3%81%A6%E3%81%84%E3%81%9F%E3%81%A0%E3%81%91%E3%82%8B%E3%81%A8%E5%B9%B8%E3%81%84%E3%81%A7%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%EF%BC%81%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2003927%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3AK344%E3%81%AE%E3%82%A6%E3%82%A7%E3%82%A4%E3%82%AF%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2003927%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F232867%22%20target%3D%22_blank%22%3E%40ZDDL%3C%2FA%3E%2C%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FS32K-Knowledge-Base%2FS32K3-Low-Power-Management-AN-and-demos-RTD-4-0-0-amp-5-0-0%2Fta-p%2F1993152%22%20target%3D%22_blank%22%3ES32K3%20Low%20Power%20Management%20AN%E3%81%8A%E3%82%88%E3%81%B3%E3%83%87%E3%83%A2RTD%204.0.0%20%26amp%3B%205.0.0%20-%20NXP%20Community%3C%2FA%3E%E3%81%AE%E4%BE%8B%E3%82%92%E5%8F%82%E7%85%A7%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%0A%3CP%3E%E3%82%A6%E3%82%A7%E3%82%A4%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%20%E3%82%BD%E3%83%BC%E3%82%B9%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%81%AF%E3%80%81%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%82%92%E7%9B%B4%E6%8E%A5%E8%AA%AD%E3%81%BF%E5%8F%96%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3Euint32_t%20WISR_Value%3B%0Auint32_t%20WISR64_Value%3B%0A%0Avoid%20WKPU_Handler(void)%0A%7B%0A%09%2F*store%20the%20WISR%20value%20which%20indicate%20the%20wake%20up%20source.*%2F%0A%09WISR_Value%20%3D%20IP_WKPU-%26gt%3BWISR%3B%0A%09WISR64_Value%20%3D%20IP_WKPU-%26gt%3BWISR_64%3B%0A%09if(MCU_WAKEUP_REASON%20%3D%3D%20Power_Ip_GetResetReason())%0A%09%7B%0A%09%09printf(%22Reset%20reason%20%3D%20MCU_WAKEUP_REASON%5Cr%5Cn%22)%3B%0A%09%7D%0A%09printf(%22WISR%20%3D%20%25%22PRIu32%22%2C%22%2C%20WISR_Value)%3B%0A%09printf(%22WISR64%20%3D%20%25%22PRIu32%22.%5Cn%22%2C%20WISR64_Value)%3B%0A%09%2F*Clear%20the%20flag%20by%20writing%201.*%2F%0A%09IP_WKPU-%26gt%3BWISR%20%3D%200xffffffff%3B%0A%09IP_WKPU-%26gt%3BWISR_64%20%3D%200xffffffff%3B%0A%09__asm(%22dsb%22)%3B%0A%09__asm(%22isb%22)%3B%0A%7D%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3EBest%20regards%2C%3CBR%20%2F%3EJuli%C3%A1n%3C%2FP%3E%3C%2FLINGO-BODY%3E