Software Architecture

[中文]

Summary

Armino software is divided into middleware layer, component layer and application layer. Armino Armino abstracts the coupling dependence of software on hardware platform and realizes the shelving of software platform. Through this shelf design and rich SDK APIs, SDK developers can design and develop more efficiently.

Architecture Overview

Architecture Overview

Software Architecture

Armino SDK can flexibly support different product software architectures.

1、 Based on Armino SDK’s own software architecture See the legend of Architecture Overview for the overall framework of the solution. In this solution, the operating system has been decoupled and adapted. The current Armino solution supports FreeRTOS and LiteOS.

2、 Based on the developer’s own software architecture Armino SDKThe Armino SDK is compatible with a variety of software ecosystems, facilitating developers to integrate the Armino chip solution into their own mature product software architecture.

Armino OS solution

Armino OS solution

Armino customer solution

Armino customer solution

Hardware Layer

Hardware layer, namely hardware layer, refers specifically to the hardware of BEKEN solution.。

Middleware Layer

Middleware layer, namely the middle layer, is an abstract layer for the underlying hardware and

upper components. Through the M-server, we can seamlessly switch between different solutions.

Armino middleware

Armino middleware

As shown in the figure::
  • arch, It includes related functions of chip architecture, such as arm, riscv, general interrupt processing, boot, pmp, etc.

  • soc, Chip related special processing and related configuration.

  • dirver, Driver layer, including various peripheral drivers, such as I2C, GPIP, UART, etc.

  • compal, Components abstraction layer. In order to enable third-party open source components to function on the armono platform while reducing code coupling.

  • boards, Board level configuration is related, covering some engineering configurations of specific projects.

Component Layer

The Components layer, or component layer, is a service component that contains many third-party open source or self developed by armono. Developers can configure defconfig in the middleware layer to switch related component services.

Application Layer

The application layer is organized under the projects directory, and the last level of the CmakeList directory is the building entry for a complete solution. It carries the differentiation of different projects and the configuration set of different product solutions.