• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Overview<a name="EN-US_TOPIC_0000001153683022"></a>
2
3-   [Porting Process](#section1283115812294)
4-   [Board-Level Directory Specifications](#section6204129143013)
5
6## Porting Process<a name="section1283115812294"></a>
7
8After the minimum system is ported, you can port the board-level system by:
9
101.  Implementing the board-level driver adaptation
112.  Completing the implementation at the HAL
123.  Implementing the XTS
134.  Verifying service functions
14
15**Figure  1**  Process for board-level driver adaptation<a name="fig14619153362215"></a>
16![](figure/process-for-board-level-driver-adaptation.png "process-for-board-level-driver-adaptation")
17
18## Board-Level Directory Specifications<a name="section6204129143013"></a>
19
20For details about board-level system building adaptation, see  [Compilation and Building Subsystem](porting-chip-prepare-process.md). 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:
21
22```
23.
24├── device                                              --- Sample board
25│   └── xxx                                             --- <Vendor name of the board>
26│       └── xxx                                         --- <Board name>. This directory contains the demo of the LiteOS Cortex-M kernel, which can run properly.
27│           ├── BUILD.gn                                --- Building configuration file of the board
28│           ├── board                                   --- Specific implementation of the board (Optional. If a product-level demo is provided, implementation at the application layer is stored in this directory.)
29│           ├── liteos_m                                --- LiteOS Cortex-M kernel to use based on the kernel_type in the BUILD.gn file
30│           │   └── config.gni                          --- Building options
31│           ├── libraries                               --- Board-level SDK
32│           │   └── include                             --- SDK-provided header files that are exposed externally
33│           │   └── ...                                 --- binary or source files
34│           ├── main.c                                  --- main function entry (Product level configuration is used if the same definition exists at the product level.)
35│           ├── target_config.h                         --- Board-level kernel configuration
36│           ├── project                                 --- Board-level project configuration file (Product-level configuration is used if the same definition exists at the product level.)
37│           └── adapter                                 --- HAL interfaces (Optional)
38│               └── hals
39│                   ├── communication
40│                   │  └── wifi_lite
41│                   │      ├── ...
42│                   └── iot_hardware
43│                       ├── upgrade
44│                       ├── utils
45│                       └── wifiiot_lite
46├── vendor                                              --- End-to-end feature product sample of OpenHarmony
47│   └── huawei                                          --- Vendor name
48│       └── wifiiot                                     --- Feature product
49│           ├── app
50│           │   └── main.c                              --- main function entry of the product
51│           ├── project                                 --- Project configuration file
52│           ├── BUILD.gn                                --- Project building entry
53│           └── config.json                             --- Building configuration file of the product and components used for product configuration
54└── out                                                 --- Output directory during the building
55    ├── ...                                             --- .bin files generated during board/product building
56```
57
58