SHIPv5 Boot System

The bootloader has three elements/phases:SHIPPaddle, SHIPTug and the application (SHIPEngine in the case of HMI modules).

SHIPPaddle

SHIPPaddle, or ” Paddle” is a very tiny (<16kB) stage 0 bootloader which loads and runs SHIPTug (the next stage of boot).

  • On platforms with MPUs without on-chip execution Flash (SIMx52, SIMx62, SCM318)), Paddle occupies the first 8kB or 16kB of the boot serial flash.

SHIPPaddle loads and transfers control to SHIPTug on every system reboot.

SHIPTug

SHIPTug, or ” Tug” is a second stage bootloader application that includes the SHIPBridge protocol over UART and USB.

  • SHIPTug (via SHIPBridge) allows you to update SHIPPaddle, SHIPTug, SHIPEngine, Cargo, and more over-the-wire and from SHIPTide
  • Similarly Tug (via SHIPBridge) allows you over-the-wire to access/read/write any file system on the SIM, including plugged in USB thumb drives and SDCards, from your host controller without your host controller having a USB or File System stack via SHIPBridge messages

SHIPTug is responsible, in the absence of a connected external system telling it not to, for loading and transferring control to the runtime application. On Serious Integrated HMI Modules (SIMs) this application is SHIPEngine. On Serious Comms/Control Modules, this is the user application developed with the SHIPWare software platform.

SHIPEngine

Included with every Serious Integrated HMI Module (SIM) is the SHIPEngine GUI management and rendering engine.

SHIPEngine, or ” Engine”:

  • is the complete GUI rendering and management engine for the platform
  • loads and executes the GUI file (a “cargo” file) created by the SHIPTide IDE
  • includes SHIPBridge, including the data services and file transfer/upgrade services
  • can run user code scripts developed and included in the cargo

Some files on some platforms cannot be upgraded while SHIPEngine is running, for example the SHIPEngine firmware on SIMs with Flash-based MCUs. All files can be updated by taking the SIM offline and rebooting into SHIPTug.