Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Section
Column
width70%

Description

A standard embedded device or module usually executes a firmware. The firmware is a file stored on the hardware either as a binary in FLASH sectors or in a file system.
On netX90 and netX4000 devices, the chip internal ROM loader is responsible to start such a firmware.
Because of the available options (e.g. XiP / hardware layout / security requirements), such a firmware is not always able to update itself in FLASH.

Therefore a so called Maintenance Firmware (MFW) is introduced.
This firmware is a dedicated / standalone firmware offering the necessary services to update a regular firmware files (LFW).

Function overview:

  • Basic firmware (Recovery firmware) which is started if there is no regular firmware available or if it fails to start.
  • Perform a firmware download or update (replacing) an existing firmware.
  • Support additional downloads for configuration and other files.

Block diagram

Starting / Stopping

The MFW can be started in multiple ways:

  • directly by the ROM Loader,
  • via DPM
  • using the HIL_FIRMWARE_RESET_REQ packet

When the MFW is started, it runs on the COM CPU and no other firmware is running in parallel (not even on the APP CPU).

Executing MFW specific Functions

The main function of the MFW is the firmware update by installing new firmware files on the system and to offer diagnostic functions if a firmware could not be started.

Furthermeore it allows a firmware to boot into maintenance mode by using specific reset commands. These reset commands can be either issued by a so call packet command
(see HIL_FIRMWARE_RESET_REQ / ulResetMode parameter) or by using a special netX chip internal "Reset Save" register to detect such requests from other software components.

Activating MFW Functions:

  • by issuing a software command (HIL_FIRMWARE_RESET_REQ / ulResetMode)
  • by netX "Reset Save" register content


The netX "Reset Save" register is also used by the MFW to detect a "power up" start.
In this case, the netX register will be empty and the MFW will not run any update functionality.

Interaction with the netX ROM Loader

The netX ROM Loader will automatically execute the MFW if no firmware is found or if the available firmware is corrupted.
A boot image of the firmware has "chunks" (ROM loader specific data entries)  storing a CRC32 checksum of the firmware. This CRC32 value is verified by the ROM Loader to decide if the firmware is usable.

Furthermore, the ROM loader passes hardware information via the so called boot parameter (handover parameter) to the MFW.

Alternative Boot Jumper:

  • Some netX hardware (evaluation boards) offer a DIP switch to setup an alternative boot mode (alt. boot). This instructs the ROM loader to skip the LFW evaluation/startup and
    to directly start the MFW.

Column
width30%
Panel
bgColor#FFFFFF
titleOn this page

Table of Contents

...