/embarc_osp

embARC Open Software Platform (OSP) - An embedded software distribution for IoT and other embedded applications for ARC

Primary LanguageCBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

embARC Open Software Platform (OSP)

Travis CI Status

Introduction

The embARC Open Software Platform (OSP) is a software distribution aimed at facilitating the development of embedded systems based on ARCv2 Processors.

It is designed to provide a unified platform for ARCv2 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 ARCv2 Processors.

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

embARC OSP Architecture

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

ARC Hardware Abstraction Layer

This layer provides standard interfaces and definitions for ARCv2 processors.

Device Hardware Abstraction Layer

This layer defines the interfaces and definitions for peripherals such as UART, I2C, GPIO, SPI, and WNIC. This layer simply defines the interfaces of device drivers, but does not contain detailed device driver implementations. Driver implementation is left to the application. A group of driver implementations for supported DesignWare IP peripherals are provided as a reference.

Operating System Layer

This layer contains the support for embedded operating systems.

Common Library Layer

This layer provides stubs for various support library implementations such as C library, Secureshield runtime library for security, math library, Floating Point or other libraries. These libraries can be bare-metal or OS based implementations.

Middleware Layer

This layer integrates different embedded middleware, such as Shell/Command Line Interface (CLI), file systems, networking and IoT communication protocol stacks.

How to Use embARC OSP

The embARC OSP software includes several examples to help the user get up and running quickly with embARC OSP. Please refer to embARC OSP Documentation and embARC OSP Wiki for more information, or you can generate the latest documentation by yourself following this guide.

Contribute to embARC OSP

We welcome community contributions to embARC OSP. Please check out the Contributing to embARC OSP for guidelines on how to proceed. Users participating in the embARC Community and its sub-projects codebases and issue trackers are expected to follow the embARC code of conduct.