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

From Serious Documentation
Jump to: navigation, search
(Getting the latest SHIPEngine)
 
(3 intermediate revisions by the same user not shown)
Line 15: Line 15:
 
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]].
 
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
 
3
 
== Using the MCU Manufacturer's Tools ==
 
 
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!
 
 
Every SIM has a microcontroller (MCU) on it and some non-volatile memory.  For many SIMs, the MCU itself has on-board NOR FLASH memory  for program storage and direct execution.  For example the SIM225-A01 is powered by a Renesas RX63N MCU with 768KB of 100MHz zero-wait-state program NOR FLASH. On these devices, updating the [[SHIPEngine]] firmware involves "reburning" the MCU's FLASH memory. 
 
 
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 publishes MPLAB as their IDE.  IAR has a cross-platform IDE that supports many different MCUs from many different manufacturers.
 
 
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 units can attach to the Renesas MCU's JTAG port. For Microchip PIC32, the ICD3, PICKit3, or RealICE can connect to Microchip's proprietary MCU debug/programming port.  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 [[Renesas:RXHEW|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.  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]].
 
  
 
== Using the Serious [[SHIPTide]] GUI Development Tool ==
 
== Using the Serious [[SHIPTide]] GUI Development Tool ==
Line 62: Line 29:
 
[[File:firmware-update-panel.png|700px|The SHIPTide Firmware Update Panel]]
 
[[File:firmware-update-panel.png|700px|The SHIPTide Firmware Update Panel]]
 
{{:SHIPCrane}}
 
{{:SHIPCrane}}
 +
 +
[[Category:Getting Started with SHIP]]

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