How to start netX 90 MFW (Alternative Boot Mode) via packet command?

Q

How to start netX maintenance firmware via packet command?

A

Use the HIL_FIRMWARE_RESET_REQ packet command with the HIL_SYS_CONTROL_RESET_MODE_BOOTSTART mode.

Please see 3.2 Firmware / System Reset of netX Dual-Port Memory packet-based services - netX 90/4000/4100 - Packet API (Revision 3) for detailed information.


The firmware reset request (HIL_FIRMWARE_RESET_REQ → 0x00001E00) has two parameters:

  • ulTimeToReset (unused)
  • ulResetMode

ulResetMode = 0 (HIL_SYS_CONTROL_RESET_MODE_COLDSTART

  • The cold start will perform a reset of the device and starts the installed firmware again.

ulResetMode = 2 (HIL_SYS_CONTROL_RESET_MODE_BOOTSTART)

  • The boot start will perform a reset of the device and starts the maintenance firmware. The boot start can be used to start the maintenance firmware without starting an update process (idle mode).

ulResetMode = 3 (HIL_SYS_CONTROL_RESET_MODE_UPDATESTART)

  • The update start will perform a reset of the device and start the maintenance firmware.

    If a valid update file is available, it will be automatically processed and installed.
    If no update file is available or if the update file is not valid, the maintenance firmware will change into error mode, changes the SYS LED (to yellow on) and sets an error code (e.g. ERR_HIL_NOT_AVAILABLE,0xC0001152).


The PC utility netHOST can be used to send the HIL_FIRMWARE_RESET_REQ command through the UART Marshaller, or the mailbox packet can be sent in the user application code.

The "Boot Start Reset" processes the same action as the above packet command.