Overview

Introduction

The embARC Open Software Platform (OSP) is an open software platform to facilitate the development of embedded systems based on DesignWare® ARC® processors.

It is designed to provide a unified platform for DesignWare® ARC® processors users by defining consistent and simple software interfaces to the processor and peripherals, together with ports of several well known FOSS embedded software stacks to DesignWare® ARC® processors.

embARC OSP provides a starting foundation for embedded developers, simplifying development and improving time-to-market through software reuse.

Purpose and Scope

embARC OSP is an open software platform, providing useful components with a consistent software layering model and interfaces to DesignWare® ARC® processors for portability and reusability. Developers can write software based on embARC OSP to accelerate implementation and reduce their learning curve and the time-to-market of final product implementation.

The goals of embARC are as follows:

  • Provide an easy introduction for new users of DesignWare® ARC® processors.
  • Provide useful software stacks as a starting point for building embedded products based on DesignWare® ARC® processors and well-known open-source software packages.
  • Provide broad ranges of examples to demonstrate DesignWare® ARC® processors usage in various embedded IoT applications.
  • Provide simple, frictionless out-of-the box user experience through:
    • Single archive download containing all embARC packages and examples.
    • Comprehensive pre-integrated tools support.
    • Clear, simple, and extensive how-to instructions.

Architecture

The embARC Open Software Platform general architecture and components are shown in the block diagram below.

embARC

Note

Dotted line boxes indicate supported packages being excluded from the embARC OSP distribution. See the related embARC documentation sections for information on how to obtain these packages for use with embARC

  • For secure communication, see mbed TLS
  • ARC Hardware Abstraction Layer (ARC HAL) provides the necessary hardware abstraction for DesignWare® ARC® processors ISA compatible processors.
  • Device Hardware Abstraction Layer (HAL) provides hardware abstraction for common platform devices and implementation of DesignWare IP drivers, such as UART, IIC, and SPI.
  • Board Support Package (BSP) Layer provides support for different boards based on the ARCv2 processors.
  • OS Layer provides embedded operating system support, including options for traditional Real-Time Operating Systems (RTOSs).
  • Library Layer provides basic common library support for embedded systems, such as C library, dlmalloc library and SecureShield library.
  • Middleware Layer includes mainstream embedded software stack solutions, including FAT file system, network stack, simple shell/Command Line Interface (CLI), IoT protocols, lightweight graphics, IoT cloud connectivity and more.

Many examples, covering IoT, network, and sensor application cases, are also provided to help get started quickly with DesignWare® ARC® processors and the embARC OSP software.

Toolchain Support

The embARC OSP software is supported by the following toolchain offerings from Synopsys:

  • The DesignWare ARC MetaWare Development Toolkit builds on a long legacy of industry-leading compiler and debugger products for embedded applications. It is a complete solution that contains all the components needed to support the development, debugging, and tuning of embedded applications for the DesignWare® ARC® processors.
  • The GNU Toolchain for DesignWare ARC Processors provides a pre-built GNU toolchain for DesignWare® ARC® processors integrated into the Eclipse IDE. The GNU tools are maintained by Synopsys with new releases being published at regular intervals.
  • The DesignWare ARC MetaWare Development Toolkit Lite Edition is a functioning demonstration of the MetaWare Development Toolkit, but has a number of restrictions, including a code-size limit of 32 Kb and no run-time library sources. It is available for free download and use for academic, personal, and noncompetitive evaluation purposes.

Fundamental Terms and Concepts

See Glossary of Terms