S32K312在swap切换的时候调用HSE_ActivatePassiveBlock返回失败

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

S32K312在swap切换的时候调用HSE_ActivatePassiveBlock返回失败

1,070 次查看
aiyayabeibei
Contributor I

首先已经刷入S32K312_HSE_FW_INSTALL.elf,查看到gHseFwVersion已经是该s32k312_hse_fw_1.13.0_2.40.0_pb230730.bin .pink的版本号

再刷写boot使S32K312在swap切换的时候调用HSE_ActivatePassiveBlock进入到

/* If timeout expired - return timeout error */
if (u32ElapsedTicks >= u32TimeoutTicks)
{
HseResponse = HSE_IP_SRV_RSP_NO_RESPONSE;
}

0 项奖励
回复
7 回复数

1,032 次查看
aiyayabeibei
Contributor I

我尝试了改变这个值仍然如此,u32ElapsedTicks 依旧会大于等于此值。这是我的hse使能启动未成功吗?但是我看了标志位0x1B000000地址已经改为了0xDEADBEEFFEEDCAFEUL

0 项奖励
回复

1,007 次查看
VaneB
NXP TechSupport
NXP TechSupport

Hi @aiyayabeibei 

Correct me if I did not understand correctly. Do you mean that the value starting at 0x1B000000 has changed? Could you provide more details? If I did not understand correctly, help me clarify the situation.

0 项奖励
回复

1,004 次查看
aiyayabeibei
Contributor I

我已经更新了0x1B000000的值,但是在调用HSE的接口HSE_ActivatePassiveBlock(MU0_INSTANCE_U8)时会进入到

/* If timeout expired - return timeout error */
if (u32ElapsedTicks >= u32TimeoutTicks)
{
HseResponse = HSE_IP_SRV_RSP_NO_RESPONSE;
}

按照您的方法改变TIMEOUT_US_U32为0x1000000u并无效果,u32ElapsedTicks仍然会等于u32TimeoutTicks的值,现在不知道怎么判定HSE启用了没有,正确启用HSE的方式是什么

0 项奖励
回复

994 次查看
aiyayabeibei
Contributor I

且此时Mu_Ip_IsResponseReady(Hse_Ip_apMuBase[u8MuInstance], u8MuChannel)为False,RSR=0,SR=0x12,VER=0x0300000F,PAR=20200404

0 项奖励
回复

987 次查看
aiyayabeibei
Contributor I

企业微信截图_17187897832804.png企业微信截图_17187945105064.png

图2是刷写S32K344_HSE_FW_INSTALL.elf得到的

 

0 项奖励
回复

954 次查看
VaneB
NXP TechSupport
NXP TechSupport

Hi @aiyayabeibei 

Just to ensure, did you flash the code for S32K344 devices into your S32K312?

0 项奖励
回复

1,054 次查看
VaneB
NXP TechSupport
NXP TechSupport

Hi @aiyayabeibei 

A possible root cause could be the timeout in the Hse_Ip_ServiceRequest() function. Try changing the definition "TIMEOUT_US_U32" to "((uint32)1000000U)" in the file "Ota.c" in the "src" folder.

 

B.R.

VaneB

0 项奖励
回复