Difference between revisions of "AN1003 - Upgrading your SIM's SHIPEngine Firmware"

From Serious Documentation
Jump to: navigation, search
(Using the MCU Manufacturer's Tools)
 
(22 intermediate revisions by 3 users not shown)
Line 3: Line 3:
 
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]]).
 
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.
+
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:
+
There are several ways to upgrade the [[SHIPEngine]] on your SIM:
 
* (hardest) Using the MCU manufacturer's programming/debugging tools
 
* (hardest) Using the MCU manufacturer's programming/debugging tools
 
* (easier) Using a simple Serious command-line tool, the Serious Flash Programmer (SFP)
 
* (easier) Using a simple Serious command-line tool, the Serious Flash Programmer (SFP)
* (easiest, coming soon) From within SHIPTide over the USB connection
+
* (easiest) From within [[SHIPTide]] over the USB connection
 +
* (easiest for production) Using the Serious [[SHIPCrane]] OEM Programming Tool
  
 
== Getting the latest SHIPEngine ==
 
== 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|SIM110 area]].
+
To get the latest SHIPEngine binary, go to the specific SIM documentation area and download it to your PC.  For example, the [[SIM231]] SHIPEngine can be found in the [[SIM231|SIM231 area]].
 +
3
  
== Using the MCU Manufacturer's Tools ==
+
== Using the Serious [[SHIPTide]] GUI Development Tool ==
 +
If a SIM is out of date, SHIPTide will alert the user that an update is available in the form of an alert bubble in the bottom right of your screen. Clicking the link will initiate a firmware update.
  
Installing and using the MCU Manufacturer's tool suite for programming/debugging is a fairly complex process. Even our team at Serious sometimes struggles for several days when trying to get a new MCU's toolsuite functioning correctly, so you may want to skip this method and use one of the other methods below if possible!
+
[[File:ship-notification.png|340px|The SHIPTide notification bubble]]
  
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.
+
If you'd like to update manually, go to the top menu and select '''Tools > Sim Firmware Updater'''.
  
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.
+
[[File:firmware-update-menu.png|460px|The SHIPTide Tools Menu]]
  
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.
+
The Firmware Update Panel will open. Select the desired firmware and click the '''Program''' button at the bottom right.
  
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 [[Renesas:RXHEW|here]].
+
[[File:firmware-update-panel.png|700px|The SHIPTide Firmware Update Panel]]
 +
{{:SHIPCrane}}
  
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).
+
[[Category:Getting Started with SHIP]]
 
 
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.  In this case, the SH7269 MCU does not have on-board FLASH memory, but the SIM535 has on-board FLASH memory (both Serial FLASH for booting and eMMC FLASH for executing) and both of these can be uploaded using Renesas tools.
 
 
 
== Using the SHIP FLASH Programmer (SFP) for Renesas RX-based SIMs ==
 
 
 
Renesas RX62x and RX63x MCUs have a special "USB Boot Mode" that, when invoked, runs some built-in ROM code in the MCU to allow uploading the FLASH firmware over the USB port from a Windows-based PC.  There is no JTAG debugger or C-development IDE involved in this process.  Rather, Serious has developed a simple command-line-based program called the SHIP FlASH Programmer, or "SFP", and a .inf driver that allows you to upload the latest SHIPEngine to the SIM in seconds.
 
 
 
Using the USB Boot Mode and SFP requires these elements:
 
* A SIM powered by a Renesas RX-based MCU, including the [[SIM110]], [[SIM205]], and [[SIM225]] families
 
* A USB cable
 
* A Windows-based PC
 
* The [[SHIP FLASH Programmer]] program installed, with .inf USB driver
 
* The latest [[SHIPEngine]] for your SIM
 
* The ability to connect to your specific SIM and put it into "USB Boot Mode"
 
 
 
Some SIMs have the USB device port mini-B connector installed as well as a small 'piano DIP switch' that enables the SIM to boot into this special USB boot mode.  The SIM110-A00 and SIM225-A00 both, for example, have the USB device connector as well as this DIP switch.  However, for example, the SIM110-A01 and -A02 variants have the USB device connector but no DIP switch, and the SIM110-A03 and -A04 variants have neither.  On devices without both features, you can use the inexpensive SPA100 Serious Programming Adapter which has both the USB device connector and the DIP switch made available.  This helps keep the price of these SIMs down as these features are generally development and manufacturing features and not required when the SIM is placed into your system in production.
 
 
 
For complete instructions on this process, as well as the SFP download, see the [[SHIP FLASH Programmer | SFP Documentation/Download Area]].
 

Latest revision as of 11:12, 3 April 2018

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 SHIPEnginefirmware 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 several 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) From within SHIPTide over the USB connection
  • (easiest for production) Using the Serious SHIPCrane OEM Programming Tool

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 SIM231 SHIPEngine can be found in the SIM231 area. 3

Using the Serious SHIPTide GUI Development Tool

If a SIM is out of date, SHIPTide will alert the user that an update is available in the form of an alert bubble in the bottom right of your screen. Clicking the link will initiate a firmware update.

The SHIPTide notification bubble

If you'd like to update manually, go to the top menu and select Tools > Sim Firmware Updater.

The SHIPTide Tools Menu

The Firmware Update Panel will open. Select the desired firmware and click the Program button at the bottom right.

The SHIPTide Firmware Update Panel

The Serious SHIPCrane OEM Programming Tool

  • The SHIPCrane application is a batch programmer and container creation tool. Its functionality is a subset of SHIPTide. It is used to reprogram the SHIPEngine firmware and GUIs in mass.
  • It will support multiple devices in parallel, so you can insert as many devices as you have USB ports and install your desired SHIPEngine and GUI cargo combination for your production needs. SHIPCrane will program all connected devices with the imported firmware.
  • It allows for modification of firmware bundles and exporting your own container file (zipped file containing SHIPPaddle, SHIPTug, SHIPEngine firmware, and a installation instruction .xml file) so you can load your preferred setup the next time you want to update boards.

Using SHIPCrane

For instructions on using SHIPCrane, please see AN1008 - Get Started Using SHIPCrane.

Downloads

|Download || SHIPCrane