harmony(鸿蒙)Porting Overview

  • 2022-08-09
  • 浏览 (721)

Porting Overview

Porting Process

After the minimum system is ported, you can port the board-level system by:

  1. Implementing the board-level driver adaptation
  2. Completing the implementation at the HAL
  3. Implementing the XTS
  4. Verifying service functions

Figure 1 Process for board-level driver adaptation
process-for-board-level-driver-adaptation

Board-Level Directory Specifications

For details about board-level system building adaptation, see Compilation and Building Subsystem. The board-related drivers, software development software kits (SDKs), directories, and HAL implementation are stored in the device directory. The directory structure and its description are as follows:

.
├── device                                              --- Sample board
│   └── xxx                                             --- <Vendor name of the board>
│       └── xxx                                         --- <Board name>. This directory contains the demo of the LiteOS Cortex-M kernel, which can run properly.
│           ├── BUILD.gn                                --- Building configuration file of the board
│           ├── board                                   --- Specific implementation of the board (Optional. If a product-level demo is provided, implementation at the application layer is stored in this directory.)
│           ├── liteos_m                                --- LiteOS Cortex-M kernel to use based on the kernel_type in the BUILD.gn file
│           │   └── config.gni                          --- Building options
│           ├── libraries                               --- Board-level SDK
│           │   └── include                             --- SDK-provided header files that are exposed externally
│           │   └── ...                                 --- binary or source files
│           ├── main.c                                  --- main function entry (Product level configuration is used if the same definition exists at the product level.)
│           ├── target_config.h                         --- Board-level kernel configuration
│           ├── project                                 --- Board-level project configuration file (Product-level configuration is used if the same definition exists at the product level.)
│           └── adapter                                 --- HAL interfaces (Optional)
│               └── hals
│                   ├── communication
│                   │  └── wifi_lite
│                   │      ├── ...
│                   └── iot_hardware
│                       ├── upgrade
│                       ├── utils
│                       └── wifiiot_lite
├── vendor                                              --- End-to-end feature product sample of OpenHarmony
│   └── huawei                                          --- Vendor name
│       └── wifiiot                                     --- Feature product
│           ├── app
│           │   └── main.c                              --- main function entry of the product
│           ├── project                                 --- Project configuration file
│           ├── BUILD.gn                                --- Project building entry
│           └── config.json                             --- Building configuration file of the product and components used for product configuration
└── out                                                 --- Output directory during the building
    ├── ...                                             --- .bin files generated during board/product building

你可能感兴趣的鸿蒙文章

harmony(鸿蒙)Introduction

harmony(鸿蒙)Combo Solution – ASR Chip Porting Case

harmony(鸿蒙)Mini-System Devices with Screens — Bestechnic SoC Porting Case

harmony(鸿蒙)Third-party Module Adaptation

harmony(鸿蒙)System Modules

harmony(鸿蒙)Board-Level Driver Adaptation

harmony(鸿蒙)Implementation of APIs at the HAL

harmony(鸿蒙)lwIP Module Adaptation

harmony(鸿蒙)XTS

harmony(鸿蒙)Board-Level OS Porting

0  赞