Bootloader

This section briefs about features supported by the Network and Security Processor's (NWP) bootloader.

Basic Features

The RS9116W supports two boot loading modes. They are:

  1. Host interaction (Non-bypass) Mode. In this mode, the host can interact with the bootloader and can give boot up options (commands) to configure different bootup operations. The host tells the module what operations it has to perform based on the selections made by the user.

  2. Bypass mode. In this mode, bootloader interactions are completely bypassed and uses the stored bootup configurations (which are selected in host interaction mode) & loads default firmware image in the module. This mode is recommended for final production of software to minimize the bootup time.

Host Interaction Mode

In this mode host interaction varies based on host interface. Host interaction in SPI and UART / USB-CDC are different. In UART & USB-CDC boot up options are menu based and in SPI using command exchanges. The details are explained below for UART and USB-CDC.

Host Interaction Mode in UART / USB-CDC

This section explains the host interaction mode in the UART / USB-CDC mode.

Startup Operation

After powering up, host is required to carry out ABRD (Auto baud rate detection) operation. After successful ABRD, the module displays the menu of bootup options to host. The host needs to select the appropriate option.


Note!


Terminal Configuration

RS9116W uses the following UART interface configuration for communication via a terminal application such as TeraTerm, PuTTY or Hyperterminal:

Parameter Setting
Baud rates 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600
Data bits 8
Parity None
Stop bits 1
Flow control None

Note!


Before the module is powered up, follow the sequence of steps given below:

HyperTerminal Name Field Configuration

HyperTerminal COM Port Field Configuration

HyperTerminal Baud Rate Field Configuration

Set the following values for different fields in figure 5 as given below.

Auto Baud Rate Detection (ABRD)

The RS9116W automatically detects the baud rate of the Host's UART interface by exchanging some bytes. The Host should configure the UART interface for the following parameters for ABRD detection. To perform ABRD on the RS9116W, the host must follow the procedure outlined below.

  1. Configure the UART interface of the Host at desired baud rate.
  2. Power on the RS9116W.
  3. The Host, after releasing the module from reset, should wait for 20 ms for initial boot-up of the module to complete and then transmit 0x1C at the baud rate to which its UART interface is configured. After transmitting '0x1C' to the module, the Host should wait for the module to transmit 0x55 at the same baud rate.
  4. If the '0x55' response is not received from the module, the host has to re-transmit 0x1C, after a delay of 200ms.
  5. After finally receiving '0x55', the host should transmit '0x55' to the module. The module is now configured with the intended baud rate.

ABRD Exchange Between Host And Module


Note!


Below are the bootup options, Firmware update and Firmware loading procedures for WiSeConnect Product.

Start-Up Messages on Power-Up

After powering up the module, do the ABRD process by giving "shift + | " followed by 'U'. Pipe symbol is shown below, you will see a welcome message on the host, followed by boot up options:

Pipe Symbol On Keyboard

RS9116-WiSeConnect Module UART / USB-CDC Welcome Message


Note!


Loading the Default Wireless Firmware in the Module

To load the default firmware flashed onto the module, choose Option 1: "Load Default Wireless Firmware ".

Load Default Wireless Firmware

After the welcome message is displayed as shown in the above figure, select option 1 "Load Default Wireless Firmware" for loading Image.

**RS9116-WiSeConnect Module UART / USB-CDC Default Firmware Loaded**

Loading selected Wireless Firmware in the Module

To load the selected firmware (from flash) onto the module, choose Option A: "Load Wireless Firmware ( Image No: 0-f )".

Load Wireless Firmware


Note!


Firmware Update

After powering up the module, a welcome message is displayed.

Update NWP firmware Image

RS9116-WiSeConnect Module Firmware update File Prompt Message


Note!


Serial Port Setup And Connection

RS9116-WiSeConnect Module Firmware update File Selection Message

RS9116-WiSeConnect Module Firmware update File Transfer Message

RS9116-WiSeConnect Module Firmware update Completion Message

Bypass Mode

In GPIO based bootloader bypass mode host interactions with bootloader can be bypassed. There are two steps to enable GPIO based Bootloader bypass mode:

  1. The host needs to select default wireless image to load in bypass mode.
  2. Enable Bootloader bypass mode.
  3. Assert UULP_GPIO_2 to Bypass Bootloader upon powerup.

To enable Bootloader Bypass mode, the host first has to give default image that has to be loaded in bypass mode and select the bypass mode(enable). After rebooting the module, it goes to bypass mode and directly loads the default firmware image.

Making Default Wireless Firmware Selection

With this option, host can select the default firmware image to be loaded.

Selecting a valid Image as the Default Image

Making Image No - 0 as the Default Image

Enable/Disable GPIO Based Bypass Option

This option is for enabling or disabling the GPIO bootloader bypass mode.

Enabling the GPIO Based Bypass Mode

If user select option 7, GPIO based Bootloader bypass gets enabled. When this option is selected, module checks for the validity of the image selected and displays "Configuration saved" if valid and "Default image invalid" if valid default image is not present. Once enabled, from next bootup, Bootloader will latch the value of UULP_GPIO_2. If asserted, it will bypass the whole boot loading process and will load the default firmware image selected.

If the default image is valid, then it enables GPIO Bypass mode, otherwise it will not enable the GPIO Bypass mode.

Enabling The GPIO Based Bypass Mode: Valid Default Firmware

Enabling The GPIO Based Bypass Mode: Invalid Firmware


Note!


Disabling the GPIO Based Bypass Mode

If the host selects option 8, GPIO based bypass gets disabled.


Note!


Check Integrity of the Selected Image

This option enables the user to check whether the given image is valid or not. When this command is given, bootloader asks for the image for which integrity has to be verified as shown in the figure below.

Integrity Check Passed