SHIPCore

From Serious Documentation
Jump to: navigation, search

SHIPCore is the at the heart of application development for Serious Communications Modules, and provides fundamental services such as:

  • Abstractions for OS/MCU/Platform/Toolchain/Stacks/Services to enable highly portable applications
  • Utility and helper functions for many common embedded applications challenges
  • Extensible stacks for several common communications protocols
  • and much more.

SHIPCore is included in SHIPWare for Serious Communications Modules which adds the OS, BSP, drivers, and glue on top of SHIPCore to create an out-of-the-box embedded application environment.

SHIPCore Supported Platforms

SHIPCore 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 SHIPCore 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.

SHIPCore Elements

SHIPCore includes:

  • Complete OS-abstraction layer for tasks, queues, semaphores, mutexes and event flags
  • Integrity and Security tools
Subsystem Introduced Description
SHIP_CRC v4.0 Generates and checks CRCs.
SHIP_SHA2 v5.0.0 Strong hash generation and validation for firmware integrity checking and other security-related algorithms.
  • Memory and Storage Management
Subsystem Introduced Description
SHIP_FS v4.0 Abstracts widely disparate file systems (FAT, linear, MCU Flash, RAM, etc) into a unified API.
SHIP_Persist v4.0.0 Reliable, nonvolatile key/value storage of system and user parameters .
  • Communications Hardware Abstractions
Subsystem Introduced Description
SHIP_CAN v4.0 Basic CAN framework to encapsulate and abstract hardware-specific peripherals and drivers.
SHIP_I2CM v4.0 I2C Master framework to encapsulate hardware-specific peripherals and drivers.
SHIP_SPIM v4.0 SPI Master framework to encapsulate hardware-specific peripherals and drivers.

SHIP_UART UART driver abstraction SHIP_USB USB Host and Device drive abstraction

  • Serial Stream and Protocols
    • SHIP_Serial powerful serial stream abstraction for unified serial (UART, USB CDC, etc) support including packetization and depacketization plugins
    • SHIPBridge – A powerful protocol for firmware updates, board controls, and data movement to and from GUIs and attached systems
    • Modbus Stack – A master/slave ASCII/RTU Modbus stack over the SHIP_Serial abstraction
    • Raw Protocol Stack – A simple queued raw serial I/O protocol stack over the SHIP_Serial abstraction

How to Get SHIPCore

SHIPCore is available in source code form and is bundled with SHIPWare.