Sbc_fs26_InitDevice(); RTD function failed during Initialisation

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Sbc_fs26_InitDevice(); RTD function failed during Initialisation

899 Views
Kazarian
Contributor III

Hello,

We use FS2600 with S32K3 on our design, SDK ver 4.0.0. and S32DS ver 3.5 Build id: 240726, update 13. FreeRTOS is used as OS.

During initialisation , this code is called:

Std_ReturnType initFs26Driver()
{
    Std_ReturnType retVal       = E_NOT_OK;

    /* Initializes the FS26 driver */
	retVal = Sbc_fs26_Init(&Sbc_fs26_xConfig_BOARD_InitPeripherals);
    if (retVal != E_OK)
    {
        return retVal;
    }

    /* Configures the device */
    retVal |= Sbc_fs26_InitDevice();
    if (retVal != E_OK)
    {
        return retVal;
    }

    /* Fault Error Counter should decrease to zero */
    uint8 u8FaultErrorCounterValue = 0U;
    retVal |= Sbc_fs26_GetFaultErrorCounterValue(&u8FaultErrorCounterValue);
    if ((retVal != E_OK) || (u8FaultErrorCounterValue != 0U))
    {
        return retVal;
    }

    /* Sbc device should be in FS_STATES_FS0B_ASSERT */
    Sbc_fs26_RxFrameType rxData = {0};
    retVal |= Sbc_fs26_ReadRegister(TRUE, SBC_FS26_FS_STATES_ADDR, &rxData);
	if((retVal != E_OK) || ((rxData.u16ReadData & SBC_FS26_FS_FS_STATES_MASK) != SBC_FS26_FS_FS_STATES_FS0B_ASSERT))
	{
		return retVal;
	}

    return E_OK;
}

Function Fails on Sbc_fs26_InitDevice(); specifically on Sbc_fs26_WaitInitFSClosed() -> Sbc_fs26_WaitInitFSClosed().

InitFS is not closed and the Sbc_fs26_GetDeviceState return FS_STATES_INIT_FS, as shown in image DeviceStateisInitFs.JPG.

attached the used configuration. can you please tell me why is this failing ?

Best regards.

 

0 Kudos
Reply
5 Replies

822 Views
Kazarian
Contributor III

Hello NXP team, 

Any update on the above topic ?

Thanks.

0 Kudos
Reply

892 Views
Kazarian
Contributor III

attached the images related to the first post

0 Kudos
Reply

801 Views
guoweisun
NXP TechSupport
NXP TechSupport

Hi

During INIT phase you need refresh WD to decrease fault error counter into zero then close it,can you please verify your WD feeding wrong or correct?

 

 

 

0 Kudos
Reply

790 Views
Kazarian
Contributor III

Hello @guoweisun 

im using the RTD APIs, the function from the RTD : Sbc_fs26_InitDevice();  already implement the logic you mentioned, however the 

/* Close initialization phase by sending first watchdog refresh. */
eReturnValue = Sbc_fs26_WdRefresh();

is not called, and the Sbc_fs26_WaitInitFSClosed(); return a status error 0x1. could it be a wrong config ?

Kazarian_0-1726826557141.png

 

0 Kudos
Reply

744 Views
guoweisun
NXP TechSupport
NXP TechSupport

Hi 

I am not software engineer here I only support FS26,for the FS26 enter into normal mode steps please see below picture,you can match the drive step by step to verify whether it works or not.

 

guoweisun_0-1727054262186.png

 

0 Kudos
Reply