Overview

This topic provides a panorama of all documents for you to obtain helpful information quickly. These documents are classified based on your learning progress and development scenarios of OpenHarmony.

System Types

It is good practice to understand the system types for you to find useful documents that can guide your development.

OpenHarmony is an open-source distributed operating system for all scenarios. It uses a component-based design to tailor its features to better suit devices with 128 KiB to GiB-level of RAM. You can integrate a flexible combination of system components based on the hardware capabilities of the device.

To make the integration simple and easy on different hardware, OpenHarmony defines three basic system types. You only need to select a suitable system type and configure the mandatory component set, thereby developing a system for your device at the minimum workload. The definitions of the basic system types are provided as follows for your reference:

  • Mini system

    A mini system fits into the devices that come with Micro Controller Units (MCUs), such as Arm Cortex-M and 32-bit RISC-V processors, and memory greater than or equal to 128 KiB. This system provides multiple lightweight network protocols, a graphics framework, and a wide range of read/write components with the IoT bus. Typical products include connection modules, sensors, and wearables for smart home.

  • Small system

    A small system fits into the devices that come with application processors, such as Arm Cortex-A, and memory greater than or equal to 1 MiB. This system provides higher security capabilities, standard graphics frameworks, and video encoding and decoding capabilities. Typical products include smart home IP cameras, electronic cat eyes, and routers, and event data recorders (EDRs) for easy travel.

  • Standard system

    A standard system fits into the devices that come with application processors, such as Arm Cortex-A, and memory greater than or equal to 128 MiB. This system provides a complete application framework supporting enhanced interactions, 3D GPU, hardware composer, diverse components, and various animations. Typical products include high-end refrigerator displays.

In addition, OpenHarmony provides a wide array of system components that can be configured as required to support feature extension and customization. These system components are combined to form a series of system capabilities that, for better understanding, are described as features or functions for you to choose.

Document Outline

Table 1 Mini and small system development guidelines (reference memory < 128 MiB)

Topic Development Scenario Related Documentation
About OpenHarmony Getting familiar with OpenHarmony - About OpenHarmony
- Glossary
Development resources Preparing for your development - Obtaining Source Code
- Obtaining Tools
Getting started Getting started with setup, build, burning, debugging, and running of OpenHarmony - Getting Started
Basic capabilities Using basic capabilities of OpenHarmony - Kernel for Mini System
- Kernel for Small System
- HDF
- Compilation and Building Guide
- Security Guidelines
- Privacy Protection
Advanced development Developing smart devices based on system capabilities - WLAN-connected Products
- Cameras with a Screen
Porting and adaptation - Porting and adapting OpenHarmony to an SoC
- Porting and adapting OpenHarmony to a third-party library
- Third-party vendor porting cases
- Small System SoC Porting Guide
- Third-Party Library Porting Guide for Mini and Small Systems
- Mini-System Devices with Screens — Bestechnic SoC Porting Case
Contributing components Contributing components to OpenHarmony - HPM Part Overview
- HPM Part Development
- HPM Part Reference
Reference Referring to development specifications - FAQs

Table 2 Standard system development guidelines (reference memory ≥ 128 MiB)

Topic Development Scenario Related Documentation
About OpenHarmony Getting familiar with OpenHarmony - About OpenHarmony
- Glossary
Development resources Preparing for your development - Obtaining Source Code
- Obtaining Tools
Getting started Getting started with setup, build, burning, debugging, and running of OpenHarmony - Getting Started
Basic capabilities Using basic capabilities of OpenHarmony - Kernel Development
- HDF
- Compilation and Building Guide
- Security Guidelines
- Privacy Protection
Advanced development Developing smart devices based on system capabilities - Development Guidelines on Clock Apps
- Development Example for Platform Drivers
- Development Example for Peripheral Drivers
Porting and adaptation - Porting and adapting OpenHarmony to an SoC
- Rapidly porting the OpenHarmony Linux kernel
- Standard System Porting Guide
- A Method for Rapidly Porting the OpenHarmony Linux Kernel
Contributing components Contributing components to OpenHarmony - HPM Part Overview
- HPM Part Development
- HPM Part Reference
Reference Referring to development specifications - FAQs