Things to Remember

The Boot from Host configuration offers design flexibility but also increases the possibilities. Remember that the processes described here are based on simple rules that ultimately dictate why each process step is needed. Readers may find it helpful to review these rules.

  1. The softloader and bootloader programs have limited vocabulary.

    The INT6000™ softloader recognizes only the VS_SW_VER, VS_ST_MAC, VS_RS_DEV, VS_WR_MOD requests. It does not recognize VS_WR_MEM.

    The INT6300™ bootloader recognizes only the VS_SW_VER, VS_WR_MEM, VS_ST_MAC, VS_RS_DEV and VS_SET_SDRAM requests. It does not recognize VS_WR_MOD.

    The INT6400™ bootloader recognizes only the VS_SW_VER, VS_WR_MEM, VS_ST_MAC, VS_RS_DEV requests. It recognizes VS_SET_SDRAM and responds to it but ignores it. It does not recognize VS_WR_MOD.

    The AR7400™ bootloader recognizes only VS_SW_VER, VS_WR_MEM, VS_ST_MAC, VS_RS_DEV requests. It recognizes VS_SET_SDRAM and responds to it but ignores it. It does not recognize VS_WR_MOD.

    The AR7420™ bootloader recognizes only VS_SW_VER, VS_RS_DEV, VS_WRITE_AND_EXECUTE and VS_RAND_MAC_ADDRESS requests. Early versions recognize VS_WRITE_MEM and VS_ST_MAC requests but they must not be used.

    Table 4.1.  Softloader/Bootloader MMEs

    MME NAME INT6000 Softloader INT6300 Bootloader INT6400 Bootloader AR7400 Bootloader AR7420 Bootloader
    0xA000 VS_SW_VER Yes Yes Yes Yes Yes
    0xA008 VS_WR_MEM No Yes Yes Yes Deprecated
    0xA00C VS_ST_MAC Yes Yes Yes Yes Deprecated
    0xA01C VS_RS_DEV Yes Yes Yes Yes Yes
    0xA020 VS_WR_MOD Yes No No No No
    0xA05C VS_SDRAM No Yes Ignored Ignored No
    0xA060 VS_HOST_ACTION No Yes Yes Yes Yes
    0xA098 VS_WRITE_AND_EXECUTE No No No Yes Yes
    0xA0D4 VS_RAND_MAC_ADDRESS No No No Yes Yes

  2. The Softloader, Bootloader and runtime firmware may treat the same MME differently because each is a different program. A notorious obvious example is the VS_SW_VER message type. This means that one may need to be aware of the device state when anticipating device behaviour or interpreting device response.

  3. The local host is surrogate flash memory. When dedicated flash memory is not available to a device, the device will request firmware and parameter storage services from the local host using VS_HST_ACTION messages. The local host must be programmed to detect and respond to these messages or the firmware will appear to hang. See program int6khost, int64host, amphost or plchost to demonstrate and experiment with this interaction.

  4. Only runtime firmware can write flash memory. Runtime firmware must be executing in order to write flash memory or upload to the local host. The Softloader and Bootloader cannot perform either operation.

  5. All PIB changes must be written in flash memory. There are several things that can cause PIB changes. When a PIB change is needed, the Working PIB is copied to a scratch area and modified there. The Scratch PIB must then be written to flash memory or sent to the local host for storage. The device then resets causing the stored PIB to replace the Working PIB. If a freshly downloaded PIB changes for any reason then the cycle will repeat, automatically.

  6. Runtime firmware updates the PIB after joining and before leaving an AVLN. This will cause a device reset in each case. If the device is using the local host for persistent storage, runtime firmware will send the associated VS_HST_ACTION messages to the host and the host will send the associated VS_RD_MOD and VS_RS_DEV messages as per Update Local Host.