SHIPWare

From Serious Documentation
Jump to: navigation, search

SHIPWare is sort of like "ShareWare"...but different.

SHIPWare is a collection of no-cost, pre-licensed code enabling the OEM to quickly develop communications and machine control applications in C. It is a layered set of capabilities including:

SHIPWare Supported Platforms

SHIPWare is available and fully supported on all ARM MCU-based Serious Communications Modules, including the SCM2xx family,

The SCM1xx families are not officially supported by SHIPWare releases; development for these platforms is enabled via the free Renesas e2studio toolchain and FIT modules as well as other example code provided by Renesas. The Renesas Rulz forum provides good community-based support for RX MCU development, as does the Renesas technical support team.

HMI development for Serious Integrated HMI Modules is performed through the SHIPTide GUI development tool, and C-based development is not supported.

SHIPWare Elements

SHIPWare includes:

  • Segger OS and Software stacks – Ready for application development
  • SHIPCore - a core suite of (source code) OS/MCU/Platform-independent utilities, frameworks and abstractions
  • SHIPBridge – A powerful protocol for firmware updates, board controls, and data movement to and from GUIs and attached systems
  • BSP & Drivers – Pre-integrated, ported, tested BSP and drivers for MCU and board peripherals, including Ethernet, WiFi, UART, SPI, I2C, e.MMC, RS232/485 (CAN and Bluetooth coming soon)
  • Pre-configured USB device connectivity, including USB-CDC (serial port over USB) and the SHIPBridge enabled vendor class for easy PC-based firmware updates
  • TCP/IP and WiFi – All the drivers and stacks pre-ported for an out-of-the box web server and IoT via MQTT connectivity, including secure SSL connectivity with no additional licensing costs
  • In-field updates – Support for installing and updating the application and the built-in bootstrapper/loader (PADD and TUGB respectively) in the field over the air or by wire
  • Volume programming – Using the SHIPCrane volume manufacturing programmer tool you can simultaneously program multiple SCMs with your application and validated bootstrapper/loader from a PC via USB

Segger Software

Through a unique agreement with Segger Microcontroller, all ARM MCU-based Serious Communications Modules come with pre-licensed runtime libraries of many Segger software elements, including:

  • embOS – the OS Kernel
  • embOS/IP – the TCP/IP stack including MQTT, related utilities (web server, DHCP, etc.) and drivers
  • emSSL – the security plugin for the TCP/IP related stacks
  • emUSB – the USB Device stack
  • emFile – the file system, including FAT support, enhanced non-FAT Embedded File System (EFS), and robust journaling

These libraries are pre-ported by Serious with all the necessary drivers for the target modules -- you can start developing applications using, for example, WiFi, Ethernet, and a file system on the e.MMC or Serial Flash right out-of-the-box.

How to Get SHIPWare and the Segger Software

Purchasing and registering your purchase of an ARM MCU-based Serious Communications Module development kit (e.g. SCM208-A00-SJL-01) is required to obtain a licensed copy of SHIPWare including the Segger Software.

Note it is also wise to register every production Serious module you purchase to ensure you receive the latest Product Change Notifications and updates specific to your products.

Once your Dev Kit has been registered, you can then download the Segger software as well as Serious out-of-the-box libraries and projects to develop your own complete application. The completed binary can then be installed on production SCMs at no additional licensing cost.

To register your dev kit or production module, you will need either the module's Manufacturing ID (MID) or its electronic 'Serious Serial Number (SSN). See Manufacturing ID (MID) and ''Serious'' Serial Number (SSN) for more information on retrieving these values.

Once your development kit is registered and you have agreed to the click-through license for the software, Serious technical support will contact you via email with instruction on how to obtain the complete software package to begin developing your SHIPWare-based embedded application.

Optional Downloads and Tools

The following are additional resources that may benefit your development with the SCM2xx family:

  • The Segger stack documentation for the various Segger packages
    • embOS – the OS Kernel
    • embOS/IP – the TCP/IP stack including MQTT, related utilities (web server, DHCP, etc.) and drivers
    • emSSL – the security plugin for the TCP/IP related stacks
    • emUSB – the USB Device stack
    • emFile – the file system, including FAT support, enhanced non-FAT Embedded File System (EFS), and robust journaling
  • The Serious Refit development tool which turns .mot files into .shp files for easy distribution and upgrades of SCMs
    • Refit binary and runtime libraries as a .zip file, expanded over top (in the same directory structure) as your SCM source code tree
    • Java SE 8 “Java Runtime Environment” or “JRE” required to run Refit downloaded from Oracle and installed normally per Oracle instructions
  • The Serious SHIPCrane OEM Programming Tool
    • A volume/parallel programming tool over USB for SCMs and SIMs
    • Uses .shp files created by the Refit tool
    • Enables fast and efficient production programming

Installing the SHIPWare and the Segger Software

The Segger Software Packagepackage comes as a .zip archive. Unpack the archive to a suitable location on your PC. There are no additional steps required for installation of the software in preparation for development using the libraries and code.


Many of the files included in the archive will unpack, by default, as read-only files. This is to ensure that these files, which may be updated from time-to-time from Serious are not inadvertently modified.There are numerous files designed to be example starting points for your application, typically those named "UserXXXX.c" and "UserXXXX.h". Feel free to explore these files, and once you are well into the development process is it wise to rename these to something more suitable to your application. When you get new releases of SHIPWare, this avoids the (possibly updated, but certainly different) UserXXX files from overwriting your unique application code.