Details
-
Type: Bug
-
Status: Closed
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: V2.0.1.0, V2.1.0.0, V2.2.0.0, V2.3.0.0
-
Fix Version/s: V2.4.0.0
-
Component/s: cifX/netX Toolkit
-
Labels:None
-
Sprint:SDO Sprint 12
-
Account:SDO Driver (SDODRIVER)
Description
In DEV_DoResetEx() the reset mode should be written to DPMs ulSystemControl field if an UPDATESTART is executed and if APP CPU and IDPM are available.
This is not happening in the current implementation:
} else if ( HIL_SYS_STATUS_IDPM == (HIL_SYS_STATUS_IDPM & ulSystemStatus) && HIL_SYS_STATUS_APP == (HIL_SYS_STATUS_APP & ulSystemStatus) ) { /* If we're running with an enabled IDPM and APP CPU, no reset * will be executed. The application on the APP CPU has to * request the reset using the MCP registers. */ OS_ReleaseMutex(ptDevInstance->tSystemDevice.pvInitMutex); lRet = CIFX_NO_ERROR; } else
Other reset write the reset mode to the ulSystemControl field:
/* Write the reset mode to DPM */ HWIF_WRITE32(ptDevInstance, ptSysChannel->tSystemControl.ulSystemControl, HOST_TO_LE32(ulMode));
If the mode is not written to the ulSystemControl field, it will most likely be interpreted as a normal COLDSTART and no firmware update will be executed.
See description of system reset documentation: https://kb.hilscher.com/x/jgzmBQ
Attachments
Issue Links
- relates to
-
NXDRVTKIT-135 Handshake flags are not re-read after reset was performed in interrupt mode
- Closed