这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 行业应用 » 汽车电子 » 【S32K3XX】HSE FW 版本更新

共2条 1/1 1 跳转至

【S32K3XX】HSE FW 版本更新

高工
2026-05-04 20:25:50     打赏

【简介】

HSE core 的FW_IMAGE     如果需要更新可以通过HSE 的 HSE_ SRV_ ID_ FIRMWARE_ UPDATE 服务进行更新,对应的服务的描述如下。

image.png

image.png

从上述的服务描述上可以看出升级Firmware 需要指定升级的输入数据流的模式ONE-PASS 还是多包发送,本地使用ONE-PASS 需要指定FwFile 的地址信息,以下是对应的service 的数据结构,使用ONE-PASS mode 只需要发送FwFile  的地址信息即可。

image.png

编写如下代码通过   HSE_SRV_ID_FIRMWARE_UPDATE 

hseSrvResponse_t hse_update_fw(uint32_t newHseFwaddress)
{
    Hse_Ip_ReqType      HseIp_Request;
    hseSrvDescriptor_t* pHseSrvDesc    = &hseSrvDescriptor;
    hseSrvResponse_t    hseSrvResponse = HSE_SRV_RSP_GENERAL_ERROR;
    hseFirmwareUpdateSrv_t *pFwUpdateSrv;

    pHseSrvDesc->srvId = HSE_SRV_ID_FIRMWARE_UPDATE;
    pFwUpdateSrv = &(pHseSrvDesc->hseSrv.firmwareUpdateReq);
    pFwUpdateSrv->pInFwFile = (HOST_ADDR)newHseFwaddress;
    pFwUpdateSrv->accessMode = HSE_ACCESS_MODE_ONE_PASS;

    HseIp_Request.eReqType                  = HSE_IP_REQTYPE_SYNC;
    HseIp_Request.u32Timeout                = 0xFFFFFFFFUL;
    HseIp_Request.pCallbackParam            = NULL;
    HseIp_Request.pfCallback                = NULL;

    hseSrvResponse = Hse_Ip_ServiceRequest(0, 0 , &HseIp_Request, pHseSrvDesc);

    return hseSrvResponse;
}


本地使用2.55 的版本用该服务升级2.95 的版本来验证FW update  功能。

image.png

调用上述的代码来更新fw,更新完成后读取对应的fw 版本信息已经是我们升级后的2.95的版本了说明升级成功了。

image.png

以下是HSE FW 的版本规则说明。

image.png

SOC_TYPE_ID    定义说明如下:

This field Identifies the SoC family
5 – S32K344, S32K324 and S32K314 devices
12 – S32K311 and S32K310 devices
13 – S32K312, S32K342, S32K322 and S32K341 devices
14 – S32K358, S32K348, S32K338, S32K328 S32K336 andS32K356 devices
15 – S32K396, S32K376, S32K394 and S32K374 devices
16 – S32K388

   


           


院士
2026-05-05 15:48:18     打赏
2楼

谢谢分享。


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]