Difference between revisions of "Updating your SIM Firmware & Cargo from Removable Media"

From Serious Documentation
Jump to: navigation, search
(Preventing Auto-Updates)
(Supported Platforms by Release)
Line 20: Line 20:
 
|-
 
|-
 
| future
 
| future
| SIM245, SIM255, SIM555, SIM855
+
| SIM243, SIM253, SIM555, SIM855
 
| SD Card, USB Host
 
| SD Card, USB Host
 
|}
 
|}

Revision as of 15:24, 8 December 2015

Supported Platforms by Release

Starting with the 5.0.211 firmware release, Serious began introducing the ability to upgrade firmware, splash images, and GUI cargo file via removable media -- not just from the SHIPTide tools.

Release Platform(s) Port
5.0.211 SIM115, SIM225, SIM231 USB Host
future SIM535 SD Card
future SIM535 USB Host
future SIM243, SIM253, SIM555, SIM855 SD Card, USB Host

File Names and Locations

All files must be in the root directory of the removable media. The names are fixed as follows:

File Name Content Type
SHIPAPPL.shp SHIPEngine or installer application .shp SHIP Firmware Executable
SHIPTUGB.shp SHIPTug full-featured boot loader .shp SHIP Firmware Executable
SHIPPADD.shp SHIPPaddle early stage boot loader .shp SHIP Firmware Executable
SHIPUSER.shp User binary, unused by SHIP Any user format
SHIPBOOT.shi Booting splash image Serious Image Format from SHIPTide
SHIPAPPL.shi Application/GUI loading splash image Serious Image Format from SHIPTide
SHIPUPDT.shi Firmware updating splash image Serious Image Format from SHIPTide
SHIPERRR.shi Error splash image Serious Image Format from SHIPTide
SHIPREMV.shi Remove media now splash image Serious Image Format from SHIPTide

Update Process

Removable media updates can only be performed from the SHIPTug boot loader.

In SHIPEngine, when media is inserted (e.g. a thumb drive is plugged in or an SD Card inserted), SHIPEngine scans the media for any of these files. If any of these files exist on the media, the GUI is halted and the system is rebooted. As part of the SHIPv5 Boot System, the SHIPTug boot loader is then executed.

In SHIPTug any inserted media is (re)scanned for the presence of any update files. If they do not exist, the normal boot process will continue.

If any of the named files exist, the OEM-created "update" splash image (SHIPUPDT.shi) will displayed if it exists, then the update process will proceed.

In the update process, the files, one by one, will be copied over to the SIM. Each file will be stored in the appropriate place on the SIM for its type, which may vary by SIM.

When the update process is complete, the OEM-created "remove" splash image (SHIPREMV.shi) will be displayed if it exists, otherwise a fixed English language only prompt will be displayed, indicating to the operator to remove the media. The system will not continue until this is performed.

When the media is removed, the system will automatically reboot and use any new files uploaded.

User File SHIPUSER.shp

The "user" file 'SHIPUSER.shp' is part of the update file list, but is not used by SHIPEngine, SHIPTug, or any of the SHIP systems. It is purely implemented as a convenience for system designers. This file will be auto-copied from removable media to the main bulk file storage system on the given SIM (for example, the e-MMC on the SIM535 or serial FLASH file system on the SIM231).

The SHIPBridge protocol (v1 from 5.0.211 and v2 from 5.0.200) support the ability of attached Bridge hosts to read and write all system content files, including the user file.

Therefore, for example, an attached system -- e.g. an SCM118 -- could theoretically use this file as a data file or even upgrade its own firmware using this file thereby leveraging the SD Card or USB Host capabilities of the SIM for its own purposes.

Preventing/Controlling Auto-Updates

There are several upcoming mechanisms to prevent and control the update process.

In Bridge Version 2 (coming in 5.0.300) any firmware content on a Bridge Device can be "locked" from an Bridge Host. Locked files will not be considered for update.

Also coming in 5.0.300 is the ability to set various persistent variables to control/prevent the update of each content type. For example, setting a specific Boolean persistent variable to "true" will prevent the auto-updating of the SHIPTug boot loader from the 'SHIPTUGB.shp' file even if it exists on the removable media -- that file will be ignored.