AN1003 - Upgrading your SIM's SHIPEngine Firmware

From Serious Documentation
Revision as of 05:40, 1 May 2013 by Admin (talk | contribs) (Created page with "__TOC__ == Upgrading your SIM's SHIPEngine Firmware == Installed from the factory on every Serious Integrated Module (SIM) is a version of SHIPEngine, the runtime GUI engi...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Upgrading your SIM's SHIPEngine Firmware

Installed from the factory on every Serious Integrated Module (SIM) is a version of SHIPEngine, the runtime GUI engine of the Serious Human Interface™ Platform (SHIP).

Occasionally, you may want to upgrade the SHIPEngine firmware on your SIM to get the latest features of the engine. Sometimes, upgrading to a new major version of the SHIPTide will require you to update your corresponding SHIPEngine on your SIM.

There are 3 ways to upgrade the SHIPEngine on your SIM:

  • (hardest) Using the MCU manufacturer's programming/debugging tools
  • (easier) Using a simple Serious command-line tool, the Serious Flash Programmer (SFP)
  • (easiest, coming soon) From within SHIPTide over the USB connection

Getting the latest SHIPEngine

To get the latest SHIPEngine binary, go to the specific SIM documentation area and download it to your PC. For example, the SIM110 SHIPEngine can be found in the SIM110 area.

Using the MCU Manufacturer's Tools

Every SIM has a microcontroller (MCU) on it and some non-volatile memory. For many SIMs, the MCU is FLASH memory based for program storage, and uploading the SHIPEngine involves "reburning" the MCU's FLASH memory. For example, on the SIM225-A01, the MCU is a Renesas RX63N MCU with 768KB of 100MHz zero-wait-state program FLASH.

On these SIMs, the MCU manufacturer will publish the names of various IDEs that can be used to reprogram the FLASH on their devices. Renesas, for instance, has the HEW IDE as well as e2Studio -- both full featured C development and debug IDEs that support device reprogramming. Microchip has MPLAB for their IDE.

For the IDE-based reprogramming method, you'll need a JTAG or other MCU-specific hardware debugger/programmer unit. For Renesas RX devices, for example, the Renesas E1 or Segger J-Link devices. For Microchip PIC32, the ICD3, PICKit3, or RealICE will work. For the Renesas SH7279 on the SIM535, you'll need an E10A debugger.

Setting up an MCU development toolchain is a pretty complex process -- consult the MCU manufacturer's website. For the Renesas RX, we've documented the process here.

Each SIM has a way of accessing the JTAG or MCU programming port of the MCU. Some SIMs, like the SIM102-A00, SIM205-A00, SIM225-A00/A01/A02 have native connectors designed to directly connect to standard programmers. However, these connectors are often expensive and bulky, and many SIMs employ a PCB edge connector with an adapter. You only need one adapter for a given family of SIMs (plus your JTAG debugger and IDE).

For example, the SIM110 does not have a standard Renesas 14 pin 0.1" header. Instead, it has a simple 20 position (2x10) gold finger edge connector. The SPA100-A00 programming adapter adapts this edge connector to the standard Renesas 14-pin header. The SPA100-A00 can be purchased inexpensively, or it comes with some SIM110 development bundles, such as the SIM110-A00-SJL-01.

Similarly, programming the SIM535, based on the Renesas SH7269 MCU, requires an E10A JTAG programmer/debugger along with a SPA150-A00 programming adapter from Serious.