diff --git a/en/device-dev/Readme-EN.md b/en/device-dev/Readme-EN.md index cc51cf1ea93730d8daa02f6fe6964832566e65ee..38304bee71dab802b0c2e740eb81428bd6e81917 100644 --- a/en/device-dev/Readme-EN.md +++ b/en/device-dev/Readme-EN.md @@ -1,4 +1,4 @@ -# Overview +# Overview - [System Types](#section767218232110) - [Document Outline](#section19810171681218) @@ -69,7 +69,7 @@ In addition, OpenHarmony provides a series of optional system components that ca

Using basic capabilities of OpenHarmony

- +

Advanced development

@@ -90,7 +90,7 @@ In addition, OpenHarmony provides a series of optional system components that ca

Contributing components to OpenHarmony

- +

Reference

@@ -114,11 +114,11 @@ In addition, OpenHarmony provides a series of optional system components that ca -

About OpenHarmony

+

About OpenHarmony

-

Getting familiar with OpenHarmony

+

Getting familiar with OpenHarmony

- +

Development resources

@@ -137,31 +137,23 @@ In addition, OpenHarmony provides a series of optional system components that ca

Basic capabilities

-

Using basic capabilities of OpenHarmony

+

Using basic capabilities of OpenHarmony

- - - -

Advanced development

- -

Developing smart devices based on system capabilities

- - +

Porting and adaptation

Porting and adapting the OpenHarmony to a third-party library

-

Third-Party Library Porting Guide

-

Standard System SoC Porting Guide

+

Contributing components

-

Contributing components to OpenHarmony

+

Contributing components to OpenHarmony

- +

Reference

diff --git a/en/device-dev/get-code/figure/en-us_image_0000001166715379.png b/en/device-dev/get-code/figure/customizing-bundles.png similarity index 100% rename from en/device-dev/get-code/figure/en-us_image_0000001166715379.png rename to en/device-dev/get-code/figure/customizing-bundles.png diff --git a/en/device-dev/get-code/figure/3-27.png b/en/device-dev/get-code/figure/evolution-roadmap.png similarity index 100% rename from en/device-dev/get-code/figure/3-27.png rename to en/device-dev/get-code/figure/evolution-roadmap.png diff --git a/en/device-dev/get-code/figure/en-us_image_0000001119755646.png b/en/device-dev/get-code/figure/example-distribution.png similarity index 100% rename from en/device-dev/get-code/figure/en-us_image_0000001119755646.png rename to en/device-dev/get-code/figure/example-distribution.png diff --git a/en/device-dev/get-code/figure/en-us_image_0000001119915556.png b/en/device-dev/get-code/figure/hpm-page.png similarity index 100% rename from en/device-dev/get-code/figure/en-us_image_0000001119915556.png rename to en/device-dev/get-code/figure/hpm-page.png diff --git a/en/device-dev/get-code/figure/en-us_image_0000001101413884.png b/en/device-dev/get-code/figure/setting-page.png similarity index 100% rename from en/device-dev/get-code/figure/en-us_image_0000001101413884.png rename to en/device-dev/get-code/figure/setting-page.png diff --git a/en/device-dev/get-code/gettools-acquire.md b/en/device-dev/get-code/gettools-acquire.md index f8170822bd6503ebd533eb257d05aad2de553364..854a055a1950ec8e1c879732950c66095f10a970 100644 --- a/en/device-dev/get-code/gettools-acquire.md +++ b/en/device-dev/get-code/gettools-acquire.md @@ -69,7 +69,6 @@ OpenHarmony provides the following two types of Docker environments for you to q - ## Preparations Before using the Docker environment, perform the following operations: @@ -151,10 +150,8 @@ hb set . ``` -**Figure 1** Setting page - - -![](figure/en-us_image_0000001101413884.png) +**Figure 1** Setting page +![](figure/setting-page.png "setting-page") >![](../public_sys-resources/icon-note.gif) **NOTE:** >The mapping between the development board and the building GUI: diff --git a/en/device-dev/get-code/gettools-ide.md b/en/device-dev/get-code/gettools-ide.md index 73f534bb8ae3bf4e53c16e025f8df3d8883f30e8..138891d11b6023f24eb912bdb8d2b52c5b78bb7f 100644 --- a/en/device-dev/get-code/gettools-ide.md +++ b/en/device-dev/get-code/gettools-ide.md @@ -9,7 +9,7 @@ HUAWEI DevEco Device Tool is a one-stop integrated development environment \(IDE The roadmap of Huawei DevEco Device Tool for supporting OpenHarmony device development is shown in the figure below. -![](figure/3-27.png) +![](figure/evolution-roadmap.png) ## Acquiring the Application Development Tool \(HUAWEI DevEco Studio\) diff --git a/en/device-dev/get-code/sourcecode-acquire.md b/en/device-dev/get-code/sourcecode-acquire.md index 0b1af9cae0b40167b423233668edf1f47fa27a75..3d0b0964360f4095b7b00daa7532a99a08848e2e 100644 --- a/en/device-dev/get-code/sourcecode-acquire.md +++ b/en/device-dev/get-code/sourcecode-acquire.md @@ -101,12 +101,12 @@ This document describes how to acquire OpenHarmony source code and provides its ``` repo init -u https://gitee.com/openharmony/manifest.git -b OpenHarmony_1.0.1_release --no-repo-verify repo sync -c - repo forall -c 'git lfs pull' + repo[Release-Notes](../../release-notes/Readme.md) forall -c 'git lfs pull' ``` - Obtaining the source code of other OpenHarmony releases - For details about how to obtain the source code of other OpenHarmony releases, see the [Release Notes](../../release-notes/Readme.md). + For details about how to obtain the source code of other OpenHarmony releases, see the [Release-Notes](../../release-notes/Readme.md). ## Method 2: Acquiring Source Code from HPM @@ -154,10 +154,8 @@ You must install **Node.js** and HPM on your local PC. The installation proced 3. Specify filter criteria, such as the bundle type \(for example: **Board support** and **Kernel support**\), to further filter the distributions. 4. Locate your desired distribution and click it to view details. - **Figure 1** HPM page - - - ![](figure/en-us_image_0000001119915556.png) + **Figure 1** HPM page + ![](figure/hpm-page.png "hpm-page") 2. Learn more about the distribution. @@ -165,10 +163,8 @@ You must install **Node.js** and HPM on your local PC. The installation proced 2. Click **Download** to download the distribution to your local PC. 3. Click **Custom** to add or delete bundles of the distribution. - **Figure 2** Example distribution - - - ![](figure/en-us_image_0000001119755646.png) + **Figure 2** Example distribution + ![](figure/example-distribution.png "example-distribution") 3. Customize bundles. 1. Access the **Custom solution** page, as shown in the following figure. @@ -176,10 +172,8 @@ You must install **Node.js** and HPM on your local PC. The installation proced 3. Enter the basic information about your project, including the bundle name, version, and description, on the right pane. 4. Click **Download**. The system then generates the OpenHarmony code structure file \(for example, **my\_cust\_dist.zip**\) and saves it to your local PC. - **Figure 3** Customizing bundles - - - ![](figure/en-us_image_0000001166715379.png) + **Figure 3** Customizing bundles + ![](figure/customizing-bundles.png "customizing-bundles") 4. Download and install bundles. 1. Decompress the downloaded file using the CLI tool CMD \(shell in Linux\). @@ -192,7 +186,7 @@ You must install **Node.js** and HPM on your local PC. The installation proced To ensure the download performance, you are advised to download the source code or the corresponding solution from the image library of the respective site listed in the table below. >![](../public_sys-resources/icon-note.gif) **NOTE:** ->- The table below provides only the sites for downloading the latest OpenHarmony master and LTS code. For details about how to obtain the source code of earlier versions, see the [Release Notes](../../release-notes/Readme.md). +>- The table below provides only the sites for downloading the latest OpenHarmony master and LTS code. For details about how to obtain the source code of earlier versions, see the [Release-Notes](../../release-notes/Readme.md). >- The Master 1.0 version is no longer maintained. **Table 1** Sites for acquiring source code from image sites @@ -256,9 +250,9 @@ To ensure the download performance, you are advised to download the source code

Version Information

-

Site

+

Site

-

SHA-256 Verification Code

+

SHA-256 Verification Code

Full code (for standard systems)

@@ -319,7 +313,7 @@ To ensure the download performance, you are advised to download the source code

Version Information

-

Site

+

Site

SHA-256 Verification Code

diff --git a/en/device-dev/guide/device-driver-demo.md b/en/device-dev/guide/device-driver-demo.md index 88e2e5a1e6cd7d43b874021400630de571c68141..3eb518594af5616fb000a8dde12b2cb30f81d489 100644 --- a/en/device-dev/guide/device-driver-demo.md +++ b/en/device-dev/guide/device-driver-demo.md @@ -34,7 +34,7 @@ In this example, an I2C driver is used. [Figure 1](#fig148041484161) shows the ## Preparations -Follow the instructions in [Environment Setup for Standard System](../quick-start/quickstart-standard-description.md). +Follow the instructions in [Environment Setup for Standard System](../quick-start/quickstart-standard-overview.md). >![](../public_sys-resources/icon-notice.gif) **NOTICE:** >This development example applies to standard, small, and mini OpenHarmony systems. The following sections use the standard system as an example. You can refer to the specific guide for your system to set up the environment. diff --git a/en/device-dev/kernel/kernel-small-start-user.md b/en/device-dev/kernel/kernel-small-start-user.md index 09461e6b4192191ee3d55c8965c2a0fd059d9fac..047df8a133d3e34e5957b9849617a98183dd9570 100644 --- a/en/device-dev/kernel/kernel-small-start-user.md +++ b/en/device-dev/kernel/kernel-small-start-user.md @@ -48,8 +48,8 @@ During system startup, **OsUserInitProcess** is called to start the **init** Common compilation modes of user-space programs include: -1. [Compilation using the framework](../quick-start/quickstart-lite-steps-board3516-running.md) -2. Manual compilation +1. [Compilation using the framework](../quick-start/quickstart-lite-steps-hi3516-running.md) +2. Manual compilation Example: @@ -57,7 +57,7 @@ Common compilation modes of user-space programs include: clang --target=arm-liteos --sysroot=prebuilts/lite/sysroot -o helloworld helloworld.c ``` - Before running the **clang** command, install the LLVM compiler. For details, see [Installing LLVM](../quick-start/quickstart-lite-env-setup-lin.md). + Before running the **clang** command, install the LLVM compiler. For details, see [Installing LLVM](../quick-start/quickstart-lite-env-setup-linux.md). **--target=arm-liteos**: specifies that the compilation platform is arm-liteos. diff --git a/en/device-dev/porting/Readme-EN.md b/en/device-dev/porting/Readme-EN.md index cd21b9c695d88b5ab09ccb5c80a6dce82f9056c2..b88beb7be4f295c51618194343e23a32aa29d41a 100644 --- a/en/device-dev/porting/Readme-EN.md +++ b/en/device-dev/porting/Readme-EN.md @@ -23,7 +23,7 @@ The download steps for other resources are the same as those in the mainline ver - [Mini System SoC Porting Guide](porting-minichip.md) - [Porting Preparations](porting-chip-prepare.md) - - [Before You Start](porting-chip-prepare-knows.md) + - [Before You Start](oem_transplant_chip_prepare_knows.md) - [Building Adaptation Process](porting-chip-prepare-process.md) - [Kernel Porting](porting-chip-kernel.md) - [Overview](porting-chip-kernel-overview.md) diff --git a/en/device-dev/porting/figure/en-us_image_0000001072304191.png b/en/device-dev/porting/figure/architecture-of-the-liteos-cortex-m-kernel.png similarity index 100% rename from en/device-dev/porting/figure/en-us_image_0000001072304191.png rename to en/device-dev/porting/figure/architecture-of-the-liteos-cortex-m-kernel.png diff --git a/en/device-dev/porting/figure/en-us_image_0000001172393865.jpg b/en/device-dev/porting/figure/information-printed-after-the-ls-command-is-executed-in-the-shell.png similarity index 100% rename from en/device-dev/porting/figure/en-us_image_0000001172393865.jpg rename to en/device-dev/porting/figure/information-printed-after-the-ls-command-is-executed-in-the-shell.png diff --git a/en/device-dev/porting/figure/en-us_image_0000001172273945.jpg b/en/device-dev/porting/figure/log-indicating-that-the-init-process-is-started-properly.png similarity index 100% rename from en/device-dev/porting/figure/en-us_image_0000001172273945.jpg rename to en/device-dev/porting/figure/log-indicating-that-the-init-process-is-started-properly.png diff --git "a/en/device-dev/porting/figure/\345\210\206\347\261\273.png" b/en/device-dev/porting/figure/openharmony-driver-classification.png similarity index 100% rename from "en/device-dev/porting/figure/\345\210\206\347\261\273.png" rename to en/device-dev/porting/figure/openharmony-driver-classification.png diff --git a/en/device-dev/porting/figure/en-us_image_0000001126354076.png b/en/device-dev/porting/figure/os-image-structure-and-user-space-program-startup-process-based-on-the-linux-kernel.png similarity index 100% rename from en/device-dev/porting/figure/en-us_image_0000001126354076.png rename to en/device-dev/porting/figure/os-image-structure-and-user-space-program-startup-process-based-on-the-linux-kernel.png diff --git a/en/device-dev/porting/figure/en-us_image_0000001126358814.png b/en/device-dev/porting/figure/overall-initialization-process.png similarity index 100% rename from en/device-dev/porting/figure/en-us_image_0000001126358814.png rename to en/device-dev/porting/figure/overall-initialization-process.png diff --git a/en/device-dev/porting/figure/en-us_image_0000001126198996.png b/en/device-dev/porting/figure/service-startup-process.png similarity index 100% rename from en/device-dev/porting/figure/en-us_image_0000001126198996.png rename to en/device-dev/porting/figure/service-startup-process.png diff --git a/en/device-dev/porting/figure/en-us_image_0000001073943511.png b/en/device-dev/porting/figure/startup-process.png similarity index 100% rename from en/device-dev/porting/figure/en-us_image_0000001073943511.png rename to en/device-dev/porting/figure/startup-process.png diff --git a/en/device-dev/porting/figure/wlan-chip.png b/en/device-dev/porting/figure/wlan-chip.png new file mode 100644 index 0000000000000000000000000000000000000000..4a0441de4621bd558383ba1323d21c793bcf192a Binary files /dev/null and b/en/device-dev/porting/figure/wlan-chip.png differ diff --git a/en/device-dev/porting/porting-chip-prepare-knows.md b/en/device-dev/porting/oem_transplant_chip_prepare_knows.md similarity index 99% rename from en/device-dev/porting/porting-chip-prepare-knows.md rename to en/device-dev/porting/oem_transplant_chip_prepare_knows.md index d968489ab8fbb67f3a5d77bd2cdcf3e309569bf5..e47336d01c116d22077f6f66c31fe5f4c0a56d10 100644 --- a/en/device-dev/porting/porting-chip-prepare-knows.md +++ b/en/device-dev/porting/oem_transplant_chip_prepare_knows.md @@ -1,4 +1,4 @@ -# Before You Start +# Before You Start - [Porting Directory](#section284217487490) - [Porting Process](#section639315306506) diff --git a/en/device-dev/porting/porting-chip-board-bundle.md b/en/device-dev/porting/porting-chip-board-bundle.md index 1553650f3b59367a186accf7a8795c2c5432efc7..9edf5d3f144a9ab56d293ab9ba21a8a977888365 100644 --- a/en/device-dev/porting/porting-chip-board-bundle.md +++ b/en/device-dev/porting/porting-chip-board-bundle.md @@ -1,4 +1,4 @@ -# Third-party Module Adaptation +# Third-party Module Adaptation To use third-party modules in the **third\_party** directory, you may need to adapt the modules. This section uses mbedTLS as an example to describe how to integrate the adaptation code with the OpenHarmony compilation framework. For the principles of mbedTLS and the specific logic of the adaptation code, see the adaptation guide on the mbedTLS official website. diff --git a/en/device-dev/porting/porting-chip-board-component.md b/en/device-dev/porting/porting-chip-board-component.md index 2e29bb3150ed0a0e6de9b827f4799df05577be2c..7424993b9e400f6a6f2a862b36ed3b9394d3b8ff 100644 --- a/en/device-dev/porting/porting-chip-board-component.md +++ b/en/device-dev/porting/porting-chip-board-component.md @@ -1,4 +1,4 @@ -# System Modules +# System Modules - [SAMGR](#section105874301910) - [DFX](#section20064420420) diff --git a/en/device-dev/porting/porting-chip-board-driver.md b/en/device-dev/porting/porting-chip-board-driver.md index e0eade458905feed7796ae692b583dfed966984b..e7243e626aefd16297e34e48f6233b5838d26a6b 100644 --- a/en/device-dev/porting/porting-chip-board-driver.md +++ b/en/device-dev/porting/porting-chip-board-driver.md @@ -1,4 +1,4 @@ -# Board-Level Driver Adaptation +# Board-Level Driver Adaptation To implement board-level driver adaptation, perform the following steps: diff --git a/en/device-dev/porting/porting-chip-board-hal.md b/en/device-dev/porting/porting-chip-board-hal.md index 810161f4a5ab3f865d5d9d97adb140e0b46a1883..c491dd5c4a47a43d5a12030308b18e8cc6f6aad8 100644 --- a/en/device-dev/porting/porting-chip-board-hal.md +++ b/en/device-dev/porting/porting-chip-board-hal.md @@ -1,4 +1,4 @@ -# Implementation of APIs at the HAL +# Implementation of APIs at the HAL - [Utils](#section1394788286) - [IoT Peripheral Subsystem](#section958113200811) diff --git a/en/device-dev/porting/porting-chip-board-overview.md b/en/device-dev/porting/porting-chip-board-overview.md index 926dbb66fe05b2eb8e834900388417ac7962af57..254a59f15fd7943dfe984b6e47b424321daab24d 100644 --- a/en/device-dev/porting/porting-chip-board-overview.md +++ b/en/device-dev/porting/porting-chip-board-overview.md @@ -1,4 +1,4 @@ -# Overview +# Overview - [Porting Process](#section1283115812294) - [Board-Level Directory Specifications](#section6204129143013) diff --git a/en/device-dev/porting/porting-chip-board-xts.md b/en/device-dev/porting/porting-chip-board-xts.md index 35c40e9dc60e204096d5f5d136350087555790d5..7f0ab27adb81cbccf51ed35488998955c55aa381 100644 --- a/en/device-dev/porting/porting-chip-board-xts.md +++ b/en/device-dev/porting/porting-chip-board-xts.md @@ -1,4 +1,4 @@ -# XTS +# XTS - [Introduction](#section6725155811454) - [Adding the XTS Subsystem to the Building Component](#section46981118105417) diff --git a/en/device-dev/porting/porting-chip-board.md b/en/device-dev/porting/porting-chip-board.md index 62d22e9cbd2b4ce109b68b685557713c16c91d9c..b77264dd5fd675cccc91d08eca4ac637a970b401 100644 --- a/en/device-dev/porting/porting-chip-board.md +++ b/en/device-dev/porting/porting-chip-board.md @@ -1,4 +1,4 @@ -# Board-Level OS Porting +# Board-Level OS Porting - **[Overview](porting-chip-board-overview.md)** diff --git a/en/device-dev/porting/porting-chip-faqs.md b/en/device-dev/porting/porting-chip-faqs.md index d397af8f91dda726f95eaa4309fc910a7e1a004f..bca42fc5cb325ff6d58d6375b6598838d04d4979 100644 --- a/en/device-dev/porting/porting-chip-faqs.md +++ b/en/device-dev/porting/porting-chip-faqs.md @@ -1,4 +1,4 @@ -# FAQ +# FAQ - [How Do I Mount the Heap Memory to the Kernel?](#section965418378552) diff --git a/en/device-dev/porting/porting-chip-kernel-adjustment.md b/en/device-dev/porting/porting-chip-kernel-adjustment.md index 88acd2d145496f7650d96d56b25c49af3b76462c..742d0abf4562871fba12e81554b48c6b3140b9cf 100644 --- a/en/device-dev/porting/porting-chip-kernel-adjustment.md +++ b/en/device-dev/porting/porting-chip-kernel-adjustment.md @@ -1,4 +1,4 @@ -# Basic Kernel Adaptation +# Basic Kernel Adaptation - [Adaptation Process](#section14523241594) - [Feature Configuration](#section112994366592) @@ -15,7 +15,7 @@ Basic adaptation consists of the following steps: **Figure 1** Startup process -![](figure/en-us_image_0000001073943511.png) +![](figure/startup-process.png) In the **startup.S** file, you must ensure that the entry function \(for example, **reset\_vector**\) of the interrupt vector table is stored in the RAM start address specified by the link configuration files. The link configuration files of IAR, Keil, and GCC projects are **xxx.icf**, **xxx.sct**, and **xxx.ld**, respectively. The startup file provided by the vendor does not need to be modified if the **startup.S** file has initialized the system clock and returned to the **main** function. Otherwise, the preceding functions need to be implemented. @@ -63,6 +63,11 @@ The following table shows some typical configuration items:

Switch of the queue feature. The values 1 and 0 indicate that the switch is turned on and turned off, respectively.

+

LOSCFG_BASE_CORE_TSK_LIMIT

+ +

Maximum number of available tasks, excluding idle tasks. You can set this item based on your actual service requirements, or you can initially set it to a large value and adjust the value at a later time.

+ +

LOSCFG_BASE_IPC_SEM

Switch of the semaphore feature. The values 1 and 0 indicate that the switch is turned on and turned off, respectively.

diff --git a/en/device-dev/porting/porting-chip-kernel-overview.md b/en/device-dev/porting/porting-chip-kernel-overview.md index 48634e90d7b415d3998cb1d2df615a466aaa9eb7..8f6702a15194823d1cade17e9ead203896569ab9 100644 --- a/en/device-dev/porting/porting-chip-kernel-overview.md +++ b/en/device-dev/porting/porting-chip-kernel-overview.md @@ -1,4 +1,4 @@ -# Overview +# Overview - [Porting Scenario](#section93781277367) - [Directory Specifications](#section18127744153119) @@ -21,7 +21,7 @@ The kernel used by module chips is LiteOS Cortex-M, which consists of four modul **Figure 1** Architecture of the LiteOS Cortex-M kernel -![](figure/en-us_image_0000001072304191.png) +![](figure/architecture-of-the-liteos-cortex-m-kernel.png) The directory structure of the kernel is described as follows: diff --git a/en/device-dev/porting/porting-chip-kernel-verify.md b/en/device-dev/porting/porting-chip-kernel-verify.md index 0c22a72f8d19cd9505cf39c0318a2123f0605a86..389486e1025b69a9d61b0f51970b91b814bdb027 100644 --- a/en/device-dev/porting/porting-chip-kernel-verify.md +++ b/en/device-dev/porting/porting-chip-kernel-verify.md @@ -1,4 +1,4 @@ -# Kernel Porting Verification +# Kernel Porting Verification Add the sample program file **main.c** to the **device** directory of the project and compile the file. After LOS\_KernelInit is complete, this sample program will create two tasks that loop the **LOS\_TaskDelay** function and print the log information cyclically. In this way, you can check whether system scheduling and the clock work properly. diff --git a/en/device-dev/porting/porting-chip-kernel.md b/en/device-dev/porting/porting-chip-kernel.md index aa981df63825d4ffe3a7de3dedff4e60194dba2d..92a8b05ed0a95f0747a16b34afaddb258fa2bbb1 100644 --- a/en/device-dev/porting/porting-chip-kernel.md +++ b/en/device-dev/porting/porting-chip-kernel.md @@ -1,4 +1,4 @@ -# Kernel Porting +# Kernel Porting - **[Overview](porting-chip-kernel-overview.md)** diff --git a/en/device-dev/porting/porting-chip-prepare-process.md b/en/device-dev/porting/porting-chip-prepare-process.md index 7c02930ff628e8c22a9fc8e2b2b283acb1c64d51..9222ba736a22d7a3684ab6911802b2719c84259b 100644 --- a/en/device-dev/porting/porting-chip-prepare-process.md +++ b/en/device-dev/porting/porting-chip-prepare-process.md @@ -1,4 +1,4 @@ -# Building Adaptation Process +# Building Adaptation Process - [Building Adaptation Process](#section2159183845319) diff --git a/en/device-dev/porting/porting-chip-prepare.md b/en/device-dev/porting/porting-chip-prepare.md index 54aa1a6aa754194a6cff9b5207bab3444102c7fb..52c6cc9bd81b9ad45a7841e4b1df4e92cb67d4a4 100644 --- a/en/device-dev/porting/porting-chip-prepare.md +++ b/en/device-dev/porting/porting-chip-prepare.md @@ -1,6 +1,6 @@ -# Porting Preparations +# Porting Preparations -- **[Before You Start](porting-chip-prepare-knows.md)** +- **[Before You Start](oem_transplant_chip_prepare_knows.md)** - **[Building Adaptation Process](porting-chip-prepare-process.md)** diff --git a/en/device-dev/porting/porting-smallchip-driver-oom.md b/en/device-dev/porting/porting-smallchip-driver-oom.md index 7c70502ce1cb380674df8b7266352210de6fc6ea..e18619e7a0142af41f180e876682f56b43e6cef1 100644 --- a/en/device-dev/porting/porting-smallchip-driver-oom.md +++ b/en/device-dev/porting/porting-smallchip-driver-oom.md @@ -1,4 +1,4 @@ -# Device Driver Porting +# Device Driver Porting - [LCD Driver Porting](#section1574513454119) - [Touchscreen Driver Porting](#section20284142116422) diff --git a/en/device-dev/porting/porting-smallchip-driver-overview.md b/en/device-dev/porting/porting-smallchip-driver-overview.md index c6de1de72158294ddedd5b50c4b06f5165cac87c..117cd129bfdf88cd855693439c6542aef427212e 100644 --- a/en/device-dev/porting/porting-smallchip-driver-overview.md +++ b/en/device-dev/porting/porting-smallchip-driver-overview.md @@ -1,11 +1,9 @@ -# Overview +# Overview Drivers can be classified as platform drivers or device drivers. The platform drivers are generally in the SoC, such as the GPIO, I2C, and SPI drivers. The device drivers are typically outside of the SoC, such as the LCD, TP, and WLAN drivers. -**Figure 1** OpenHarmony driver classification - - -![](figure/分类.png) +**Figure 1** OpenHarmony driver classification +![](figure/openharmony-driver-classification.png "openharmony-driver-classification") The Hardware Driver Foundation \(HDF\) is designed to work across OSs. The HDF driver framework provides strong support for drivers to achieve this goal. During HDF driver development, you are advised to use only the APIs provided by the HDF driver framework. Otherwise, the driver cannot be used across OSs. Before driver development, familiarize yourself with the [HDF](../driver/driver-hdf-overview.md). diff --git a/en/device-dev/porting/porting-smallchip-driver-plat.md b/en/device-dev/porting/porting-smallchip-driver-plat.md index b6fd4a386b65c9f78d75123b48591a7d17bbaa84..fdfa493713515b07774f2b9ba0e1c6dfab300958 100644 --- a/en/device-dev/porting/porting-smallchip-driver-plat.md +++ b/en/device-dev/porting/porting-smallchip-driver-plat.md @@ -1,4 +1,4 @@ -# Platform Driver Porting +# Platform Driver Porting Create a platform driver in the source code directory **//device/vendor\_name/soc\_name/drivers**. If there is no repository for the vendor of your SoC, contact the [device SIG](https://gitee.com/openharmony/community/blob/master/sig/sig-devboard/sig_devboard.md) to create one. diff --git a/en/device-dev/porting/porting-smallchip-driver.md b/en/device-dev/porting/porting-smallchip-driver.md index 62033a430c23b438d4966b61ba2403254ed86169..57442da187da532394cd377020b4566e86727368 100644 --- a/en/device-dev/porting/porting-smallchip-driver.md +++ b/en/device-dev/porting/porting-smallchip-driver.md @@ -1,4 +1,4 @@ -# Driver Porting +# Driver Porting - **[Overview](porting-smallchip-driver-overview.md)** diff --git a/en/device-dev/porting/porting-smallchip-kernel-a.md b/en/device-dev/porting/porting-smallchip-kernel-a.md index 6248678a89d3462277941b6b6f2dc1c5f3bd9526..7d3eb312e585ebf2c5c103a2b6d0f97558905ab7 100644 --- a/en/device-dev/porting/porting-smallchip-kernel-a.md +++ b/en/device-dev/porting/porting-smallchip-kernel-a.md @@ -1,4 +1,4 @@ -# LiteOS Cortex-A +# LiteOS Cortex-A - [Overview](#section14876256185510) - [Porting Scenario](#section1986014410569) @@ -23,20 +23,20 @@ For details about the LiteOS Cortex-A directory specifications, see [LiteOS Cor LiteOS Cortex-A provides the system initialization process and custom configuration options required for system running. During porting, pay attention to the functions related to hardware configuration in the initialization process. -The LiteOS Cortex-A initialization process consists of five steps: +The LiteOS Cortex-A initialization process consists of seven steps: 1. Add the **target\_config.h** file and compile the macros **DDR\_MEM\_ADDR** and **DDR\_MEM\_SIZE**, which indicate the start address and length of the board memory, respectively. The prelinker script **board.ld.S** creates the linker script **board.ld** based on the two macros. -2. The kernel creates a kernel image based on the linker script **board.ld**. -3. Operations such as initialization of the interrupt vector table and MMU page table are performed in the assembly files: **reset\_vector\_up.S** and **reset\_vector\_mp.S**, from which a single-core CPU and a multi-core CPU start, respectively. -4. The assembly code in **reset\_vector.S** jumps to the **main** function of the C programming language to initialize the hardware clock, software timer, memory, and tasks. This process depends on the feature macro configuration in **target\_config.h** . The **SystemInit** task to be implemented in the board code is then created, and **OsSchedStart\(\)** is enabled for task scheduling. -5. The **DeviceManagerStart** function is called to initialize the HDF driver. This process is implemented by calling the driver configuration file **hdf.hcs** and driver source code in the board code. +2. Define **g\_archMmuInitMapping**, the global array of MMU mappings, to specify the memory segment attributes and the virtual-to-physical address mappings. The memory mapping will be established based on this array during kernel startup. +3. If there are multiple cores, define **struct SmpOps**, the handle to the slave core operation function. The **SmpOps-\>SmpCpuOn** function needs to implement the feature of waking up a slave core. Then, define the **SmpRegFunc** function and call the **LOS\_SmpOpsSet** interface to register the handle. The registration process is completed by starting the framework using **LOS\_MODULE\_INIT\(SmpRegFunc, LOS\_INIT\_LEVEL\_EARLIEST\)**. +4. Create a kernel image based on the linker script **board.ld**. +5. Perform operations such as initialization of the interrupt vector table and MMU page table are performed in the assembly files: **reset\_vector\_up.S** and **reset\_vector\_mp.S**, from which a single-core CPU and a multi-core CPU start, respectively. +6. Enable the assembly code in **reset\_vector.S** to jump to the **main** function of the C programming language to initialize the hardware clock, software timer, memory, and tasks. This process depends on the feature macro configuration in **target\_config.h**. Then, create the **SystemInit** task to be implemented in the board code, with **OsSchedStart\(\)** enabled for task scheduling. +7. Call the **DeviceManagerStart** function to initialize the HDF driver. This process is implemented by calling the driver configuration file **hdf.hcs** and drivers source code in the board code. -Below is the overall initialization process. +The figure below shows the overall initialization process. -**Figure 1** Overall initialization process - - -![](figure/en-us_image_0000001126358814.png) +**Figure 1** Overall initialization process +![](figure/overall-initialization-process.png "overall-initialization-process") As can be seen from preceding figure, kernel basic adaptation involves the following parts: @@ -114,25 +114,23 @@ As can be seen from preceding figure, kernel basic adaptation involves the follo -- Implementing the **SystemInit** function to initialize services in the user space. Figure 2 shows a typical initialization scenario. - - **Figure 1** Service startup process - +- Implementing the **SystemInit** function to initialize services in the user space. [\#EN-US\_TOPIC\_0000001200171989/fig15798236163510](#fig15798236163510) shows a typical initialization scenario. - ![](figure/en-us_image_0000001126198996.png) + **Figure 2** Service startup process + ![](figure/service-startup-process.png "service-startup-process") -- Implementing the **main** function for basic kernel initialization and initialization of services in the board kernel space. Figure 3 shows the initialization process, where the kernel startup framework takes the lead in the initialization process. The light blue part in the figure indicates the phase in which external modules can be registered and started in the startup framework. +- Implementing the **main** function for basic kernel initialization and initialization of services in the board kernel space. [Figure 3](#fig32611728133919) shows the initialization process, where the kernel startup framework takes the lead in the initialization process. The light blue part in the figure indicates the phase in which external modules can be registered and started in the startup framework. >![](../public_sys-resources/icon-caution.gif) **CAUTION:** >Modules at the same layer cannot depend on each other. - **Figure 2** Kernel startup framework + **Figure 3** Kernel startup framework ![](figure/kernel-startup-framework.jpg "kernel-startup-framework") **Table 2** Startup framework layers - - @@ -43,36 +46,37 @@ DevEco Device Tool is a plug-in for Visual Studio Code. The installation procedu - - - - - - - - @@ -86,24 +90,23 @@ DevEco Device Tool is a plug-in for Visual Studio Code. The installation procedu 1. Double-click the Visual Studio Code package to install it. During the installation, select **Add to PATH \(requires shell restart\)**. - ![](figure/en-us_image_0000001174350653.png) + ![](figure/installing-visual-studio-code.png) -2. After the installation is complete, restart the computer for the environment variables of Visual Studio Code to take effect. -3. Open the CLT and run **code --version**. If the version number can be displayed, it indicates that the installation is successful. +2. After the installation is complete, open the CLT and run **code --version**. If the version number can be displayed, it indicates that the installation is successful. ## Installing Python 1. Double-click the Python software package, select **Add Python 3.8 to PATH**, and click **Install Now**. - ![](figure/en-us_image_0000001128470908.png) + ![](figure/installing-python.png) 2. After the installation is complete, click **Close**. - ![](figure/en-us_image_0000001128311104.png) + ![](figure/setup-was-successful.png) 3. Open the CLT, and run **python --version** to check the installation result. - ![](figure/en-us_image_0000001174350655.png) + ![](figure/checking-the-installation-result.png) 4. In the CLT, run the following commands to set the pip source for downloading the dependencies required for later installation: @@ -122,17 +125,14 @@ DevEco Device Tool is a plug-in for Visual Studio Code. The installation procedu 1. Run the downloaded software package to install. Use the default settings when following the installation wizard, and click **Next** until **Finish** is displayed. During the installation, Node.js will automatically set the system Path environment variable to the installation directory of **node.exe**. 2. Open the CLT and run **node -v**. If the version number of Node.js is displayed, it indicates that Node.js has been successfully installed. - ![](figure/en-us_image_0000001128311096.png) - - -## Installing hpm +## Installing HPM -Before installing hpm, ensure that Node.js has been installed +Before installing HPM, ensure that Node.js has been installed and that your network can access the Internet. If your network requires a proxy to access the Internet, [set up the npm proxy](https://device.harmonyos.com/en/docs/ide/user-guides/npm_proxy-0000001054491032) first. >![](../public_sys-resources/icon-note.gif) **NOTE:** ->If hpm has been installed, run **npm update -g @ohos/hpm-cli** to update it to the latest version. +>If HPM has been installed, run **npm update -g @ohos/hpm-cli** to update it to the latest version. 1. You are advised to set the npm source to an image in China, for example, a HUAWEI CLOUD image source. @@ -140,13 +140,13 @@ and that your network can access the Internet. If your network requires a proxy npm config set registry https://repo.huaweicloud.com/repository/npm/ ``` -2. Open the CLT and run the following command to install the latest version of hpm: +2. Open the CLT and run the following command to install the latest version of HPM: ``` npm install -g @ohos/hpm-cli ``` - ![](figure/en-us_image_0000001128311100.png) + ![](figure/hpm-version.png) 3. After the installation is complete, run the following command to obtain the installation result: @@ -154,12 +154,10 @@ and that your network can access the Internet. If your network requires a proxy hpm -V ``` - ![](figure/en-us_image_0000001174270735.png) - ## Installing the DevEco Device Tool Plug-in -To install the DevEco Device Tool plug-in, ensure that the **user name of the host cannot contain Chinese characters**; otherwise, the plug-in may fail to run. +Before installing DevEco Device Tool, make sure the user name of the host does not contain Chinese characters. Otherwise, the **DevEco Home** page will be stuck loading and the DevEco Device Tool cannot work. DevEco Device Tool will automatically download and install the C/C++ and CodeLLDB plug-ins from the Visual Studio Code Marketplace during the installation process. Therefore, make sure Visual Studio Code can access the Internet. If your network requires a proxy to access the Internet, [set up the Visual Studio Code proxy](https://device.harmonyos.com/en/docs/ide/user-guides/vscode_proxy-0000001074231144) first. @@ -167,16 +165,26 @@ DevEco Device Tool will automatically download and install the C/C++ and CodeLLD >Before installing DevEco Device Tool, ensure that Visual Studio Code is closed. 1. Decompress the DevEco Device Tool plug-in package and double-click the installer to install. -2. During the installation, the dependency files \(such as C/C++ and CodeLLDB plug-ins\) and execution programs required by DevEco Device Tool are automatically installed. +2. DevEco Device Tool checks whether the toolkit on which the installation depends meets the requirements. If the requirements are not met, follow the preceding installation instructions in this section. + + >![](../public_sys-resources/icon-note.gif) **NOTE:** + >If Visual Studio Code has been installed but fails to be detected, restart your computer. + + ![](figure/installing-the-deveco-device-tool.png) + +3. Click **Install**. + + ![](figure/install.png) + +4. After the installation is complete, click **Close**. - ![](figure/en-us_image_0000001128470902.png) + ![](figure/installation-complete.png) -3. After the installation is complete, the CLT is automatically closed. -4. Open Visual Studio Code, click the ![](figure/en-us_image_0000001174350651.png) button on the left, and check whether C/C++, CodeLLDB, and DevEco Device Tool are listed in **INSTALLED**. +5. 启动Visual Studio Code,会自动安装DevEco Device Tool依赖的C/C++、CodeLLDB插件。等待安装完成后,点击Visual Studio Code左侧的![](figure/button.png)按钮,检查INSTALLED中,是否已成功安装C/C++、CodeLLDB和DevEco Device Tool。 >![](../public_sys-resources/icon-note.gif) **NOTE:** >If the C/C++ and CodeLLDB plug-ins fail to be installed, DevEco Device Tool cannot run properly. To solve the issue, see [Installing the C/C++ and CodeLLDB Plug-ins Offline](https://device.harmonyos.com/en/docs/ide/user-guides/offline_plugin_install-0000001074376846). - ![](figure/en-us_image_0000001174270727.png) + ![](figure/visual-studio-code.png) diff --git a/en/device-dev/quick-start/quickstart-lite-env-setup.md b/en/device-dev/quick-start/quickstart-lite-env-setup.md index ae5573f8c093656b5b2dc1f91dc80ee5e9e7c4bf..d081b52d6f95bcfc5f8b79b5ae0e132560a575ab 100644 --- a/en/device-dev/quick-start/quickstart-lite-env-setup.md +++ b/en/device-dev/quick-start/quickstart-lite-env-setup.md @@ -1,11 +1,11 @@ # Environment Setup -- **[Overview](quickstart-lite-env-setup-des.md)** +- **[Overview](quickstart-lite-env-setup-overview.md)** -- **[Windows Development Environment](quickstart-lite-env-setup-win.md)** +- **[Setting Up Windows Development Environment](quickstart-lite-env-setup-windows.md)** -- **[Ubuntu Build Environment](quickstart-lite-env-setup-lin.md)** +- **[Setting Up Ubuntu Development Environment](quickstart-lite-env-setup-linux.md)** -- **[FAQ](quickstart-lite-env-setup-faqs.md)** +- **[FAQs](quickstart-lite-env-setup-faqs.md)** diff --git a/en/device-dev/quick-start/quickstart-lite-introduction.md b/en/device-dev/quick-start/quickstart-lite-introduction.md index 39c2b6911dc8f1b529884b5b5e457c6e01e65c62..4dfb38f660d0db1e4a9eca69c5e731b86fd6dd73 100644 --- a/en/device-dev/quick-start/quickstart-lite-introduction.md +++ b/en/device-dev/quick-start/quickstart-lite-introduction.md @@ -1,9 +1,9 @@ -# Introduction to the Development Boards +# Introduction -- **[Hi3861 Development Board](quickstart-lite-introduction-hi3861.md)** +- **[Hi3861 Development Board](oem_minitinier_des_3861.md)** -- **[Hi3516 Development Board](quickstart-lite-introduction-hi3516.md)** +- **[Hi3516 Development Board](oem_minitinier_des_3516.md)** -- **[Hi3518 Development Board](quickstart-lite-introduction-hi3518.md)** +- **[Hi3518 Development Board](oem_minitinier_des_3518.md)** diff --git a/en/device-dev/quick-start/quickstart-lite-steps-board3516.md b/en/device-dev/quick-start/quickstart-lite-steps-board3516.md deleted file mode 100644 index 97db943fc49eedc60d2a1409ed319390b0df9624..0000000000000000000000000000000000000000 --- a/en/device-dev/quick-start/quickstart-lite-steps-board3516.md +++ /dev/null @@ -1,11 +0,0 @@ -# Hi3516 - -- **[Setting Up the Environment](quickstart-lite-steps-board3516-setting.md)** - -- **[Running a Hello OHOS Program](quickstart-lite-steps-board3516-running.md)** - -- **[Developing a Driver](quickstart-lite-steps-board3516-program.md)** - -- **[FAQs](quickstart-lite-steps-board3516-faqs.md)** - - diff --git a/en/device-dev/quick-start/quickstart-lite-steps-board3518.md b/en/device-dev/quick-start/quickstart-lite-steps-board3518.md deleted file mode 100644 index e9f239a0ee8bcf928fe46dc35ba11fb2a48b31e1..0000000000000000000000000000000000000000 --- a/en/device-dev/quick-start/quickstart-lite-steps-board3518.md +++ /dev/null @@ -1,9 +0,0 @@ -# Hi3518 - -- **[Setting Up the Environment](quickstart-lite-steps-board3518-setting.md)** - -- **[Running a Hello OHOS Program](quickstart-lite-steps-board3518-running.md)** - -- **[FAQs](quickstart-lite-steps-board3518-faqs.md)** - - diff --git a/en/device-dev/quick-start/quickstart-lite-steps-board3861.md b/en/device-dev/quick-start/quickstart-lite-steps-board3861.md deleted file mode 100644 index a0b8821b092c2b1e524a1f027c82eede39f8627b..0000000000000000000000000000000000000000 --- a/en/device-dev/quick-start/quickstart-lite-steps-board3861.md +++ /dev/null @@ -1,11 +0,0 @@ -# Hi3861 - -- **[Setting Up the Environment](quickstart-lite-steps-board3861-setting.md)** - -- **[WLAN Connection](quickstart-lite-steps-board3861-connection.md)** - -- **[Running a Hello World Program](quickstart-lite-steps-board3861-running.md)** - -- **[FAQs](quickstart-lite-steps-board3861-faqs.md)** - - diff --git a/en/device-dev/quick-start/quickstart-lite-steps-board3516-faqs.md b/en/device-dev/quick-start/quickstart-lite-steps-hi3516-faqs.md similarity index 81% rename from en/device-dev/quick-start/quickstart-lite-steps-board3516-faqs.md rename to en/device-dev/quick-start/quickstart-lite-steps-hi3516-faqs.md index 8c597eeca8ee9b47ac9e7592e9d7846111f4e5b1..deeb9226580b909c8872ef16250f46ae7a649b58 100644 --- a/en/device-dev/quick-start/quickstart-lite-steps-board3516-faqs.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-hi3516-faqs.md @@ -12,7 +12,7 @@ **Error: Opening COMxx: Access denied** is displayed after clicking **Burn** and selecting a serial port. - **Figure 1** Failed to open the serial port + **Figure 1** Failed to open the serial port ![](figure/failed-to-open-the-serial-port.png "failed-to-open-the-serial-port") - **Possible Causes** @@ -23,20 +23,18 @@ 1. Search for the terminal using serial-xx from the drop-down list in the **TERMINAL** panel. - **Figure 2** Checking whether the serial port is used + **Figure 2** Checking whether the serial port is used ![](figure/checking-whether-the-serial-port-is-used.png "checking-whether-the-serial-port-is-used") 2. Click the dustbin icon as shown in the following figure to disable the terminal using the serial port. - **Figure 3** Disabling the terminal using the serial port + **Figure 3** Disabling the terminal using the serial port ![](figure/disabling-the-terminal-using-the-serial-port.png "disabling-the-terminal-using-the-serial-port") 3. Click **Burn**, select the serial port, and start burning images again. - **Figure 4** Restarting burning - - - ![](figure/changjian1.png) + **Figure 4** Restarting burning + ![](figure/restarting-burning.png "restarting-burning") ## What should I do when Windows-based PC failed to be connected to the board? @@ -45,7 +43,7 @@ The file image cannot be obtained after clicking **Burn** and selecting a serial port. - **Figure 5** Failed to obtain the image file due to unavailable connection + **Figure 5** Failed to obtain the image file due to unavailable connection ![](figure/failed-to-obtain-the-image-file-due-to-unavailable-connection.png "failed-to-obtain-the-image-file-due-to-unavailable-connection") - **Possible Causes** @@ -59,22 +57,22 @@ 1. Check whether the network cable is properly connected. 2. Click **Windows Firewall**. - **Figure 6** Network and firewall setting + **Figure 6** Network and firewall setting ![](figure/network-and-firewall-setting.png "network-and-firewall-setting") 3. Click **Firewall & network protection**, and on the displayed page, click **Allow applications to communicate through Windows Firewall**. - **Figure 7** Firewall and network protection + **Figure 7** Firewall and network protection ![](figure/firewall-and-network-protection.png "firewall-and-network-protection") 4. Select the Visual Studio Code application. - **Figure 8** Selecting the Visual Studio Code application + **Figure 8** Selecting the Visual Studio Code application ![](figure/selecting-the-visual-studio-code-application.png "selecting-the-visual-studio-code-application") 5. Select the **Private** and **Public** network access rights for the Visual Studio Code application. - **Figure 9** Allowing the Visual Studio Code application to access the network + **Figure 9** Allowing the Visual Studio Code application to access the network ![](figure/allowing-the-visual-studio-code-application-to-access-the-network.png "allowing-the-visual-studio-code-application-to-access-the-network") @@ -97,17 +95,17 @@ - **Symptom** - ![](figure/en-us_image_0000001174270715.png) + ![](figure/symptom.png) - **Possible Cause 1**: Python is not installed. - **Solutions** - Install Python by referring to [Installing and Configuring Python](quickstart-lite-env-setup-lin.md). + Install Python as instructed in [Installing and Configuring Python](quickstart-lite-env-setup-linux.md#section1238412211211). - **Possible Cause 2**: The soft link that points to the Python does not exist in the usr/bin directory. - ![](figure/en-us_image_0000001128470880.png) + ![](figure/reason-for-not-finding-python.png) - **Solutions** @@ -122,7 +120,7 @@ Example: - ![](figure/en-us_image_0000001174270713.png) + ![](figure/solution-7.png) ## What should I do when no command output is displayed? @@ -144,29 +142,29 @@ - **Possible Cause 2** - The U-boot of the board is damaged. + The U-Boot of the board is damaged. - **Solutions** - Burn the U-boot. + Burn the U-Boot. - If the fault persists after you perform the preceding operations, the U-boot of the board may be damaged. You can burn the U-boot by performing the following steps: + If the fault persists after you perform the preceding operations, the U-Boot of the board may be damaged. You can burn the U-Boot by performing the following steps: -1. Obtain the U-boot file. +1. Obtain the U-Boot file. >![](../public_sys-resources/icon-notice.gif) **NOTICE:** - >The U-boot file of the two boards can be obtained from the following paths, respectively. + >The U-Boot file of the two boards can be obtained from the following paths, respectively. >Hi3516D V300: **device\\hisilicon\\hispark\_taurus\\sdk\_liteos\\uboot\\out\\boot\\u-boot-hi3516dv300.bin** >Hi3518E V300: **device\\hisilicon\\hispark\_aries\\sdk\_liteos\\uboot\\out\\boot\\u-boot-hi3518ev300.bin** -2. Burn the U-boot file by following the procedures for burning a U-boot file over USB. +2. Burn the U-Boot file by following the procedures for burning a U-Boot file over USB. - Select the U-boot files of corresponding development boards for burning by referring to [Programming Flash Memory on the Hi3516](https://device.harmonyos.com/en/docs/ide/user-guides/hi3516_upload-0000001052148681)/[Programming Flash Memory on the Hi3518](https://device.harmonyos.com/en/docs/ide/user-guides/hi3518_upload-0000001057313128) + Select the U-Boot files of corresponding development boards for burning by referring to [Programming Flash Memory on the Hi3516](https://device.harmonyos.com/en/docs/ide/user-guides/hi3516_upload-0000001052148681)/[Programming Flash Memory on the Hi3518](https://device.harmonyos.com/en/docs/ide/user-guides/hi3518_upload-0000001057313128) 3. Log in to the serial port after the burning is complete. - **Figure 10** Serial port displayed after the U-boot is burnt + **Figure 10** Serial port displayed after the U-Boot is burnt ![](figure/serial-port-displayed-after-the-u-boot-is-burnt.png "serial-port-displayed-after-the-u-boot-is-burnt") diff --git a/en/device-dev/quick-start/quickstart-lite-steps-board3516-program.md b/en/device-dev/quick-start/quickstart-lite-steps-hi3516-program.md similarity index 95% rename from en/device-dev/quick-start/quickstart-lite-steps-board3516-program.md rename to en/device-dev/quick-start/quickstart-lite-steps-hi3516-program.md index e541eb5237923c4715d3a4b16249360a1d06a9c3..b9b82fdab933ec95f6bc88cfc7f3375130d0d43a 100644 --- a/en/device-dev/quick-start/quickstart-lite-steps-board3516-program.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-hi3516-program.md @@ -1,7 +1,7 @@ # Developing a Driver - [Introduction to Driver](#s8efc1952ebfe4d1ea717182e108c29bb) -- [Compiling and Burning](#section660016185110) +- [Building Source Code and Burning Images](#section660016185110) - [Running an Image](#section333215226219) - [Follow-up Learning](#section9712145420182) @@ -421,25 +421,23 @@ The following operations take a HDF-based UART driver as an example to show how >The sample code is not automatically compiled by default. You can add it to the compilation script. -## Compiling and Burning +## Building Source Code and Burning Images -Perform the [building](quickstart-lite-steps-board3516-running.md#section1077671315253) and [burning](quickstart-lite-steps-board3516-running.md#section1347011412201) as instructed in **Running a Hello OHOS Program**. +Perform the [building](quickstart-lite-steps-hi3516-running.md#section1077671315253) and [burning](quickstart-lite-steps-hi3516-running.md#section1347011412201) as instructed in **Running a Hello OHOS Program**. ## Running an Image 1. Connect to a serial port. >![](../public_sys-resources/icon-notice.gif) **NOTICE:** - >If the connection fails, rectify the fault by referring to [FAQs](quickstart-lite-steps-board3516-faqs.md). + >If the connection fails, rectify the fault by referring to [FAQs](quickstart-lite-steps-hi3516-faqs.md#section14871149155911). - **Figure 1** Serial port connection - - - ![](figure/chuankou1.png) + **Figure 1** Serial port connection + ![](figure/serial-port-connection-5.png "serial-port-connection-5") 1. Click **Monitor** to enable the serial port. 2. Press **Enter** repeatedly until **hisilicon** displays. - 3. Go to [2](quickstart-lite-steps-board3516-running.md#l5b42e79a33ea4d35982b78a22913b0b1) if the board is started for the first time or the startup parameters need to be modified; go to [3](quickstart-lite-steps-board3516-running.md#ld26f18828aa44c36bfa36be150e60e49) otherwise. + 3. Go to step [2](quickstart-lite-steps-hi3516-running.md#l5b42e79a33ea4d35982b78a22913b0b1) if the board is started for the first time or the startup parameters need to be modified; go to step [3](quickstart-lite-steps-hi3516-running.md#ld26f18828aa44c36bfa36be150e60e49) otherwise. 2. \(Mandatory when the board is started for the first time\) Modify the **bootcmd** and **bootargs** parameters of U-Boot. You need to perform this step only once if the parameters need not to be modified during the operation. The board automatically starts after it is reset. @@ -484,10 +482,8 @@ Perform the [building](quickstart-lite-steps-board3516-running.md#section107767 3. Run the **reset** command and press **Enter** to restart the board. After the board is restarted, **OHOS** is displayed when you press **Enter**. - **Figure 2** System startup - - - ![](figure/qi1.png) + **Figure 2** System startup + ![](figure/system-startup-6.png "system-startup-6") 4. In the root directory, run the **./bin/hello\_uart** command line to execute the demo program. The compilation result is shown in the following example. @@ -499,5 +495,5 @@ Perform the [building](quickstart-lite-steps-board3516-running.md#section107767 ## Follow-up Learning -Congratulations! You have finished all steps! You are advised to go on learning how to develop [Cameras with a Screen](../guide/device-camera.md). +Congratulations! You have finished all steps! You are advised to go on learning how to develop [Cameras with a Screen](../guide/device-iotcamera.md). diff --git a/en/device-dev/quick-start/quickstart-lite-steps-board3516-running.md b/en/device-dev/quick-start/quickstart-lite-steps-hi3516-running.md similarity index 88% rename from en/device-dev/quick-start/quickstart-lite-steps-board3516-running.md rename to en/device-dev/quick-start/quickstart-lite-steps-hi3516-running.md index 9b33afae1965ec4b0dd056280dab5eaf24deffc1..e3d75a0b10a0877b12be269e21116d454f8986e0 100644 --- a/en/device-dev/quick-start/quickstart-lite-steps-board3516-running.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-hi3516-running.md @@ -3,6 +3,8 @@ - [Creating a Program](#section204672145202) - [Building](#section1077671315253) - [Burning](#section1347011412201) + - [Programming Flash Memory Through the Network Port](#section1935410617363) + - [Running an Image](#section24721014162010) - [Running a Program](#section5276734182615) @@ -129,7 +131,7 @@ This section describes how to create, compile, burn, and run the first program, ## Building -If the Linux environment is installed using Docker, perform the building by referring to [Using Docker to Prepare the Build Environment](../get-code/gettools-acquire.md). If the Linux environment is installed using a software package, go to the root directory of the source code and run the following commands for source code compilation: +If the Linux environment is installed using Docker, perform the building by referring to [Using Docker to Prepare the Build Environment](../get-code/gettools-acquire.md#section107932281315). If the Linux environment is installed using a software package, go to the root directory of the source code and run the following commands for source code compilation: ``` hb set (Set the building path.) @@ -138,7 +140,7 @@ Select ipcamera_hispark_taurus@hisilicon and press Enter. hb build -f (Start building.) ``` -**Figure 1** Settings +**Figure 1** Settings ![](figure/settings.png "settings") The result files are generated in the **out/hispark\_taurus/ipcamera\_hispark\_taurus** directory. @@ -150,49 +152,53 @@ The result files are generated in the **out/hispark\_taurus/ipcamera\_hispark\_ The Hi3516 development board allows you to burn flash memory over the USB port, serial port, or network port. The following uses the network port burning as an example. -1. Connect the PC and the target development board through the power port, serial port, and network port. In this section, the Hi3516DV300 is used as an example. For details, please refer to [Introduction to the Hi3516 Development Board](quickstart-lite-introduction-hi3516.md). +### Programming Flash Memory Through the Network Port + +To program flash memory through the network port in the Windows or Linux environment: + +1. Connect the PC and the target development board through the serial port, network port, and power port. For details, see [Introduction to the Hi3516 Development Board](https://device.harmonyos.com/en/docs/start/introduce/oem_minitinier_des_3516-0000001152041033). 2. Open Device Manager, then check and record the serial port number corresponding to the development board. >![](../public_sys-resources/icon-note.gif) **NOTE:** >If the serial port number is not displayed correctly, follow the steps described in [Installing the Serial Port Driver on the Hi3516 or Hi3518 Series Development Boards](https://device.harmonyos.com/en/docs/ide/user-guides/hi3516_hi3518-drivers-0000001050743695). - ![](figure/en-us_image_0000001174350647.png) + ![](figure/record-the-serial-port-number-1.png) 3. Open DevEco Device Tool and go to **Projects** \> **Settings**. - ![](figure/2021-01-27_170334.png) + ![](figure/settings-2.png) 4. On the **Partition Configuration** tab page, modify the settings. In general cases, you can leave the fields at their default settings. -5. On the **hi3516dv300** tab page, set the programming options. +5. On the **hi3516dv300** tab page, configure the programming options. - - **upload\_port**: Select the serial port number obtained in [2](#en-us_topic_0000001056443961_li142386399535). + - **upload\_port**: Select the serial port number obtained in step [2](#en-us_topic_0000001056443961_li142386399535). - **upload\_protocol**: Select the programming protocol **hiburn-net**. - **upload\_partitions**: Select the file to be programmed. By default, the **fastboot**, **kernel**, **rootfs**, and **userfs** files are programmed at the same time. - ![](figure/en-us_image_0000001128470904.png) + ![](figure/hi3516-upload-options.png) 6. Check and set the IP address of the network adapter connected to the development board. For details, see [Setting the IP Address of the Network Port for Programming on Hi3516](https://device.harmonyos.com/en/docs/ide/user-guides/set_ipaddress-0000001141825075). 7. Set the IP address of the network port for programming: - - **upload\_net\_server\_ip**: Select the IP address set in [6](#en-us_topic_0000001056443961_li1558813168234). Example: 192.168.1.2. - - **upload\_net\_client\_mask**: Set the subnet mask of the development board, such as 255.255.255.0. Once the **upload\_net\_server\_ip** field is set, this field will be automatically populated. Example: 255.255.255.0. - - **upload\_net\_client\_gw**: Set the gateway of the development board, such as 192.168.1.1. Once the **upload\_net\_server\_ip** field is set, this field will be automatically populated. Example: 192.168.1.1. - - **upload\_net\_client\_ip**: Set the IP address of the development board, such as 192.168.1.3. Once the **upload\_net\_server\_ip** field is set, this field will be automatically populated. Example: 192.168.1.3. + - **upload\_net\_server\_ip**: Select the IP address set in step [6](#en-us_topic_0000001056443961_li1558813168234), such as 192.168.1.2. + - **upload\_net\_client\_mask**: Set the subnet mask of the development board, such as 255.255.255.0. Once the **upload\_net\_server\_ip** field is set, this field will be automatically populated. + - **upload\_net\_client\_gw**: Set the gateway of the development board, such as 192.168.1.1. Once the **upload\_net\_server\_ip** field is set, this field will be automatically populated. + - **upload\_net\_client\_ip**: Set the IP address of the development board, such as 192.168.1.3. Once the **upload\_net\_server\_ip** field is set, this field will be automatically populated. - ![](figure/en-us_image_0000001174270733.png) + ![](figure/ip-address-information.png) 8. When you finish modifying, click **Save** in the upper right corner. -9. Open the project file and click ![](figure/2021-01-27_170334-2.png). In the DevEco Device Tool window, choose **PROJECT TASKS** \> **hi3516dv300** \> **Upload** to start programming. +9. Open the project file and go to ![](figure/deveco-device-tool-logo.png) \> **PROJECT TASKS** \> **hi3516dv300** \> **Upload** to start programming. - ![](figure/en-us_image_0000001174270729.png) + ![](figure/start-burning.png) 10. When the following message is displayed, power off the development board and then power it on. - ![](figure/en-us_image_0000001128470906.png) + ![](figure/restart-the-development-board-3.png) -11. Start burning. When the following message is displayed, the burning is successful. +11. Start programming. If the following message is displayed, it indicates that the programming is successful. - ![](figure/en-us_image_0000001128311098.png) + ![](figure/burning-succeeded-4.png) ## Running an Image @@ -200,12 +206,10 @@ The Hi3516 development board allows you to burn flash memory over the USB port, 1. Connect to a serial port. >![](../public_sys-resources/icon-notice.gif) **NOTICE:** - >If the connection fails, rectify the fault by referring to [FAQs](quickstart-lite-steps-board3516-faqs.md). + >If the connection fails, rectify the fault by referring to [FAQs](quickstart-lite-steps-hi3516-faqs.md). - **Figure 2** Serial port connection - - - ![](figure/chuankou1.png) + **Figure 2** Serial port connection + ![](figure/serial-port-connection.png "serial-port-connection") 1. Click **Monitor** to enable the serial port. 2. Press **Enter** repeatedly until **hisilicon** displays. @@ -254,16 +258,14 @@ The Hi3516 development board allows you to burn flash memory over the USB port, 3. Run the **reset** command and press **Enter** to restart the board. After the board is restarted, **OHOS** is displayed when you press **Enter**. - **Figure 3** System startup - - - ![](figure/qi1.png) + **Figure 3** System startup + ![](figure/system-startup.png "system-startup") ## Running a Program In the root directory, run the **./bin/helloworld** command to operate the demo program. The compilation result is shown in the following example. -**Figure 4** Successful system startup and program execution +**Figure 4** Successful system startup and program execution ![](figure/successful-system-startup-and-program-execution.png "successful-system-startup-and-program-execution") diff --git a/en/device-dev/quick-start/quickstart-lite-steps-board3516-setting.md b/en/device-dev/quick-start/quickstart-lite-steps-hi3516-setting.md similarity index 96% rename from en/device-dev/quick-start/quickstart-lite-steps-board3516-setting.md rename to en/device-dev/quick-start/quickstart-lite-steps-hi3516-setting.md index bb8595701a4f83270ac876a83f2846ce51d3e863..1f64423bc409cdeb956ced2ebd2a6a1a985d276f 100644 --- a/en/device-dev/quick-start/quickstart-lite-steps-board3516-setting.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-hi3516-setting.md @@ -19,10 +19,8 @@ The following figure shows the hardware connections. -**Figure 1** Hardware connections - - -![](figure/矩形备份-292.png) +**Figure 1** Hardware connections +![](figure/hardware-connections-0.png "hardware-connections-0") ### Software @@ -76,7 +74,7 @@ The following table describes the tools required for setting up the general envi ## Installing Linux Build Tools >![](../public_sys-resources/icon-notice.gif) **NOTICE:** ->- If you acquire the source code using an HPM component or HPM CLI tool, you do not need to install compilation tools like **LLVM** and **hc-gen**. +>- If you acquire the source code using an HPM component or HPM CLI tool, you do not need to install **hc-gen**. >- \(Recommended\) If you obtain the source code via the mirror site or code repository, install **hc-gen**. When installing the compilation tool, ensure that its environment variable path is unique. ### Changing Linux Shell to Bash diff --git a/en/device-dev/quick-start/quickstart-lite-steps-hi3516.md b/en/device-dev/quick-start/quickstart-lite-steps-hi3516.md new file mode 100644 index 0000000000000000000000000000000000000000..182823260b644009a75d7b1391f51ea9a7635923 --- /dev/null +++ b/en/device-dev/quick-start/quickstart-lite-steps-hi3516.md @@ -0,0 +1,11 @@ +# Hi3516 + +- **[Setting Up the Environment](quickstart-lite-steps-hi3516-setting.md)** + +- **[Running a Hello OHOS Program](quickstart-lite-steps-hi3516-running.md)** + +- **[Developing a Driver](quickstart-lite-steps-hi3516-program.md)** + +- **[FAQs](quickstart-lite-steps-hi3516-faqs.md)** + + diff --git a/en/device-dev/quick-start/quickstart-lite-steps-board3518-faqs.md b/en/device-dev/quick-start/quickstart-lite-steps-hi3518-faqs.md similarity index 70% rename from en/device-dev/quick-start/quickstart-lite-steps-board3518-faqs.md rename to en/device-dev/quick-start/quickstart-lite-steps-hi3518-faqs.md index 384eac7cdccbc83828ce8259efcafad4fb29cc3d..5a8cee73c5fc04a0a390d534672ebfbe4c4c589d 100644 --- a/en/device-dev/quick-start/quickstart-lite-steps-board3518-faqs.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-hi3518-faqs.md @@ -13,7 +13,7 @@ **Error: Opening COMxx: Access denied** is displayed after clicking **Burn** and selecting a serial port. **Figure 1** Failed to open the serial port - ![](figure/failed-to-open-the-serial-port-8.png "failed-to-open-the-serial-port-8") + ![](figure/failed-to-open-the-serial-port-17.png "failed-to-open-the-serial-port-17") - **Possible Causes** @@ -24,19 +24,17 @@ 1. Search for the terminal using serial-xx from the drop-down list in the **TERMINAL** panel. **Figure 2** Checking whether the serial port is used - ![](figure/checking-whether-the-serial-port-is-used-9.png "checking-whether-the-serial-port-is-used-9") + ![](figure/checking-whether-the-serial-port-is-used-18.png "checking-whether-the-serial-port-is-used-18") 2. Click the dustbin icon as shown in the following figure to disable the terminal using the serial port. **Figure 3** Disabling the terminal using the serial port - ![](figure/disabling-the-terminal-using-the-serial-port-10.png "disabling-the-terminal-using-the-serial-port-10") + ![](figure/disabling-the-terminal-using-the-serial-port-19.png "disabling-the-terminal-using-the-serial-port-19") 3. Click **Burn**, select the serial port, and start burning images again. - **Figure 4** Restarting burning - - - ![](figure/changjian1-11.png) + **Figure 4** Restarting burning + ![](figure/restarting-burning-20.png "restarting-burning-20") ## What should I do when Windows-based PC failed to be connected to the board? @@ -46,7 +44,7 @@ The file image cannot be obtained after clicking **Burn** and selecting a serial port. **Figure 5** Failed to obtain the image file due to unavailable connection - ![](figure/failed-to-obtain-the-image-file-due-to-unavailable-connection-12.png "failed-to-obtain-the-image-file-due-to-unavailable-connection-12") + ![](figure/failed-to-obtain-the-image-file-due-to-unavailable-connection-21.png "failed-to-obtain-the-image-file-due-to-unavailable-connection-21") - **Possible Causes** @@ -59,23 +57,23 @@ 1. Check whether the network cable is properly connected. 2. Click **Windows Firewall**. - **Figure 6** Network and firewall setting - ![](figure/network-and-firewall-setting-13.png "network-and-firewall-setting-13") + **Figure 6** Network and firewall setting + ![](figure/network-and-firewall-setting-22.png "network-and-firewall-setting-22") 3. Click **Firewall & network protection**, and on the displayed page, click **Allow applications to communicate through Windows Firewall**. - **Figure 7** Firewall and network protection - ![](figure/firewall-and-network-protection-14.png "firewall-and-network-protection-14") + **Figure 7** Firewall and network protection + ![](figure/firewall-and-network-protection-23.png "firewall-and-network-protection-23") 4. Select the Visual Studio Code application. - **Figure 8** Selecting the Visual Studio Code application - ![](figure/selecting-the-visual-studio-code-application-15.png "selecting-the-visual-studio-code-application-15") + **Figure 8** Selecting the Visual Studio Code application + ![](figure/selecting-the-visual-studio-code-application-24.png "selecting-the-visual-studio-code-application-24") 5. Select the **Private** and **Public** network access rights for the Visual Studio Code application. - **Figure 9** Allowing the Visual Studio Code application to access the network - ![](figure/allowing-the-visual-studio-code-application-to-access-the-network-16.png "allowing-the-visual-studio-code-application-to-access-the-network-16") + **Figure 9** Allowing the Visual Studio Code application to access the network + ![](figure/allowing-the-visual-studio-code-application-to-access-the-network-25.png "allowing-the-visual-studio-code-application-to-access-the-network-25") ## What should I do when the image failed to be burnt? @@ -97,7 +95,7 @@ - **Symptom** - ![](figure/en-us_image_0000001174270743.png) + ![](figure/error.png) - **Possible Cause 1** @@ -106,11 +104,11 @@ - **Solutions** - Install Python by referring to [Installing and Configuring Python](quickstart-lite-env-setup-lin.md). + Install Python as instructed in [Installing and Configuring Python](quickstart-lite-env-setup-linux.md#section1238412211211). - **Possible Cause 2**: The soft link that points to the Python does not exist in the usr/bin directory. - ![](figure/en-us_image_0000001174270739.png) + ![](figure/error2.png) - **Solutions** @@ -125,7 +123,7 @@ Example: - ![](figure/en-us_image_0000001174350661.png) + ![](figure/solution-26.png) ## What should I do when no command output is displayed? @@ -142,33 +140,33 @@ Change the serial port number. - Start **Device Manager** to check whether the serial port connected to the board is the same as that connected to the terminal device. If the serial ports are different, perform step [1](quickstart-lite-steps-board3518-running.md) in the **Running an Image** section to change the serial port number. + Start **Device Manager** to check whether the serial port connected to the board is the same as that connected to the terminal device. If the serial ports are different, perform step [1](#section1498892119619) in the **Running an Image** section to change the serial port number. - **Possible Cause 2** - The U-boot of the board is damaged. + The U-Boot of the board is damaged. - **Solutions** - Burn the U-boot. + Burn the U-Boot. - If the fault persists after you perform the preceding operations, the U-boot of the board may be damaged. You can burn the U-boot by performing the following steps: + If the fault persists after you perform the preceding operations, the U-Boot of the board may be damaged. You can burn the U-Boot by performing the following steps: -1. Obtain the U-boot file. +1. Obtain the U-Boot file. >![](../public_sys-resources/icon-notice.gif) **NOTICE:** - >The U-boot file of the two boards can be obtained from the following paths, respectively. + >The U-Boot file of the two boards can be obtained from the following paths, respectively. >Hi3516D V300: **device\\hisilicon\\hispark\_taurus\\sdk\_liteos\\uboot\\out\\boot\\u-boot-hi3516dv300.bin** >Hi3518E V300: **device\\hisilicon\\hispark\_aries\\sdk\_liteos\\uboot\\out\\boot\\u-boot-hi3518ev300.bin** -2. Burn the U-boot file by following the procedures for burning a U-boot file over USB. +2. Burn the U-Boot file by following the procedures for burning a U-Boot file over USB. - Select the U-boot files of corresponding development boards for burning by referring to [Programming Flash Memory on the Hi3516](https://device.harmonyos.com/en/docs/ide/user-guides/hi3516_upload-0000001052148681)/[Programming Flash Memory on the Hi3518](https://device.harmonyos.com/en/docs/ide/user-guides/hi3518_upload-0000001057313128) + Select the U-Boot files of corresponding development boards for burning by referring to [Programming Flash Memory on the Hi3516](https://device.harmonyos.com/en/docs/ide/user-guides/hi3516_upload-0000001052148681)/[Programming Flash Memory on the Hi3518](https://device.harmonyos.com/en/docs/ide/user-guides/hi3518_upload-0000001057313128) 3. Log in to the serial port after the burning is complete. - ![](figure/en-us_image_0000001174350659.png) + ![](figure/login-serial-port.png) diff --git a/en/device-dev/quick-start/quickstart-lite-steps-board3518-running.md b/en/device-dev/quick-start/quickstart-lite-steps-hi3518-running.md similarity index 85% rename from en/device-dev/quick-start/quickstart-lite-steps-board3518-running.md rename to en/device-dev/quick-start/quickstart-lite-steps-hi3518-running.md index 7b8ec4ecd0d6d0541dbe37430a8aa05cf02f9cd1..4824273ec7cace6fd339716a1de27ee3bd8f1f0d 100644 --- a/en/device-dev/quick-start/quickstart-lite-steps-board3518-running.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-hi3518-running.md @@ -128,7 +128,7 @@ This section describes how to create, compile, burn, and run the first program, ## Building -If the Linux environment is installed using Docker, perform the building by referring to [Using Docker to Prepare the Build Environment](../get-code/gettools-acquire.md). If the Linux environment is installed using a software package, go to the root directory of the source code and run the following commands for source code compilation: +If the Linux environment is installed using Docker, perform the building by referring to [Using Docker to Prepare the Build Environment](../get-code/gettools-acquire.md#section107932281315). If the Linux environment is installed using a software package, go to the root directory of the source code and run the following commands for source code compilation: ``` hb set (Set the building path.) @@ -139,57 +139,66 @@ hb build -f (Start building.) The result files are generated in the **out/hispark\_aries/ipcamera\_hispark\_aries** directory. -**Figure 1** Settings -![](figure/settings-4.png "settings-4") +**Figure 1** Settings +![](figure/settings-9.png "settings-9") >![](../public_sys-resources/icon-notice.gif) **NOTICE:** >The U-Boot file of the Hi3518E V300 development board can be obtained from the following path: device/hisilicon/hispark\_aries/sdk\_liteos/uboot/out/boot/u-boot-hi3518ev300.bin ## Burning -The USB port is the only burning mode supported by the Hi3518 development board. +Programming the flash memory is the process of downloading compiled program files to a chipset development board to provide a basis for subsequent debugging. With the one-click flash memory programming function of DevEco Device Tool, you can program flash memory on development boards quickly and efficiently. -1. Connect the PC and the target development board through the serial port and USB port. In this section, the Hi3518EV300 is used as an example. For details, see [Introduction to the Hi3518 Development Board](quickstart-lite-introduction-hi3518.md). +The Hi3518E V300 development board allows you to program flash memory through the USB port or serial port. + +- **Windows system: Supports programming through the USB port or serial port** +- **Linux system: Supports programming through the serial port \(Linux+Windows dual system: Supports programming through the serial port or USB port\)** + +Except for environment setup, the operations of programming are the same for Windows and Linux. + +The following uses the USB port burning as an example. + +1. Connect the PC and the target development board through the serial port and USB port. For details, see [Introduction to the Hi3518 Development Board](https://device.harmonyos.com/en/docs/start/introduce/oem_minitinier_des_3518-0000001105201138). 2. Open Device Manager, then check and record the serial port number corresponding to the development board. >![](../public_sys-resources/icon-note.gif) **NOTE:** >If the serial port number is not displayed correctly, follow the steps described in [Installing the Serial Port Driver on the Hi3516 or Hi3518 Series Development Boards](https://device.harmonyos.com/en/docs/ide/user-guides/hi3516_hi3518-drivers-0000001050743695). - ![](figure/en-us_image_0000001128470900.png) + ![](figure/record-the-serial-port-number-10.png) 3. Open DevEco Device Tool and go to **Projects** \> **Settings**. - ![](figure/en-us_image_0000001174350649.png) + ![](figure/setting-11.png) 4. On the **Partition Configuration** tab page, modify the settings. In general cases, you can leave the fields at their default settings. 5. On the **hi3518ev300** tab page, set the programming options. - - **upload\_port**: Select the serial port number obtained in [2](#en-us_topic_0000001057313128_li46411811196). + - **upload\_port**: Select the serial port number obtained in step [2](#en-us_topic_0000001057313128_li46411811196). - **upload\_protocol**: Select the programming protocol **hiburn-usb**. - **upload\_partitions**: Select the file to be programmed. By default, the **fastboot**, **kernel**, **rootfs**, and **userfs** files are programmed at the same time. - ![](figure/en-us_image_0000001128311090.png) + ![](figure/upload-options.png) 6. When you finish modifying, click **Save** in the upper right corner. -7. Open the project file and click ![](figure/2021-01-27_170334-5.png). In the DevEco Device Tool window, choose **PROJECT TASKS** \> **hi3518ev300\_fastboot** \> **Erase** to erase U-Boot. +7. Open the project file, go to ![](figure/deveco-device-toollogo.png) \> **PROJECT TASKS** \> **hi3518ev300\_fastboot** \> **Erase** to erase U-Boot. - ![](figure/en-us_image_0000001174270731.png) + ![](figure/erase-u-boot.png) 8. When the following message is displayed, power off the development board and then power it on. - ![](figure/en-us_image_0000001128311092.png) + ![](figure/restart-the-development-board-12.png) 9. If the following message is displayed, it indicates that U-Boot is erased successfully. - ![](figure/en-us_image_0000001128311094.png) + ![](figure/u-boot-erased-successfully.png) 10. Go to **hi3518ev300** \> **Upload** to start programming. - ![](figure/en-us_image_0000001174350641.png) + ![](figure/upload-13.png) 11. If the following message is displayed, it indicates that the programming is successful. - ![](figure/en-us_image_0000001174350643.png) + ![](figure/burning-succeeded-14.png) ## Running an Image @@ -197,12 +206,10 @@ The USB port is the only burning mode supported by the Hi3518 development board. 1. Connect to a serial port. >![](../public_sys-resources/icon-notice.gif) **NOTICE:** - >If the connection fails, rectify the fault by referring to [FAQs](quickstart-lite-steps-board3518-faqs.md). - - **Figure 2** Serial port connection - + >If the connection fails, rectify the fault by referring to [FAQs](quickstart-lite-steps-hi3518-faqs.md#en-us_topic_0000001053466255_section14871149155911). - ![](figure/chuankou1-6.png) + **Figure 2** Serial port connection + ![](figure/serial-port-connection-15.png "serial-port-connection-15") 1. Click **Monitor** to enable the serial port. The **TERMINAL** window is displayed. 2. Press **Enter** repeatedly until **hisilicon** displays. @@ -252,11 +259,11 @@ The USB port is the only burning mode supported by the Hi3518 development board. 3. If **hisilicon \#** is displayed during the startup, run the **reset** command. After the system automatically starts and **OHOS** is displayed, run the **./bin/helloworld** command and then press **Enter**. The system is started successfully if information shown in the following figure is displayed. - **Figure 3** Successful system startup and program execution - ![](figure/successful-system-startup-and-program-execution-7.png "successful-system-startup-and-program-execution-7") + **Figure 3** Successful system startup and program execution + ![](figure/successful-system-startup-and-program-execution-16.png "successful-system-startup-and-program-execution-16") ## Follow-up Learning -Congratulations! You have finished all steps! You are advised to go on learning how to develop [Cameras with a Screen](../guide/device-iotcamera.md). +Congratulations! You have finished all steps! You are advised to go on learning how to develop [Cameras with a Screen](../guide/device-wlan-sdk.md). diff --git a/en/device-dev/quick-start/quickstart-lite-steps-board3518-setting.md b/en/device-dev/quick-start/quickstart-lite-steps-hi3518-setting.md similarity index 95% rename from en/device-dev/quick-start/quickstart-lite-steps-board3518-setting.md rename to en/device-dev/quick-start/quickstart-lite-steps-hi3518-setting.md index 9bc63015a4c5956197248d223e54de4bc1df1c1b..91da405234eb524779de6c50ac851ed00980111b 100644 --- a/en/device-dev/quick-start/quickstart-lite-steps-board3518-setting.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-hi3518-setting.md @@ -2,7 +2,7 @@ - [Environment Requirements](#section1724111409282) - [Hardware](#section487353718276) - - [Software Requirements](#section17315193935817) + - [Software](#section17315193935817) - [Installing Linux Build Tools](#section8831868501) - [Changing Linux Shell to Bash](#section434110241084) @@ -19,11 +19,11 @@ The following figure shows the hardware connections. + **Figure 1** Hardware connections + ![](figure/hardware-connections-8.png "hardware-connections-8") -**Figure 1** Hardware connections -![](figure/hardware-connections-3.png "hardware-connections-3") -### Software Requirements +### Software >![](../public_sys-resources/icon-notice.gif) **NOTICE:** >This section describes how to use an installation package to set up the compilation and development environment. If you are going to use Docker to set up the environment, skip this section and [Installing Linux Build Tools](#section8831868501). diff --git a/en/device-dev/quick-start/quickstart-lite-steps-hi3518.md b/en/device-dev/quick-start/quickstart-lite-steps-hi3518.md new file mode 100644 index 0000000000000000000000000000000000000000..c9b43c657d9a8306aead9d7f6b817da3050f13b0 --- /dev/null +++ b/en/device-dev/quick-start/quickstart-lite-steps-hi3518.md @@ -0,0 +1,9 @@ +# Hi3518 + +- **[Setting Up the Environment](quickstart-lite-steps-hi3518-setting.md)** + +- **[Running a Hello OHOS Program](quickstart-lite-steps-hi3518-running.md)** + +- **[FAQs](quickstart-lite-steps-hi3518-faqs.md)** + + diff --git a/en/device-dev/quick-start/quickstart-lite-steps-board3861-connection.md b/en/device-dev/quick-start/quickstart-lite-steps-hi3861-connection.md similarity index 54% rename from en/device-dev/quick-start/quickstart-lite-steps-board3861-connection.md rename to en/device-dev/quick-start/quickstart-lite-steps-hi3861-connection.md index 2ce585ea88b513619177b24358cc3f82e0442b86..342f6f4b21e4a4a64dcf2116c36d2ffa3c986a9d 100644 --- a/en/device-dev/quick-start/quickstart-lite-steps-board3861-connection.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-hi3861-connection.md @@ -1,51 +1,41 @@ -# WLAN Connection +# Setting Up WLAN Connection -- [Building](#section191121332125319) -- [Burning Images](#section19458165166) +- [Building Source Code](#section191121332125319) +- [Burning Images](#section3288165814218) - [Connecting WLAN Module to the Internet.](#section194671619167) This example shows how to connect the WLAN module to the gateway using attention \(AT\) commands. -## Building +## Building Source Code This section describes how to perform the WLAN module building on a Linux server. -If the Linux environment is installed using Docker, perform the building by referring to [Using Docker to Prepare the Build Environment](../get-code/sourcecode-acquire.md). If the Linux environment is installed using a software package, perform the following steps: +If the Linux environment is installed using Docker, perform the building by referring to [Using Docker to Prepare the Build Environment](../get-code/gettools-acquire.md#section107932281315). If the Linux environment is installed using a software package, perform the following steps: 1. Open the HUAWEI DevEco Device Tool and choose **View** \> **Terminal**. - **Figure 1** Starting the IDE terminal tool - - - ![](figure/1.png) + **Figure 1** Starting the IDE terminal tool + ![](figure/starting-the-ide-terminal-tool.png "starting-the-ide-terminal-tool") On the **TERMINAL** panel, run the ssh command, for example, **ssh** **_user_@_ipaddr_**, to connect to the Linux server. - **Figure 2** TERMINAL panel - - - ![](figure/2.png) + **Figure 2** TERMINAL panel + ![](figure/terminal-panel.png "terminal-panel") 2. Go to the root directory of the code, run the **hb set** and **.** commands on the **TERMINAL** panel, and select the **wifiiot\_hispark\_pegasus** version. - **Figure 3** Selecting the target build version - - - ![](figure/3.png) + **Figure 3** Selecting the target build version + ![](figure/selecting-the-target-build-version.png "selecting-the-target-build-version") 3. Run the **hb build** command to start building. - **Figure 4** Running commands on the TERMINAL panel - - - ![](figure/4.png) + **Figure 4** Running commands on the TERMINAL panel + ![](figure/running-commands-on-the-terminal-panel.png "running-commands-on-the-terminal-panel") 4. Check whether the building is successful. If yes, **wifiiot\_hispark\_pegasus build success** will be displayed, as shown in the following figure. - **Figure 5** Successful building - - - ![](figure/5.png) + **Figure 5** Successful building + ![](figure/successful-building.png "successful-building") 5. Check whether the following files are generated in the **./out/wifiiot/** directory. @@ -53,49 +43,54 @@ If the Linux environment is installed using Docker, perform the building by refe ls -l out/hispark_pegasus/wifiiot_hispark_pegasus/ ``` - **Figure 6** Directory for storing the generated files - + **Figure 6** Directory for storing the generated files + ![](figure/directory-for-storing-the-generated-files.png "directory-for-storing-the-generated-files") - ![](figure/3-0.png) +## Burning Images -## Burning Images +Programming the flash memory is the process of downloading compiled program files to a chipset development board to provide a basis for subsequent debugging. With the one-click flash memory programming function of DevEco Device Tool, you can program flash memory on development boards quickly and efficiently. -You can use the DevEco tool to perform the image burning of the Hi3861 WLAN module. For details about how to use the tool, see [HUAWEI DevEco Device Tool User Guide](https://device.harmonyos.com/en/docs/ide/user-guides/service_introduction-0000001050166905). +**The Hi3861 V100 development board allows you to program flash memory through the serial port using the burn-serial or hiburn-serial protocol. The hiburn-serial protocol is applicable to both Windows and Linux systems, while the burn-serial is applicable to Linux only.** -1. Connect the PC and the target development board through the USB port. For details, see [Introduction to the Hi3861 Development Board](quickstart-lite-introduction-hi3861.md). +>![](../public_sys-resources/icon-note.gif) **NOTE:** +>The burn-serial protocol is used for compatibility with the projects of historical versions. It does not differ from hiburn-serial in operations. + +The operations for programming flash memory in Windows and Linux are the same. The only difference lies in the environment setup for DevEco Device Tool. + +1. Connect the PC and the target development board through the USB port. For details, see [Introduction to the Hi3861 Development Board](https://device.harmonyos.com/en/docs/start/introduce/oem_minitinier_des_3861-0000001105041324). 2. Open Device Manager, then check and record the serial port number corresponding to the development board. >![](../public_sys-resources/icon-note.gif) **NOTE:** - >If the serial port number is not displayed correctly, follow the steps described in [Installing the Serial Port Driver on the Hi3861 Series Development Boards](https://device.harmonyos.com/en/docs/ide/user-guides/hi3861-drivers-0000001058153433). + >If the serial port number is not displayed correctly, follow the steps described in [Installing the Serial Port Driver on the Hi3861 Series Development Board](https://device.harmonyos.com/en/docs/ide/user-guides/hi3861-drivers-0000001058153433). - ![](figure/en-us_image_0000001128311118.png) + ![](figure/record-the-serial-port-number.png) 3. Open DevEco Device Tool and go to **Projects** \> **Settings**. - ![](figure/en-us_image_0000001128311116.png) + ![](figure/setting.png) 4. On the **Partition Configuration** tab page, modify the settings. In general cases, you can leave the fields at their default settings. 5. On the **hi3861** tab page, set the programming options. - - **upload\_port**: Select the serial port number obtained in [2](#en-us_topic_0000001056563976_li848662117291). - - **upload\_protocol**: Select the burning protocol **burn-serial**. - - **upload\_partitions**: Select the file to be burned. **hi3861\_app** is selected by default. + - **upload\_port**: Select the serial port number obtained in step [2](#en-us_topic_0000001056563976_li848662117291). + - **upload\_protocol**: Select the programming protocol. For Windows, set this parameter to **burn-serial** or **hiburn-serial**. For Linux, set this parameter to **hiburn-serial**. + - **upload\_partitions**: Select the file to be programmed. **hi3861\_app** is selected by default. - ![](figure/en-us_image_0000001128470922.png) + ![](figure/options.png) 6. When you finish modifying, click **Save** in the upper right corner. 7. Open the project file. In the DevEco Device Tool window, go to **PROJECT TASKS** \> **hi3861** \> **Upload** to start programming. - ![](figure/en-us_image_0000001174270749.png) + ![](figure/upload.png) 8. When the following information is displayed, press the RST button on the development board to restart it. - ![](figure/en-us_image_0000001174270751.png) + ![](figure/restart-the-development-board.png) -9. Start burning. When the following message is displayed, the burning is successful. +9. Start programming. If the following message is displayed, it indicates that the programming is successful. - ![](figure/en-us_image_0000001174350669.png) + ![](figure/burning-succeeded.png) ## Connecting WLAN Module to the Internet. @@ -104,17 +99,13 @@ After completing version building and burning, do as follows to connect the WLAN 1. Click the icon of **DevEco: Serial Monitor** at the bottom of DevEco Studio to keep the connection between the Windows workstation and the WLAN module. - **Figure 7** Opening the DevEco serial port - - - ![](figure/5-1.png) + **Figure 7** Opening the DevEco serial port + ![](figure/opening-the-deveco-serial-port.png "opening-the-deveco-serial-port") 2. Reset the WLAN module. The message **ready to OS start** is displayed on the **TERMINAL** panel, indicating that the WLAN module is started successfully. - **Figure 8** Successful resetting of the WLAN module - - - ![](figure/6.png) + **Figure 8** Successful resetting of the WLAN module + ![](figure/successful-resetting-of-the-wlan-module.png "successful-resetting-of-the-wlan-module") 3. Run the following AT commands in sequence via the DevEco serial port terminal to start the STA mode, connect to the specified AP, and enable Dynamic Host Configuration Protocol \(DHCP\). @@ -134,9 +125,7 @@ After completing version building and burning, do as follows to connect the WLAN AT+PING=X.X.X.X # Check the connectivity between the module and the gateway. Replace X.X.X.X with the actual gateway address. ``` - **Figure 9** Successful networking of the WLAN module - - - ![](figure/截图.png) + **Figure 9** Successful networking of the WLAN module + ![](figure/successful-networking-of-the-wlan-module.png "successful-networking-of-the-wlan-module") diff --git a/en/device-dev/quick-start/quickstart-lite-steps-board3861-faqs.md b/en/device-dev/quick-start/quickstart-lite-steps-hi3861-faqs.md similarity index 95% rename from en/device-dev/quick-start/quickstart-lite-steps-board3861-faqs.md rename to en/device-dev/quick-start/quickstart-lite-steps-hi3861-faqs.md index 9f4f5b1583e64ed802a7b076f008b31a89e7c2ac..2d5e461309e175732d22cf48d5784760fc467d80 100644 --- a/en/device-dev/quick-start/quickstart-lite-steps-board3861-faqs.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-hi3861-faqs.md @@ -73,7 +73,7 @@ Solution 2: If the software source does not contain **zlib**, download the source code from [http://www.zlib.net/](http://www.zlib.net/). - ![](figure/10.png) + ![](figure/download-zlib.png) Then run the following commands to install **zlib** offline: @@ -134,7 +134,7 @@ - Download the source code from [https://pypi.org/project/pycrypto/\#files](https://pypi.org/project/pycrypto/#files). - ![](figure/en-us_image_0000001128470864.png) + ![](figure/download-the-source-code.png) - Save the source code package to the Linux server, decompress the package, and run the **python3 setup.py install** command to install **Crypto**. - Rebuild an environment. @@ -164,7 +164,7 @@ - Download the installation package from [https://pypi.org/project/ecdsa/\#files](https://pypi.org/project/ecdsa/#files). - ![](figure/en-us_image_0000001128311072.png) + ![](figure/download-ecdsa.png) - Save the installation package to the Linux server and run the **pip3 install ecdsa-0.15-py2.py3-none-any.whl** command to install **ecdsa**. - Rebuild an environment. @@ -194,7 +194,7 @@ - Download the installation package from [https://pypi.org/project/six/\#files](https://pypi.org/project/six/#files). - ![](figure/en-us_image_0000001174270699.png) + ![](figure/download-six.png) - Save the source code to the Linux server and run the **pip3 install six-1.14.0-py2.py3-none-any.whl** command to install **six**. - Rebuild an environment. @@ -243,11 +243,11 @@ - **Possible Cause 1:** Python is not installed. - **Solutions** - Install Python by referring to [Installing and Configuring Python](quickstart-lite-env-setup-lin.md). + Install Python as instructed in [Installing and Configuring Python](quickstart-lite-env-setup-linux.md#section1238412211211). - **Possible Cause 2:** The soft link that points to the Python does not exist in the **usr/bin** directory. - ![](figure/en-us_image_0000001128311070.png) + ![](figure/reason-2.png) - **Solutions** @@ -262,7 +262,7 @@ Example: - ![](figure/en-us_image_0000001174350623.png) + ![](figure/solution.png) ## What should I do when an error with **lsb\_release** occurs during **kconfiglib** installation? diff --git a/en/device-dev/quick-start/quickstart-lite-steps-board3861-running.md b/en/device-dev/quick-start/quickstart-lite-steps-hi3861-running.md similarity index 87% rename from en/device-dev/quick-start/quickstart-lite-steps-board3861-running.md rename to en/device-dev/quick-start/quickstart-lite-steps-hi3861-running.md index 573245e7e223f25163185110666b9344339cf7ed..07f64c162a635091e62aa501b76e4d0edd74974e 100644 --- a/en/device-dev/quick-start/quickstart-lite-steps-board3861-running.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-hi3861-running.md @@ -2,8 +2,9 @@ - [Modifying Source Code](#section79601457101015) - [Debugging and Verification](#section1621064881419) -- [printf](#section1246911301217) -- [Locating Exceptions Using the asm File](#section199621957141014) + - [printf](#section5204547123316) + - [Locating Exceptions Using the ASM File](#section15919111423416) + - [Viewing Execution Result](#section18115713118) - [Follow-up Learning](#section9712145420182) @@ -86,13 +87,13 @@ The source code needs to be modified when fixing bugs or compiling a new service ## Debugging and Verification -Currently, there are two debugging and verification methods: using printf to print logs and using asm files to locate **panic** problems. You can select one of them based on your need. +Currently, there are two debugging and verification methods: using printf to print logs and using ASM files to locate **panic** problems. You can select one of them based on your need. As the service shown is simple, use the printf method. The following describes the two debugging methods. -## printf +### printf -Add **printf** function to the code, which helps print data to the serial port. You can add log printing in key service paths or service exception locations, as shown in the following figure. +Add the **printf** function to the code, which helps print data to the serial port. You can add log printing in key service paths or service exception locations, as shown in the following figure. ``` void HelloWorld(void) @@ -101,7 +102,7 @@ void HelloWorld(void) } ``` -## Locating Exceptions Using the asm File +### Locating Exceptions Using the ASM File When the system exits abnormally, the call stack information about the abnormal exit is displayed on the serial port. The following is an example: You can locate the exception by parsing the exception stack information. @@ -118,10 +119,10 @@ Call Stack 6 -- 3f5e24 addr:f78fc ********************Call Stack end******************* ``` -To parse the call stack information, the **Hi3861\_wifiiot\_app.asm** file is required. This file records the symbol addresses of the functions in the code in the flash memory and the disassembly information. The asm file is built and output together with the version software package and is stored in the **./out/wifiiot/** directory. +To parse the call stack information, the **Hi3861\_wifiiot\_app.asm** file is required. This file records the symbol addresses of the functions in the code in the flash memory and the disassembly information. The ASM file is built and output together with the version software package and is stored in the **./out/wifiiot/** directory. -1. \(Optional\) Save the **CallStack** information to a TXT file for editing. -2. Open the asm file, search for the function address in each call stack, and list the corresponding function. Generally, you only need to find the functions matching the first several stacks to locate exceptions. +1. \(Optional\) Save the call stack information to a TXT file for later editing. +2. Open the ASM file, search for the function address in each call stack, and list the corresponding function. Generally, you only need to find the functions matching the first several stacks to locate exceptions. ``` Call Stack 0 -- 4860d8 addr:f784c -- WadRecvCB @@ -133,9 +134,9 @@ To parse the call stack information, the **Hi3861\_wifiiot\_app.asm** file is Call Stack 6 -- 3f5e24 addr:f78fc ``` -3. Determine that an exception occurs in the **WadRecvCB** function based on the call stack information. +3. Based on the above call stack information, it can be determined that an exception occurs in the **WadRecvCB** function. - ![](figure/en-us_image_0000001174270737.png) + ![](figure/wadrecvcb-function.png) 4. Check and modify the code. diff --git a/en/device-dev/quick-start/quickstart-lite-steps-board3861-setting.md b/en/device-dev/quick-start/quickstart-lite-steps-hi3861-setting.md similarity index 89% rename from en/device-dev/quick-start/quickstart-lite-steps-board3861-setting.md rename to en/device-dev/quick-start/quickstart-lite-steps-hi3861-setting.md index 2906ce5118e396068b489c5efa736b322a3a4b76..e13a094dd2c13ef1f57ecf1f72a99d46528dfea8 100644 --- a/en/device-dev/quick-start/quickstart-lite-steps-board3861-setting.md +++ b/en/device-dev/quick-start/quickstart-lite-steps-hi3861-setting.md @@ -8,7 +8,7 @@ - [Installing Basic Software Used for Compilation and Building \(Required Only for Ubuntu 20+\)](#section45512412251) - [Installing Scons](#section7438245172514) - [Installing Python Modules](#section88701892341) - - [Installing gcc\_riscv32 \(Compilation Toolchain for WLAN Module\)](#section34435451256) + - [Installing gcc\_riscv32 \(Compiler Toolchain for WLAN Module\)](#section34435451256) - [Installing the USB-to-Serial Driver](#section1027732411513) @@ -23,7 +23,7 @@ The following figure shows the hardware connections. -**Figure 1** Hardware connections +**Figure 1** Hardware connections ![](figure/hardware-connections.png "hardware-connections") ### Software @@ -38,9 +38,9 @@ The following table lists the tools required for the Hi3861 development board.

Level

+ @@ -199,9 +197,9 @@ As can be seen from preceding figure, kernel basic adaptation involves the follo - diff --git a/en/device-dev/porting/porting-smallchip-kernel-linux.md b/en/device-dev/porting/porting-smallchip-kernel-linux.md index b6f247ff9d6bbdd72e84dbdba3b8574cfdab851a..ac1acf1451438035f91c66184f72e76cd7bdc7cd 100644 --- a/en/device-dev/porting/porting-smallchip-kernel-linux.md +++ b/en/device-dev/porting/porting-smallchip-kernel-linux.md @@ -1,4 +1,4 @@ -# Linux Kernel +# Linux Kernel - [Overview](#section6282121355111) - [Basic Information](#section19589322515) @@ -58,18 +58,16 @@ You can use the Bootloader provided by the chipset vendor or open-source U-Boot ## Verification -Debug the **init** process, start shell, and run a simple program in the user space to check whether the kernel porting is successful. Below is the OS image structure of the OpenHarmony [small system](https://device.harmonyos.com/en/docs/start/introduce/oem_minitinier_des-0000001105598722) and the Linux user-space program startup process. +Debug the **init** process, start shell, and run a simple program in the user space to check whether the kernel porting is successful. Below is the OS image structure of the OpenHarmony [small system](../quick-start/quickstart-lite-overview.md) and the Linux user-space program startup process. -**Figure 1** OS image structure and user-space program startup process based on the Linux kernel - - -![](figure/en-us_image_0000001126354076.png) +**Figure 1** OS image structure and user-space program startup process based on the Linux kernel +![](figure/os-image-structure-and-user-space-program-startup-process-based-on-the-linux-kernel.png "os-image-structure-and-user-space-program-startup-process-based-on-the-linux-kernel") Based on the preceding process, the recommended verification procedure is as follows: 1. Create a root file system image. - Create a root file system image **rootfs.img** by following instructions in [Adding a Chipset Solution and a Product Solution](https://device.harmonyos.com/en/docs/develop/subsystems/oem_subsys_build_guide-0000001060378721). As shown in the preceding figure, the startup process is closely related to the product configuration. You need to complete the following configuration when creating **rootfs.img**: + Create a root file system image **rootfs.img** by following instructions in [Adding a Chipset Solution and a Product Solution](../subsystems/subsys-build-mini-lite.md). As shown in the preceding figure, the startup process is closely related to the product configuration. You need to complete the following configuration when creating **rootfs.img**: - Component configuration @@ -99,17 +97,13 @@ Based on the preceding process, the recommended verification procedure is as fol If the init startup log contains the version number, the init program is started properly: - **Figure 2** Log indicating that the init process is started properly - - - ![](figure/en-us_image_0000001172273945.jpg) + **Figure 2** Log indicating that the init process is started properly + ![](figure/log-indicating-that-the-init-process-is-started-properly.png "log-indicating-that-the-init-process-is-started-properly") After entering the shell, run the **ls** command. The following figure shows the information printed over the serial port. - **Figure 3** Information printed after the ls command is executed in the shell - - - ![](figure/en-us_image_0000001172393865.jpg) + **Figure 3** Information printed after the ls command is executed in the shell + ![](figure/information-printed-after-the-ls-command-is-executed-in-the-shell.png "information-printed-after-the-ls-command-is-executed-in-the-shell") 3. Configure the NFS. diff --git a/en/device-dev/porting/porting-smallchip-kernel.md b/en/device-dev/porting/porting-smallchip-kernel.md index 9e53fe2d2fab601db282858f9f93f34e7632f441..6dc319b5e1d3e370e6aa5a328766ed8eefed79e9 100644 --- a/en/device-dev/porting/porting-smallchip-kernel.md +++ b/en/device-dev/porting/porting-smallchip-kernel.md @@ -1,4 +1,4 @@ -# Kernel Porting +# Kernel Porting - **[LiteOS Cortex-A](porting-smallchip-kernel-a.md)** diff --git a/en/device-dev/porting/porting-smallchip-prepare-building.md b/en/device-dev/porting/porting-smallchip-prepare-building.md index f8911bd5e00723b940d139d39d6908807771b8f2..d42ebf1d06f96c9f278b928306cd5db6547a10a1 100644 --- a/en/device-dev/porting/porting-smallchip-prepare-building.md +++ b/en/device-dev/porting/porting-smallchip-prepare-building.md @@ -1,4 +1,4 @@ -# Compilation and Building +# Compilation and Building - [Compilation Environment Setup](#section3336103410314) - [Introduction to the Compilation and Building Subsystem](#section354343816319) @@ -6,7 +6,7 @@ ## Compilation Environment Setup -Set up the basic environment by following instructions in [Ubuntu Build Environment](../quick-start/quickstart-lite-env-setup-lin.md). Both the user space and LiteOS Cortex-A kernel space are compiled using the LLVM compiler. If you choose to port the Linux kernel, run the following command to install the gcc-arm-linux-gnueabi cross compiler for compiling the Linux kernel-space image: +Set up the basic environment by following instructions in [Ubuntu Build Environment](../quick-start/quickstart-lite-env-setup-linux.md). Both the user space and LiteOS Cortex-A kernel space are compiled using the LLVM compiler. If you choose to port the Linux kernel, run the following command to install the gcc-arm-linux-gnueabi cross compiler for compiling the Linux kernel-space image: ``` sudo apt-get install gcc-arm-linux-gnueabi @@ -121,12 +121,12 @@ After learning the compilation framework and setting up the compilation environm 3. Edit the build script of the development board. - In the **BUILD.gn** file described in 1, build code related to the development board, such as code for the on-device driver, on-device interface adaptation \(media and graphics\), and SDK on the development board. + In the **BUILD.gn** file described in step [1](#li20894101862), build code related to the development board, such as code for the on-device driver, on-device interface adaptation \(media and graphics\), and SDK on the development board. For example, edit the **device/hisilicon/hispark\_taurus/BUILD.gn** file as follows: ``` - # It is recommended that the group name be the same as the developer board name. + # It is recommended that the group name be the same as the development board name. group("hispark_taurus") { deps = [ "//kernel/linux/patches:linux_kernel" ] # Start kernel compilation. deps += [ diff --git a/en/device-dev/porting/porting-smallchip-prepare-needs.md b/en/device-dev/porting/porting-smallchip-prepare-needs.md index 4a92950491273dbebec06e6da37ef5a242675b41..c9d1805216fffa52ffe230d8df8fa0118190b15b 100644 --- a/en/device-dev/porting/porting-smallchip-prepare-needs.md +++ b/en/device-dev/porting/porting-smallchip-prepare-needs.md @@ -1,4 +1,4 @@ -# Before You Start +# Before You Start This document provides guidance on how to port the Linux and LiteOS Cortex-A kernels on the OpenHarmony [small system](../quick-start/quickstart-lite-overview.md) to a development board. It is intended for developers with experience in developing embedded systems. Before following instructions in this document, it is recommended that you familiarize yourself with [OpenHarmony](../../OpenHarmony-Overview.md), including its technical architecture, directory structure, kernel subsystem, and driver subsystem. The following table lists the development boards that have been adapted to the small system. diff --git a/en/device-dev/porting/porting-smallchip-prepare.md b/en/device-dev/porting/porting-smallchip-prepare.md index dbb8cea8f288e1c7cee7219f346518f8e0d0009d..29017d1e3985912cf68e7a30c96c6f99ad8edc88 100644 --- a/en/device-dev/porting/porting-smallchip-prepare.md +++ b/en/device-dev/porting/porting-smallchip-prepare.md @@ -1,4 +1,4 @@ -# Porting Preparations +# Porting Preparations - **[Before You Start](porting-smallchip-prepare-needs.md)** diff --git a/en/device-dev/porting/porting-thirdparty-cmake.md b/en/device-dev/porting/porting-thirdparty-cmake.md index b8a9f3590019de6a82cdfcb992452b0013077d22..b0c6419a7cbc633aadcfc646890e2761c8a73334 100644 --- a/en/device-dev/porting/porting-thirdparty-cmake.md +++ b/en/device-dev/porting/porting-thirdparty-cmake.md @@ -1,4 +1,4 @@ -# Porting a Library Built Using CMake +# Porting a Library Built Using CMake - [Source Code Acquisition](#section1771132116245) - [Porting Guidelines](#section9737174410328) @@ -136,10 +136,10 @@ The following steps show how to configure and modify the toolchains for cross-co set(CMAKE_LINKER clang) set(CMAKE_CXX_LINKER clang++) set(CMAKE_C_LINKER clang) - set(CMAKE_C_LINK_EXECUTABLE "${CMAKE_C_LINKER} - ${MY_LINK_FLAGS} -o ") - set(CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINKER} - ${MY_LINK_FLAGS} -o ") + set(CMAKE_C_LINK_EXECUTABLE + "${CMAKE_C_LINKER} ${MY_LINK_FLAGS} -o ") + set(CMAKE_CXX_LINK_EXECUTABLE + "${CMAKE_CXX_LINKER} ${MY_LINK_FLAGS} -o ") # Specify the path for searching chained libraries. set(CMAKE_SYSROOT ${OHOS_SYSROOT_PATH}) ``` @@ -154,7 +154,7 @@ The following steps show how to configure and modify the toolchains for cross-co make -j ``` - **OHOS\_SYSROOT\_PATH** specifies the absolute path where **sysroot** is located. Taking OpenHarmony for example, set **OHOS\_SYSROOT\_PATH** to the absolute path of **openHarmony/prebuilts/lite/sysroot**. + **OHOS\_SYSROOT\_PATH** specifies the absolute path where **sysroot** is located. For OpenHarmony, set **OHOS\_SYSROOT\_PATH** to the absolute path of the **out/hispark\__xxx_/ipcamera\_hispark\__xxx_/sysroot** directory. This directory is generated after full compilation is complete. Therefore, complete full compilation before porting. 3. View the result. @@ -227,7 +227,7 @@ The following steps show how to configure and modify the toolchains for cross-co 1. Set up the OpenHarmony environment. - Using Hi3518EV300 as an example, compile the OpenHarmony image and burn it to the development board. For details, see [Developing the First Example Program Running on Hi3518](../quick-start/quickstart-lite-steps-board3518-running.md). + Using Hi3518EV300 as an example, compile the OpenHarmony image and burn it to the development board. For details, see [Developing the First Example Program Running on Hi3518](../quick-start/quickstart-lite-steps-hi3518-running.md). The following screen is displayed after a successful login to the OS. diff --git a/en/device-dev/porting/porting-thirdparty-makefile.md b/en/device-dev/porting/porting-thirdparty-makefile.md index 738914976b998f329cdd023beedbb6a2ba8997dc..11e1b0780cbe489c67bdc6fdfa4f92cfcba18c72 100644 --- a/en/device-dev/porting/porting-thirdparty-makefile.md +++ b/en/device-dev/porting/porting-thirdparty-makefile.md @@ -1,4 +1,4 @@ -# Porting a Library Built Using Makefile +# Porting a Library Built Using Makefile - [Source Code Acquisition](#section114115321416) - [Cross-Compilation Settings](#section81263255384) @@ -98,7 +98,7 @@ The following steps show how to configure and modify the toolchains for cross-co CC:=clang AR:=llvm-ar # The --target and --sysroot flags must be specified. - CFLAGS:=-Wall -Wextra -Wno-unused-parameter -O2 -g --target=arm-liteos -march=armv7-a --sysroot=$(OHOS_ROOT_PATH)prebuilts/lite/sysroot + CFLAGS:=-Wall -Wextra -Wno-unused-parameter -O2 -g --target=arm-liteos -march=armv7-a --sysroot=$(OHOS_SYSROOT_PATH) ``` Original configuration: @@ -117,7 +117,7 @@ The following steps show how to configure and modify the toolchains for cross-co make test OHOS_SYSROOT_PATH=... ``` - **OHOS\_SYSROOT\_PATH** specifies the absolute path of the directory where **sysroot** is located. Taking OpenHarmony for example, set **OHOS\_SYSROOT\_PATH** to the absolute path of **prebuilts/lite/sysroot/**. + **OHOS\_SYSROOT\_PATH** specifies the absolute path of the directory where **sysroot** is located. For OpenHarmony, set **OHOS\_SYSROOT\_PATH** to the absolute path of the **out/hispark\__xxx_/ipcamera\_hispark\__xxx_/sysroot** directory. This directory is generated after full compilation is complete. Therefore, complete full compilation before porting. 3. View the result. diff --git a/en/device-dev/porting/porting-thirdparty-overview.md b/en/device-dev/porting/porting-thirdparty-overview.md index 00078b050dd7af88932a12380a708465a47fbeae..bf5d076f4cd15a989af1b0e34858ce2b8ad8a639 100644 --- a/en/device-dev/porting/porting-thirdparty-overview.md +++ b/en/device-dev/porting/porting-thirdparty-overview.md @@ -1,4 +1,4 @@ -# Overview +# Overview This document provides guidance for OpenHarmony developers to port third-party libraries that use common compiler organization modes, such as CMakeLists and Makefile. It describes how to set a toolchain in different compiler organization modes and how to add the compiling configuration of a library to the OpenHarmony project. Currently, this guide applies only to Hi3516DV300 and Hi3518EV300. diff --git a/en/device-dev/porting/porting.md b/en/device-dev/porting/porting.md index ef03a9bae819fe756b3faf442d749b06840cad45..d890f8bf9efeeff3cdbc17d1aec53751395fa4bf 100644 --- a/en/device-dev/porting/porting.md +++ b/en/device-dev/porting/porting.md @@ -6,4 +6,6 @@ - **[Small System SoC Porting Guide](porting-smallchip.md)** +- **[Standard System Porting Guide](standard-system-porting-guide.md)** + diff --git a/en/device-dev/porting/standard-system-porting-guide.md b/en/device-dev/porting/standard-system-porting-guide.md index 2cf403d1ae2bdcece07a99cce0eaeac708826b44..82a715286714c05db212f6e2f43a536b3848de1d 100644 --- a/en/device-dev/porting/standard-system-porting-guide.md +++ b/en/device-dev/porting/standard-system-porting-guide.md @@ -1,51 +1,52 @@ -# Standard System Porting Guide +# Standard System Porting Guide - +- [Defining a Development Board](#section132mcpsimp) + - [Defining an SoC](#section135mcpsimp) + - [Defining a Product](#section145mcpsimp) + - [Verifying the Porting](#section163mcpsimp) - +- [Porting the Kernel](#section171mcpsimp) + - [1. Adding a Kernel-built Subsystem to the SoC](#section174mcpsimp) + - [2. Building the Kernel](#section182mcpsimp) + - [3. Verifying the Porting](#section207mcpsimp) -- [Defining a Development Board](#Defining-a-Development-Board) - - [1. Defining an SoC](#1-Defining-an-SoC) - - [2. Defining a Product](#2-Defining-a-Product) - - [3. Verifying the Porting](#3-Verifying-the-Porting) -- [Porting the Kernel](#Porting-the-Kernel) - - [1. Adding a Kernel-built Subsystem to the SoC](#1-Adding-a-Kernel-built-Subsystem-to-the-SoC) - - [2. Building the Kernel](#2-Building-the-Kernel) - - [3. Verifying the Porting](#3-Verifying-the-Porting-1) -- [Porting the HDF Driver](#Porting-the-HDF-Driver) - - [1. LCD](#1-lcd) - - [2. Touchscreen](#2-Touchscreen) - - [3. WLAN](#3-wlan) +- [Porting the HDF Driver](#section210mcpsimp) + - [1. LCD](#section212mcpsimp) + - [2. Touchscreen](#section229mcpsimp) + - [3. WLAN](#section274mcpsimp) + - [4. Samples](#section11253153018415) - -This document describes the general process for porting a development board, rather than the porting process specific to a System on Chip (SoC). In the future, the community will provide more development board porting examples for your reference. +This document describes the general process for porting a development board, rather than the porting process specific to a System on Chip \(SoC\). In the future, the community will provide more development board porting examples for your reference. -## Defining a Development Board +## Defining a Development Board -This document uses the process of porting a development board named **MyProduct** as an example. This development board is provided by **MyProductVendor** and uses the SoC **MySOC** produced by **MySoCVendor**. +This document uses the process of porting a development board named **MyProduct** as an example. This development board is provided by **MyProductVendor** and uses the SoC **MySOC** produced by **MySoCVendor**. -### 1. Defining an SoC +### Defining an SoC -Create a JSON file named after the SoC name in the **//productdefine/common/device** directory and specify the CPU architecture. +Create a JSON file named after the SoC name in the **//productdefine/common/device** directory and specify the CPU architecture. -For example, to port **MySOC**, which uses a 32-bit ARM kernel, configure the file as follows: +For example, to port **MySOC**, which uses a 32-bit ARM kernel, configure the file as follows: -`//productdefine/common/device/MySOC.json` -```json +//productdefine/common/device/MySOC.json + +``` { "target_os": "ohos", "target_cpu": "arm" } ``` -Currently, **target_cpu** can be set to **arm** only. In the future, you can set the value depending on the CPU architecture, such as **arm64**, **riscv**, or **x86**. -### 2. Defining a Product +Currently, **target\_cpu** can be set to **arm** only. In the future, you can set the value depending on the CPU architecture, such as **arm64**, **riscv**, or **x86**. + +### Defining a Product -Create a JSON file named after the product name in the **//productdefine/common/products** directory. This file is used to describe the SoC used by the product and the required subsystems. -Configure the file as follows: -`//productdefine/common/products/MyProduct.json` -```json +Create a JSON file named after the product name in the **//productdefine/common/products** directory. This file is used to describe the SoC used by the product and the required subsystems. Configure the file as follows: + +//productdefine/common/products/MyProduct.json + +``` { "product_name": "MyProduct", "product_company" : "MyProductVendor", @@ -61,35 +62,36 @@ Configure the file as follows: } ``` + The main configurations are as follows: -1. **product_device**: SoC used by the product. -2. **type**: system level. In this example, set it to **standard**. -3. **parts**: subsystems to enable. A subsystem can be treated as an independently built functional block. +1. **product\_device**: SoC used by the product. +2. **type**: system level. In this example, set it to **standard**. +3. **parts**: subsystem to enable. A subsystem can be treated as an independently built functional block. -You can find available subsystems in **//build/subsystem_config.json**. You can also customize subsystems. +You can find available subsystems in **//build/subsystem\_config.json**. You can also customize subsystems. -You are advised to copy the configuration file of Hi3516D V300 and delete the **hisilicon_products** subsystem, which is used to compile the kernel for Hi3516D V300. +You are advised to copy the configuration file of Hi3516D V300 and delete the **hisilicon\_products** subsystem, which is used to compile the kernel for Hi3516D V300. -### 3. Verifying the Porting +### Verifying the Porting Run the following command to start the build of your product: -`./build.sh --product-name MyProduct ` - -After the build is complete, you can view the built OpenHarmony image file in the following directory: +``` +./build.sh --product-name MyProduct +``` -`//out/ohos-arm-release/packages/phone/images` +After the build is complete, you can view the built OpenHarmony image file in **//out/ohos-arm-release/packages/phone/images**. -## Porting the Kernel +## Porting the Kernel Now, you need to port the Linux kernel to enable it to run successfully. -### 1. Adding a Kernel-built Subsystem to the SoC +### 1. Adding a Kernel-built Subsystem to the SoC -Add the following subsystem configuration to the **//build/subsystem_config.json** file: +Add the following subsystem configuration to the **//build/subsystem\_config.json** file: -```json +``` "MySOCVendor_products": { "project": "hmf/MySOCVendor_products", "path": "device/MySOCVendor/MySOC/build", @@ -98,48 +100,65 @@ Add the following subsystem configuration to the **//build/subsystem_config.json }, ``` -Then, open the configuration file **//productdefine/common/products/MyProduct.json**, which is used to define the product, and add the new subsystem to the product. +Then, open the configuration file **//productdefine/common/products/MyProduct.json**, which is used to define the product, and add the new subsystem to the product. -### 2. Building the Kernel +### 2. Building the Kernel -The path for building the subsystem is defined when you define the subsystem in the previous step. The path is **//device/MySOCVendor/MySOC/build**. Now, you need to create a build script in this path to instruct the build system to build the kernel. +The OpenHarmony source code provides the Linux kernel 4.19, which is archived in **//kernel/linux-4.19**. This section uses this kernel version as an example to describe how to build the kernel. -Currently, the OpenHarmony source code provides the Linux kernel 4.19, which is archived in **//kernel/linux-4.19**. You are advised to use this kernel. However, if the SoC vendor does not provide the kernel of this version, use that provided by the vendor. -You are advised to use patches to modify or extend the SoC kernel. +The path for building the subsystem is defined when you define the subsystem in the previous step. The path is **//device/MySOCVendor/MySOC/build**. Now, you need to create a build script in this path to instruct the build system to build the kernel. The recommended directory structure is as follows: + ``` ├── build -│   ├── kernel -│   │ ├── linux -│   │ ├──standard_patch_for_4_19.patch -│   ├── BUILD.gn -│   ├── ohos.build +│ ├── kernel +│ │ ├── linux +│ │ ├──standard_patch_for_4_19.patch // Patch for the Linux kernel 4.19 +│ ├── BUILD.gn +│ ├── ohos.build ``` -The **BUILD.gn** file is the only entry for building the subsystem. -The expected build result is as follows: +The **BUILD.gn** file is the only entry for building the subsystem. -| File| Description| -|------|------| -|$root_build_dir/packages/phone/images/uImage| Kernel image| -|$root_build_dir/packages/phone/images/uboot | Bootloader image| +The expected build result is as follows: -### 3. Verifying the Porting + +

Layer

Description

LOS_INIT_LEVEL_KMOD_TASK

Kernel task creation

+

Kernel task creation.

This layer can be used to create kernel tasks (kernel thread and software timer tasks).

-

Example: creation of the resident resource reclaiming task, SystemInit task, and CPU usage statistics task.

+

Example: creation of the resident resource reclaiming task, SystemInit task, and CPU usage statistics task

+ + + + + + + + + +

File

+

Description

+

$root_build_dir/packages/phone/images/uImage

+

Kernel image

+

$root_build_dir/packages/phone/images/uboot

+

Bootloader image

+
+ +### 3. Verifying the Porting Now start build, and check whether the kernel image is generated as expected. -## Porting the HDF Driver +## Porting the HDF Driver + +### 1. LCD + +This section describes how to port a Liquid Crystal Display \(LCD\) driver. The hardware driver framework \(HDF\) designs a driver model for the LCD. To support an LCD, you must compile a driver, generate a model instance in the driver, and register the instance. -### 1. LCD -This section describes how to port a Liquid Crystal Display (LCD) driver. The hardware driver framework (HDF) designs a driver model for the LCD. To support an LCD, you must compile a driver, generate a model instance in the driver, and register the instance. +The LCD drivers are stored in the **//drivers/framework/model/display/driver/panel** directory. -The LCD drivers are stored in the **//drivers/framework/model/display/driver/panel** directory. +- Create a panel driver. -- Create a panel driver. +In the **Init** method of the driver, call **RegisterPanel** to register the model instance. -In the **Init** method of the driver, call **RegisterPanel** to register the model instance. -```C +``` int32_t XXXInit(struct HdfDeviceObject *object) { struct PanelData *panel = CreateYourPanel(); @@ -161,11 +180,9 @@ struct HdfDriverEntry g_xxxxDevEntry = { HDF_INIT(g_xxxxDevEntry); ``` -- Configure and load the panel driver. -All device information about the product is defined in the **//vendor/MyProductVendor/MyProduct/config/device_info/device_info.hcs** file. Modify the file by adding configurations for the device named **device_lcd** to the host named **display**. -Note: The value of **moduleName** must be the same as that in the panel driver. +- Configure and load the panel driver. All device information about the product is defined in the **//vendor/MyProductVendor/MyProduct/config/device\_info/device\_info.hcs** file. Modify the file by adding configurations for the device named **device\_lcd** to the host named **display**. Note: The value of **moduleName** must be the same as that in the panel driver. -```hcs +``` root { ... display :: host { @@ -181,16 +198,17 @@ root { } ``` -For details about driver development, see [LCD](https://gitee.com/openharmony/docs/blob/master/en/device-dev/driver/driver-peripherals-lcd-des.md). +For details about driver development, see [LCD](../driver/driver-peripherals-lcd-des.md). + +### 2. Touchscreen -### 2. Touchscreen -This section describes how to port a touchscreen driver. The touchscreen driver is stored in the **//drivers/framework/model/input/driver/touchscreen** directory. To port a touchscreen driver, register a **ChipDevice** model instance. +This section describes how to port a touchscreen driver. The touchscreen driver is stored in the **//drivers/framework/model/input/driver/touchscreen** directory. To port a touchscreen driver, register a **ChipDevice** model instance. -- Create a touchscreen driver. +- Create a touchscreen driver. -Create the **touch_ic_name.c** file in the directory. Replace **ic_name** with the name of your chip. The file template is as follows: +Create the **touch\_ic\_name.c** file in the directory. Replace **ic\_name** with the name of your chip. The file template is as follows: -```C +``` #include "hdf_touch.h" static int32_t HdfXXXXChipInit(struct HdfDeviceObject *device) @@ -212,22 +230,53 @@ struct HdfDriverEntry g_touchXXXXChipEntry = { HDF_INIT(g_touchXXXXChipEntry); ``` -Implement the following interfaces in **ChipDevice**: -| Interface| Description| -|------|------| -|int32_t (*Init)(ChipDevice *device)| Initializes a touchscreen.| -|int32_t (*Detect)(ChipDevice *device)| Detects a touchscreen.| -|int32_t (*Suspend)(ChipDevice *device)| Suspends a touchscreen.| -|int32_t (*Resume)(ChipDevice *device)| Resumes a touchscreen.| -|int32_t (*DataHandle)(ChipDevice *device)| Reads data from a touchscreen and writes the touch point data to **device > driver > frameData**.| -|int32_t (*UpdateFirmware)(ChipDevice *device)| Upgrades the firmware.| - -- Configure the product and load the driver. +Implement the following interfaces in **ChipDevice**: + + + + + + + + + + + + + + + + + + + + + + + + +

Interface

+

Description

+

int32_t (*Init)(ChipDevice *device)

+

Initializes a touchscreen.

+

int32_t (*Detect)(ChipDevice *device)

+

Detects a touchscreen.

+

int32_t (*Suspend)(ChipDevice *device)

+

Suspends a touchscreen.

+

int32_t (*Resume)(ChipDevice *device)

+

Resumes a touchscreen.

+

int32_t (*DataHandle)(ChipDevice *device)

+

Reads data from a touchscreen and writes the touch point data to device > driver > frameData.

+

int32_t (*UpdateFirmware)(ChipDevice *device)

+

Upgrades the firmware.

+
+ +- Configure the product and load the driver. + + All device information about the product is defined in the **//vendor/MyProductVendor/MyProduct/config/device\_info/device\_info.hcs** file. Modify the file by adding configurations for the device named **device\_touch\_chip** to the host named **input**. Note: The value of **moduleName** must be the same as that in the touchscreen driver. -All device information about the product is defined in the **//vendor/MyProductVendor/MyProduct/config/device_info/device_info.hcs** file. Modify the file by adding configurations for the device named **device_touch_chip** to the host named **input**. -Note: The value of **moduleName** must be the same as that in the touchscreen driver. -```hcs +``` deviceN :: deviceNode { policy = 0; priority = 130; @@ -238,31 +287,54 @@ Note: The value of **moduleName** must be the same as that in the touchscreen dr } ``` -For details about driver development, see [TOUCHSCREEN](https://gitee.com/openharmony/docs/blob/master/en/device-dev/driver/driver-peripherals-touch-des.md). - - -### 3. WLAN - -The WLAN driver is divided into two parts. One of the parts manages WLAN devices, and the other part manages WLAN traffic. **HDF WLAN** provides abstraction for the two parts. Currently, only the WLAN with the SDIO interface is supported. - -WLAN structure - -To support a chip, implement a **ChipDriver** for it. The major task is to implement the following interfaces provided by **HDF_WLAN_CORE** and **NetDevice**. - -| Interface| Header File| Description| -|------|------|------| -| HdfChipDriverFactory| `//drivers/framework/include/wifi/hdf_wlan_chipdriver_manager.h`| Factory of the **ChipDriver**, which is used to support multiple WLAN interfaces of a chip.| -| HdfChipDriver | `//drivers/framework/include/wifi/wifi_module.h`| Manages a specific WLAN interface. Each WLAN interface corresponds to an **HdfChipDriver**.| -|NetDeviceInterFace| `//drivers/framework/include/wifi/net_device.h`| Communicates with the protocol stack, such as sending data and setting the status of network interfaces.| +For details about driver development, see [TOUCHSCREEN](../driver/driver-peripherals-touch-des.md). + +### 3. WLAN + +The WLAN driver is divided into two parts. One of the parts manages WLAN devices, and the other part manages WLAN traffic. HDF WLAN provides abstraction for the two parts. Currently, only the WLAN with the SDIO interface is supported. + +**Figure 1** WLAN chip +![](figure/wlan-chip.png "wlan-chip") + +To support a chip, implement a **ChipDriver** for it. The major task is to implement the following interfaces provided by **HDF\_WLAN\_CORE** and **NetDevice**. + + + + + + + + + + + + + + + + + + + +

Interface

+

Header File

+

Description

+

HdfChipDriverFactory

+

//drivers/framework/include/wifi/hdf_wlan_chipdriver_manager.h

+

Factory of the ChipDriver, which is used to support multiple WLAN interfaces of a chip.

+

HdfChipDriver

+

//drivers/framework/include/wifi/wifi_module.h

+

Manages a specific WLAN interface. Each WLAN interface corresponds to an HdfChipDriver.

+

NetDeviceInterFace

+

//drivers/framework/include/net/net_device.h

+

Communicates with the protocol stack, such as sending data and setting the status of network interfaces.

+
To port a WLAN driver, perform the following steps: -1. Create an HDF driver. - -You are advised to place the code file in the **//device/MySoCVendor/peripheral/wifi/chip_name/** directory. -The file template is as follows: +1. Create an HDF driver. You are advised to place the code file in the **//device/MySoCVendor/peripheral/wifi/chip\_name/** directory. The file template is as follows: -```C +``` static int32_t HdfWlanHisiChipDriverInit(struct HdfDeviceObject *device) { static struct HdfChipDriverFactory factory = CreateChipDriverFactory(); struct HdfChipDriverManager *driverMgr = HdfWlanGetChipDriverMgr(); @@ -283,35 +355,97 @@ struct HdfDriverEntry g_hdfXXXChipEntry = { HDF_INIT(g_hdfXXXChipEntry); ``` -Create an **HdfChipDriverFactory** in the **CreateChipDriverFactory**. The interfaces are as follows: -| Interface| Description| -|------|------| -|const char *driverName| Indicates the driver name.| -|int32_t (*InitChip)(struct HdfWlanDevice *device)| Initializes a chip.| -|int32_t (*DeinitChip)(struct HdfWlanDevice *device)| Deinitializes a chip.| -|void (*ReleaseFactory)(struct HdfChipDriverFactory *factory)| Releases the **HdfChipDriverFactory** object.| -|struct HdfChipDriver *(*Build)(struct HdfWlanDevice *device, uint8_t ifIndex)|Creates an **HdfChipDriver**. In the input parameters, **device** indicates the device information, and **ifIndex** indicates the sequence number of this interface in the chip.| -|void (*Release)(struct HdfChipDriver *chipDriver)| Releases the **HdfChipDriver**. -|uint8_t (*GetMaxIFCount)(struct HdfChipDriverFactory *factory)| Obtains the maximum number of interfaces supported by the current chip.| - -Implement the following interfaces in the **HdfChipDriver**. - -|Interface| Description| -|------|------| -|int32_t (*init)(struct HdfChipDriver *chipDriver, NetDevice *netDev)| Initializes the current network interface. The **NetDeviceInterFace** needs to be provided for the **netDev**.| -|int32_t (*deinit)(struct HdfChipDriver *chipDriver, NetDevice *netDev)| Deinitializes the current network interface.| -|struct HdfMac80211BaseOps *ops| Provides the WLAN basic capability interface set.| -|struct HdfMac80211STAOps *staOps| Provides the interface set required for supporting the standalone (STA) mode.| -|struct HdfMac80211APOps *apOps| Provides the interface set required for supporting the access point (AP) mode.| +Create an **HdfChipDriverFactory** in the **CreateChipDriverFactory**. The interfaces are as follows: + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Interface

+

Description

+

const char *driverName

+

Indicates the driver name.

+

int32_t (*InitChip)(struct HdfWlanDevice *device)

+

Initializes a chip.

+

int32_t (*DeinitChip)(struct HdfWlanDevice *device)

+

Deinitializes a chip.

+

void (_ReleaseFactory)(struct HdfChipDriverFactory _factory)

+

Releases the HdfChipDriverFactory object.

+

struct HdfChipDriver _(_Build)(struct HdfWlanDevice *device, uint8_t ifIndex)

+

Creates an HdfChipDriver. In the input parameters, device indicates the device information, and ifIndex indicates the sequence number of this interface in the chip.

+

void (_Release)(struct HdfChipDriver _chipDriver)

+

Releases the HdfChipDriver.

+

uint8_t (*GetMaxIFCount)(struct HdfChipDriverFactory *factory)

+

Obtains the maximum number of interfaces supported by the current chip.

+
+ +Implement the following interfaces in the **HdfChipDriver**. + + + + + + + + + + + + + + + + + + + + + +

Interface

+

Description

+

int32_t (*init)(struct HdfChipDriver *chipDriver, NetDevice *netDev)

+

Initializes the current network interface. The NetDeviceInterFace needs to be provided for the netDev.

+

int32_t (*deinit)(struct HdfChipDriver *chipDriver, NetDevice *netDev)

+

Deinitializes the current network interface.

+

struct HdfMac80211BaseOps *ops

+

Provides the WLAN basic capability interface set.

+

struct HdfMac80211STAOps *staOps

+

Provides the interface set required for supporting the standalone (STA) mode.

+

struct HdfMac80211APOps *apOps

+

Provides the interface set required for supporting the access point (AP) mode.

+
+2. Compile the configuration file to describe the devices supported by the driver. +Create the chip configuration file **//vendor/MyProductVendor/MyProduct/config/wifi/wlan\_chip\_chip\_name.hcs** in the product configuration directory. -2. Compile the configuration file to describe the devices supported by the driver. +Replace **MyProductVendor**, **MyProduct**, and **chip\_name** in the path with the actual names. -Create the chip configuration file **//vendor/MyProductVendor/MyProduct/config/wifi/wlan_chip_chip_name.hcs** in the product configuration directory. -Replace **MyProductVendor**, **MyProduct**, and **chip_name** in the path with the actual names. The sample code is as follows: -```hcs + +``` root { wlan_config { chip_name :& chipList { @@ -330,11 +464,9 @@ root { 3. Edit the configuration file and load the driver. -All device information about the product is defined in the **//vendor/MyProductVendor/MyProduct/config/device_info/device_info.hcs** file. Modify the file by adding configurations for the device named **device_wlan_chips** to the host named **network**. -Note: The value of **moduleName** must be the same as that in the touchscreen driver. -The sample code is as follows: +All device information about the product is defined in the **//vendor/MyProductVendor/MyProduct/config/device\_info/device\_info.hcs** file. Modify the file by adding configurations for the device named **device\_wlan\_chips** to the host named **network**. Note: The value of **moduleName** must be the same as that in the touchscreen driver. -```hcs +``` deviceN :: deviceNode { policy = 0; preload = 2; @@ -346,8 +478,8 @@ The sample code is as follows: 4. Build the driver. -- Create a kernel configuration menu. -Create a **Kconfig** file in the **//device/MySoCVendor/peripheral** directory. The file template is as follows: +- Create a kernel configuration menu. Create a **Kconfig** file in the **//device/MySoCVendor/peripheral** directory. The file template is as follows: + ``` config DRIVERS_WLAN_XXX bool "Enable XXX WLAN Host driver" @@ -357,21 +489,25 @@ config DRIVERS_WLAN_XXX Answer Y to enable XXX Host driver. Support chip xxx ``` -Add the following sample code to the end of the **//drivers/adapter/khdf/linux/model/network/wifi/Kconfig** file to add the configuration menu to the kernel: +Add the following sample code to the end of the **//drivers/adapter/khdf/linux/model/network/wifi/Kconfig** file to add the configuration menu to the kernel: + ``` source "../../../../../device/MySoCVendor/peripheral/Kconfig" ``` -- Create a build script. +- Create a build script. + + Add the following configuration to the end of the **//drivers/adapter/khdf/linux/model/network/wifi/Makefile** file: -Add the following configuration to the end of the **//drivers/adapter/khdf/linux/model/network/wifi/Makefile** file: ``` HDF_DEVICE_ROOT := $(HDF_DIR_PREFIX)/../device obj-$(CONFIG_DRIVERS_WLAN_XXX) += $(HDF_DEVICE_ROOT)/MySoCVendor/peripheral/build/standard/ ``` -When **DRIVERS_WLAN_XXX** is enabled in the kernel, **makefile** in **//device/MySoCVendor/peripheral/build/standard/** is called. +When **DRIVERS\_WLAN\_XXX** is enabled in the kernel, **makefile** in **//device/MySoCVendor/peripheral/build/standard/** is called. For more details, see [WLAN Development](../guide/device-wlan-led-outcontrol.md). + +### 4. Samples +For details about the porting sample, see the DAYU development board adaptation guide. -For more details, see [WLAN Development](https://gitee.com/openharmony/docs/blob/master/en/device-dev/guide/device-wifi.md). diff --git a/en/device-dev/quick-start/Readme-EN.md b/en/device-dev/quick-start/Readme-EN.md index 5918e119962acd7a10c1f97cc44404739148e0e9..b330e84bc53857d01c61b2cef005c8e975347f9c 100644 --- a/en/device-dev/quick-start/Readme-EN.md +++ b/en/device-dev/quick-start/Readme-EN.md @@ -1,40 +1,36 @@ # Getting Started -- [Mini and Small Systems](quickstart-lite.md) - - [Overview](quickstart-lite-overview.md) - - [Introduction to the Development Boards](quickstart-lite-introduction.md) - - [Hi3861 Development Board](quickstart-lite-introduction-hi3861.md) - - [Hi3516 Development Board](quickstart-lite-introduction-hi3516.md) - - [Hi3518 Development Board](quickstart-lite-introduction-hi3518.md) - - - [Environment Setup](quickstart-lite-env-setup.md) - - [Overview](quickstart-lite-env-setup-des.md) - - [Windows Development Environment](quickstart-lite-env-setup-win.md) - - [Ubuntu Build Environment](quickstart-lite-env-setup-lin.md) - - [FAQ](quickstart-lite-env-setup-faqs.md) - - - [How to Develop](quickstart-lite-steps.md) - - [Hi3861](quickstart-lite-steps-board3861.md) - - [Setting Up the Environment](quickstart-lite-steps-board3861-setting.md) - - [WLAN Connection](quickstart-lite-steps-board3861-connection.md) - - [Running a Hello World Program](quickstart-lite-steps-board3861-running.md) - - [FAQs](quickstart-lite-steps-board3861-faqs.md) - - - [Hi3516](quickstart-lite-steps-board3516.md) - - [Setting Up the Environment](quickstart-lite-steps-board3516-setting.md) - - [Running a Hello OHOS Program](quickstart-lite-steps-board3516-running.md) - - [Developing a Driver](quickstart-lite-steps-board3516-program.md) - - [FAQs](quickstart-lite-steps-board3516-faqs.md) - - - [Hi3518](quickstart-lite-steps-board3518.md) - - [Setting Up the Environment](quickstart-lite-steps-board3518-setting.md) - - [Running a Hello OHOS Program](quickstart-lite-steps-board3518-running.md) - - [FAQs](quickstart-lite-steps-board3518-faqs.md) - -- [Standard System](quickstart-standard.md) - - [Introduction](quickstart-standard-description.md) - - [Setting Up Windows Development Environment](quickstart-standard-windows-environment.md) - - [Setting Up Ubuntu Development Environment in Docker Mode and Building Source Code](quickstart-standard-docker-environment.md) - - [Setting Up Ubuntu Development Environment with Installation Package and Building Source Code](quickstart-standard-package-environment.md) - - [Burning Images](quickstart-standard-burn.md) - - [FAQs](quickstart-standard-faq.md) \ No newline at end of file +- [Mini and Small Systems](quickstart-lite.md) + - [Overview](quickstart-lite-overview.md) + - [Introduction](quickstart-lite-introduction.md) + - [Hi3861 Development Board](oem_minitinier_des_3861.md) + - [Hi3516 Development Board](oem_minitinier_des_3516.md) + - [Hi3518 Development Board](oem_minitinier_des_3518.md) + - [Environment Setup](quickstart-lite-env-setup.md) + - [Overview](quickstart-lite-env-setup-overview.md) + - [Setting Up Windows Development Environment](quickstart-lite-env-setup-windows.md) + - [Setting Up Ubuntu Development Environment](quickstart-lite-env-setup-linux.md) + - [FAQs](quickstart-lite-env-setup-faqs.md) + - [How to Develop](quickstart-lite-steps.md) + - [Hi3861](quickstart-lite-steps-hi3861.md) + - [Setting Up the Environment](quickstart-lite-steps-hi3861-setting.md) + - [Setting Up WLAN Connection](quickstart-lite-steps-hi3861-connection.md) + - [Running a Hello World Program](quickstart-lite-steps-hi3861-running.md) + - [FAQs](quickstart-lite-steps-hi3861-faqs.md) + - [Hi3516](quickstart-lite-steps-hi3516.md) + - [Setting Up the Environment](quickstart-lite-steps-hi3516-setting.md) + - [Running a Hello OHOS Program](quickstart-lite-steps-hi3516-running.md) + - [Developing a Driver](quickstart-lite-steps-hi3516-program.md) + - [FAQs](quickstart-lite-steps-hi3516-faqs.md) + - [Hi3518](quickstart-lite-steps-hi3518.md) + - [Setting Up the Environment](quickstart-lite-steps-hi3518-setting.md) + - [Running a Hello OHOS Program](quickstart-lite-steps-hi3518-running.md) + - [FAQs](quickstart-lite-steps-hi3518-faqs.md) +- [Standard System](quickstart-standard.md) + - [Introduction](quickstart-standard-overview.md) + - [Setting Up Windows Development Environment](quickstart-standard-windows-environment.md) + - [Setting Up Ubuntu Development Environment in Docker Mode](quickstart-standard-docker-environment.md) + - [Setting Up Ubuntu Development Environment with Installation Package](quickstart-standard-package-environment.md) + - [Burning Images](quickstart-standard-burn.md) + - [Running an Image](quickstart-standard-running.md) + - [FAQs](quickstart-standard-faqs.md) \ No newline at end of file diff --git a/en/device-dev/quick-start/figure/allowing-the-visual-studio-code-application-to-access-the-network-16.png b/en/device-dev/quick-start/figure/allowing-the-visual-studio-code-application-to-access-the-network-25.png similarity index 100% rename from en/device-dev/quick-start/figure/allowing-the-visual-studio-code-application-to-access-the-network-16.png rename to en/device-dev/quick-start/figure/allowing-the-visual-studio-code-application-to-access-the-network-25.png diff --git "a/en/device-dev/quick-start/figure/3861\346\255\243\351\235\242.png" b/en/device-dev/quick-start/figure/appearance-of-hi3861-wlan-module.png similarity index 100% rename from "en/device-dev/quick-start/figure/3861\346\255\243\351\235\242.png" rename to en/device-dev/quick-start/figure/appearance-of-hi3861-wlan-module.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174350615.png b/en/device-dev/quick-start/figure/appearance-of-the-hi3861-mother-board.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174350615.png rename to en/device-dev/quick-start/figure/appearance-of-the-hi3861-mother-board.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174350643.png b/en/device-dev/quick-start/figure/burning-succeeded-14.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174350643.png rename to en/device-dev/quick-start/figure/burning-succeeded-14.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001113969542.png b/en/device-dev/quick-start/figure/burning-succeeded-4.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001113969542.png rename to en/device-dev/quick-start/figure/burning-succeeded-4.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174350669.png b/en/device-dev/quick-start/figure/burning-succeeded.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174350669.png rename to en/device-dev/quick-start/figure/burning-succeeded.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001072757874.png b/en/device-dev/quick-start/figure/button.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001072757874.png rename to en/device-dev/quick-start/figure/button.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001130278040.png b/en/device-dev/quick-start/figure/checking-the-installation-result.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001130278040.png rename to en/device-dev/quick-start/figure/checking-the-installation-result.png diff --git a/en/device-dev/quick-start/figure/checking-whether-the-serial-port-is-used-9.png b/en/device-dev/quick-start/figure/checking-whether-the-serial-port-is-used-18.png similarity index 100% rename from en/device-dev/quick-start/figure/checking-whether-the-serial-port-is-used-9.png rename to en/device-dev/quick-start/figure/checking-whether-the-serial-port-is-used-18.png diff --git a/en/device-dev/quick-start/figure/2021-01-27_170334-19.png b/en/device-dev/quick-start/figure/deveco-device-tool-logo.png similarity index 100% rename from en/device-dev/quick-start/figure/2021-01-27_170334-19.png rename to en/device-dev/quick-start/figure/deveco-device-tool-logo.png diff --git a/en/device-dev/quick-start/figure/2021-01-27_170334-2.png b/en/device-dev/quick-start/figure/deveco-device-toollogo.png similarity index 100% rename from en/device-dev/quick-start/figure/2021-01-27_170334-2.png rename to en/device-dev/quick-start/figure/deveco-device-toollogo.png diff --git a/en/device-dev/quick-start/figure/3-0.png b/en/device-dev/quick-start/figure/directory-for-storing-the-generated-files.png similarity index 100% rename from en/device-dev/quick-start/figure/3-0.png rename to en/device-dev/quick-start/figure/directory-for-storing-the-generated-files.png diff --git a/en/device-dev/quick-start/figure/disabling-the-terminal-using-the-serial-port-10.png b/en/device-dev/quick-start/figure/disabling-the-terminal-using-the-serial-port-19.png similarity index 100% rename from en/device-dev/quick-start/figure/disabling-the-terminal-using-the-serial-port-10.png rename to en/device-dev/quick-start/figure/disabling-the-terminal-using-the-serial-port-19.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001128311072.png b/en/device-dev/quick-start/figure/download-ecdsa.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001128311072.png rename to en/device-dev/quick-start/figure/download-ecdsa.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174270699.png b/en/device-dev/quick-start/figure/download-six.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174270699.png rename to en/device-dev/quick-start/figure/download-six.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001128470864.png b/en/device-dev/quick-start/figure/download-the-source-code.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001128470864.png rename to en/device-dev/quick-start/figure/download-the-source-code.png diff --git a/en/device-dev/quick-start/figure/10.png b/en/device-dev/quick-start/figure/download-zlib.png similarity index 100% rename from en/device-dev/quick-start/figure/10.png rename to en/device-dev/quick-start/figure/download-zlib.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001056814287.png b/en/device-dev/quick-start/figure/en-us_image_0000001056814287.png deleted file mode 100644 index 0cd7b0a67ce7110774979284e69c462058723756..0000000000000000000000000000000000000000 Binary files a/en/device-dev/quick-start/figure/en-us_image_0000001056814287.png and /dev/null differ diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001072468991.png b/en/device-dev/quick-start/figure/en-us_image_0000001072468991.png deleted file mode 100644 index 43e43b52b677660cec4d049784b246aebe1a2434..0000000000000000000000000000000000000000 Binary files a/en/device-dev/quick-start/figure/en-us_image_0000001072468991.png and /dev/null differ diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001096154076.png b/en/device-dev/quick-start/figure/en-us_image_0000001096154076.png deleted file mode 100644 index dd4fd805a602980b08d54eb2856b27253b171d8d..0000000000000000000000000000000000000000 Binary files a/en/device-dev/quick-start/figure/en-us_image_0000001096154076.png and /dev/null differ diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001100641602.png b/en/device-dev/quick-start/figure/en-us_image_0000001100641602.png deleted file mode 100644 index 2710fef9266dde76a9c555bc2edecebd8e3d8d1b..0000000000000000000000000000000000000000 Binary files a/en/device-dev/quick-start/figure/en-us_image_0000001100641602.png and /dev/null differ diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001128311096.png b/en/device-dev/quick-start/figure/en-us_image_0000001128311096.png deleted file mode 100755 index 0cd7b0a67ce7110774979284e69c462058723756..0000000000000000000000000000000000000000 Binary files a/en/device-dev/quick-start/figure/en-us_image_0000001128311096.png and /dev/null differ diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001128470902.png b/en/device-dev/quick-start/figure/en-us_image_0000001128470902.png deleted file mode 100755 index 43e43b52b677660cec4d049784b246aebe1a2434..0000000000000000000000000000000000000000 Binary files a/en/device-dev/quick-start/figure/en-us_image_0000001128470902.png and /dev/null differ diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001128470908.png b/en/device-dev/quick-start/figure/en-us_image_0000001128470908.png deleted file mode 100644 index 8aa65e82be8db2e7de62fca8980d00ae42215d96..0000000000000000000000000000000000000000 Binary files a/en/device-dev/quick-start/figure/en-us_image_0000001128470908.png and /dev/null differ diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001143154485.png b/en/device-dev/quick-start/figure/en-us_image_0000001143154485.png deleted file mode 100644 index 8723967946c1f0bd471434d3422acc3bd6142535..0000000000000000000000000000000000000000 Binary files a/en/device-dev/quick-start/figure/en-us_image_0000001143154485.png and /dev/null differ diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001160527611.png b/en/device-dev/quick-start/figure/en-us_image_0000001160527611.png deleted file mode 100644 index 558d3299149a13c444966ef3e3260bf5b0956667..0000000000000000000000000000000000000000 Binary files a/en/device-dev/quick-start/figure/en-us_image_0000001160527611.png and /dev/null differ diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001163045527.png b/en/device-dev/quick-start/figure/en-us_image_0000001163045527.png deleted file mode 100644 index d8ac531b8265f265e2bd25518b212143fc61e4cf..0000000000000000000000000000000000000000 Binary files a/en/device-dev/quick-start/figure/en-us_image_0000001163045527.png and /dev/null differ diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174270735.png b/en/device-dev/quick-start/figure/en-us_image_0000001174270735.png deleted file mode 100755 index 2710fef9266dde76a9c555bc2edecebd8e3d8d1b..0000000000000000000000000000000000000000 Binary files a/en/device-dev/quick-start/figure/en-us_image_0000001174270735.png and /dev/null differ diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174350653.png b/en/device-dev/quick-start/figure/en-us_image_0000001174350653.png deleted file mode 100644 index e0dc22d338e23ca54b973597bf9f94ae4fd08a42..0000000000000000000000000000000000000000 Binary files a/en/device-dev/quick-start/figure/en-us_image_0000001174350653.png and /dev/null differ diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174350655.png b/en/device-dev/quick-start/figure/en-us_image_0000001174350655.png deleted file mode 100644 index 2f6e93e40bf4abee3c83aebf0c5f3299e51dc630..0000000000000000000000000000000000000000 Binary files a/en/device-dev/quick-start/figure/en-us_image_0000001174350655.png and /dev/null differ diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174270731.png b/en/device-dev/quick-start/figure/erase-u-boot.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174270731.png rename to en/device-dev/quick-start/figure/erase-u-boot.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174270715.png b/en/device-dev/quick-start/figure/error.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174270715.png rename to en/device-dev/quick-start/figure/error.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001128311070.png b/en/device-dev/quick-start/figure/error2.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001128311070.png rename to en/device-dev/quick-start/figure/error2.png diff --git a/en/device-dev/quick-start/figure/failed-to-obtain-the-image-file-due-to-unavailable-connection-12.png b/en/device-dev/quick-start/figure/failed-to-obtain-the-image-file-due-to-unavailable-connection-21.png similarity index 100% rename from en/device-dev/quick-start/figure/failed-to-obtain-the-image-file-due-to-unavailable-connection-12.png rename to en/device-dev/quick-start/figure/failed-to-obtain-the-image-file-due-to-unavailable-connection-21.png diff --git a/en/device-dev/quick-start/figure/failed-to-open-the-serial-port-8.png b/en/device-dev/quick-start/figure/failed-to-open-the-serial-port-17.png similarity index 100% rename from en/device-dev/quick-start/figure/failed-to-open-the-serial-port-8.png rename to en/device-dev/quick-start/figure/failed-to-open-the-serial-port-17.png diff --git a/en/device-dev/quick-start/figure/firewall-and-network-protection-14.png b/en/device-dev/quick-start/figure/firewall-and-network-protection-23.png similarity index 100% rename from en/device-dev/quick-start/figure/firewall-and-network-protection-14.png rename to en/device-dev/quick-start/figure/firewall-and-network-protection-23.png diff --git "a/en/device-dev/quick-start/figure/\347\237\251\345\275\242\345\244\207\344\273\275-292.png" b/en/device-dev/quick-start/figure/hardware-connections-0.png similarity index 100% rename from "en/device-dev/quick-start/figure/\347\237\251\345\275\242\345\244\207\344\273\275-292.png" rename to en/device-dev/quick-start/figure/hardware-connections-0.png diff --git a/en/device-dev/quick-start/figure/hardware-connections-3.png b/en/device-dev/quick-start/figure/hardware-connections-8.png similarity index 100% rename from en/device-dev/quick-start/figure/hardware-connections-3.png rename to en/device-dev/quick-start/figure/hardware-connections-8.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001128470904.png b/en/device-dev/quick-start/figure/hi3516-upload-options.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001128470904.png rename to en/device-dev/quick-start/figure/hi3516-upload-options.png diff --git "a/en/device-dev/quick-start/figure/3516\346\255\243\351\235\242-17.png" b/en/device-dev/quick-start/figure/hi3516d-v300-front-view-27.png similarity index 100% rename from "en/device-dev/quick-start/figure/3516\346\255\243\351\235\242-17.png" rename to en/device-dev/quick-start/figure/hi3516d-v300-front-view-27.png diff --git "a/en/device-dev/quick-start/figure/3516\346\255\243\351\235\242.png" b/en/device-dev/quick-start/figure/hi3516d-v300-front-view.png similarity index 100% rename from "en/device-dev/quick-start/figure/3516\346\255\243\351\235\242.png" rename to en/device-dev/quick-start/figure/hi3516d-v300-front-view.png diff --git a/en/device-dev/quick-start/figure/front-view-of-the-hi3518e-v300-board.png b/en/device-dev/quick-start/figure/hi3518e-v300-front-view.png similarity index 100% rename from en/device-dev/quick-start/figure/front-view-of-the-hi3518e-v300-board.png rename to en/device-dev/quick-start/figure/hi3518e-v300-front-view.png diff --git "a/en/device-dev/quick-start/figure/hi3518\346\255\243\350\203\214\351\235\242.png" b/en/device-dev/quick-start/figure/hi3518e-v300-rear-view.png similarity index 100% rename from "en/device-dev/quick-start/figure/hi3518\346\255\243\350\203\214\351\235\242.png" rename to en/device-dev/quick-start/figure/hi3518e-v300-rear-view.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001128311066.png b/en/device-dev/quick-start/figure/hi3861-functions.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001128311066.png rename to en/device-dev/quick-start/figure/hi3861-functions.png diff --git a/en/device-dev/quick-start/figure/hisilicon-arm-linux.png b/en/device-dev/quick-start/figure/hisilicon-arm-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..114a8e1c31ab1a58ece6b0d1e00d673256b42b2b Binary files /dev/null and b/en/device-dev/quick-start/figure/hisilicon-arm-linux.png differ diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001073840162.png b/en/device-dev/quick-start/figure/hpm-version.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001073840162.png rename to en/device-dev/quick-start/figure/hpm-version.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001137332702.png b/en/device-dev/quick-start/figure/install.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001137332702.png rename to en/device-dev/quick-start/figure/install.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001138853234.png b/en/device-dev/quick-start/figure/installation-complete.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001138853234.png rename to en/device-dev/quick-start/figure/installation-complete.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001138841358.png b/en/device-dev/quick-start/figure/installing-python.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001138841358.png rename to en/device-dev/quick-start/figure/installing-python.png diff --git a/en/device-dev/quick-start/figure/installing-the-deveco-device-tool.png b/en/device-dev/quick-start/figure/installing-the-deveco-device-tool.png new file mode 100644 index 0000000000000000000000000000000000000000..bc895e3b216c8029d72bacb260db74d2378e3853 Binary files /dev/null and b/en/device-dev/quick-start/figure/installing-the-deveco-device-tool.png differ diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001057335403.png b/en/device-dev/quick-start/figure/installing-visual-studio-code.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001057335403.png rename to en/device-dev/quick-start/figure/installing-visual-studio-code.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001117463460.png b/en/device-dev/quick-start/figure/ip-address-information.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001117463460.png rename to en/device-dev/quick-start/figure/ip-address-information.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174350659.png b/en/device-dev/quick-start/figure/login-serial-port.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174350659.png rename to en/device-dev/quick-start/figure/login-serial-port.png diff --git a/en/device-dev/quick-start/figure/network-and-firewall-setting-13.png b/en/device-dev/quick-start/figure/network-and-firewall-setting-22.png similarity index 100% rename from en/device-dev/quick-start/figure/network-and-firewall-setting-13.png rename to en/device-dev/quick-start/figure/network-and-firewall-setting-22.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001142616226.png b/en/device-dev/quick-start/figure/open-the-serial-port-tool.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001142616226.png rename to en/device-dev/quick-start/figure/open-the-serial-port-tool.png diff --git a/en/device-dev/quick-start/figure/5-1.png b/en/device-dev/quick-start/figure/opening-the-deveco-serial-port.png similarity index 100% rename from en/device-dev/quick-start/figure/5-1.png rename to en/device-dev/quick-start/figure/opening-the-deveco-serial-port.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001128470922.png b/en/device-dev/quick-start/figure/options.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001128470922.png rename to en/device-dev/quick-start/figure/options.png diff --git a/zh-cn/device-dev/quick-start/figure/1-18.gif b/en/device-dev/quick-start/figure/press-any-key-to-enter-the-system.gif similarity index 100% rename from zh-cn/device-dev/quick-start/figure/1-18.gif rename to en/device-dev/quick-start/figure/press-any-key-to-enter-the-system.gif diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001128470880.png b/en/device-dev/quick-start/figure/reason-2.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001128470880.png rename to en/device-dev/quick-start/figure/reason-2.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174270739.png b/en/device-dev/quick-start/figure/reason-for-not-finding-python.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174270739.png rename to en/device-dev/quick-start/figure/reason-for-not-finding-python.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001114129428.png b/en/device-dev/quick-start/figure/record-the-serial-port-number-1.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001114129428.png rename to en/device-dev/quick-start/figure/record-the-serial-port-number-1.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001128470900.png b/en/device-dev/quick-start/figure/record-the-serial-port-number-10.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001128470900.png rename to en/device-dev/quick-start/figure/record-the-serial-port-number-10.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001128311118.png b/en/device-dev/quick-start/figure/record-the-serial-port-number.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001128311118.png rename to en/device-dev/quick-start/figure/record-the-serial-port-number.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001128311092.png b/en/device-dev/quick-start/figure/restart-the-development-board-12.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001128311092.png rename to en/device-dev/quick-start/figure/restart-the-development-board-12.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001114129432.png b/en/device-dev/quick-start/figure/restart-the-development-board-3.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001114129432.png rename to en/device-dev/quick-start/figure/restart-the-development-board-3.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174270751.png b/en/device-dev/quick-start/figure/restart-the-development-board.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174270751.png rename to en/device-dev/quick-start/figure/restart-the-development-board.png diff --git a/en/device-dev/quick-start/figure/changjian1-11.png b/en/device-dev/quick-start/figure/restarting-burning-20.png similarity index 100% rename from en/device-dev/quick-start/figure/changjian1-11.png rename to en/device-dev/quick-start/figure/restarting-burning-20.png diff --git a/en/device-dev/quick-start/figure/changjian1.png b/en/device-dev/quick-start/figure/restarting-burning.png similarity index 100% rename from en/device-dev/quick-start/figure/changjian1.png rename to en/device-dev/quick-start/figure/restarting-burning.png diff --git a/en/device-dev/quick-start/figure/4.png b/en/device-dev/quick-start/figure/running-commands-on-the-terminal-panel.png similarity index 100% rename from en/device-dev/quick-start/figure/4.png rename to en/device-dev/quick-start/figure/running-commands-on-the-terminal-panel.png diff --git "a/zh-cn/device-dev/quick-start/figure/\345\220\257\345\212\2501.png" b/en/device-dev/quick-start/figure/save-the-parameter-settings.png similarity index 100% rename from "zh-cn/device-dev/quick-start/figure/\345\220\257\345\212\2501.png" rename to en/device-dev/quick-start/figure/save-the-parameter-settings.png diff --git a/en/device-dev/quick-start/figure/3.png b/en/device-dev/quick-start/figure/selecting-the-target-build-version.png similarity index 100% rename from en/device-dev/quick-start/figure/3.png rename to en/device-dev/quick-start/figure/selecting-the-target-build-version.png diff --git a/en/device-dev/quick-start/figure/selecting-the-visual-studio-code-application-15.png b/en/device-dev/quick-start/figure/selecting-the-visual-studio-code-application-24.png similarity index 100% rename from en/device-dev/quick-start/figure/selecting-the-visual-studio-code-application-15.png rename to en/device-dev/quick-start/figure/selecting-the-visual-studio-code-application-24.png diff --git a/en/device-dev/quick-start/figure/chuankou1-6.png b/en/device-dev/quick-start/figure/serial-port-connection-15.png similarity index 100% rename from en/device-dev/quick-start/figure/chuankou1-6.png rename to en/device-dev/quick-start/figure/serial-port-connection-15.png diff --git a/en/device-dev/quick-start/figure/chuankou1.png b/en/device-dev/quick-start/figure/serial-port-connection-5.png similarity index 100% rename from en/device-dev/quick-start/figure/chuankou1.png rename to en/device-dev/quick-start/figure/serial-port-connection-5.png diff --git a/zh-cn/device-dev/quick-start/figure/chuankou1.png b/en/device-dev/quick-start/figure/serial-port-connection.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/chuankou1.png rename to en/device-dev/quick-start/figure/serial-port-connection.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174350633.png b/en/device-dev/quick-start/figure/serial-port-entry.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174350633.png rename to en/device-dev/quick-start/figure/serial-port-entry.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174350649.png b/en/device-dev/quick-start/figure/setting-11.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174350649.png rename to en/device-dev/quick-start/figure/setting-11.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001128311116.png b/en/device-dev/quick-start/figure/setting.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001128311116.png rename to en/device-dev/quick-start/figure/setting.png diff --git a/en/device-dev/quick-start/figure/2021-01-27_170334-18.png b/en/device-dev/quick-start/figure/settings-2.png similarity index 100% rename from en/device-dev/quick-start/figure/2021-01-27_170334-18.png rename to en/device-dev/quick-start/figure/settings-2.png diff --git a/en/device-dev/quick-start/figure/settings-4.png b/en/device-dev/quick-start/figure/settings-9.png similarity index 100% rename from en/device-dev/quick-start/figure/settings-4.png rename to en/device-dev/quick-start/figure/settings-9.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001128311104.png b/en/device-dev/quick-start/figure/setup-was-successful.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001128311104.png rename to en/device-dev/quick-start/figure/setup-was-successful.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174270713.png b/en/device-dev/quick-start/figure/solution-26.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174270713.png rename to en/device-dev/quick-start/figure/solution-26.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174350623.png b/en/device-dev/quick-start/figure/solution-7.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174350623.png rename to en/device-dev/quick-start/figure/solution-7.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174350661.png b/en/device-dev/quick-start/figure/solution.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174350661.png rename to en/device-dev/quick-start/figure/solution.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174270729.png b/en/device-dev/quick-start/figure/start-burning.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174270729.png rename to en/device-dev/quick-start/figure/start-burning.png diff --git "a/zh-cn/device-dev/quick-start/figure/\345\220\257\345\212\2502.png" b/en/device-dev/quick-start/figure/start-the-system.png similarity index 100% rename from "zh-cn/device-dev/quick-start/figure/\345\220\257\345\212\2502.png" rename to en/device-dev/quick-start/figure/start-the-system.png diff --git "a/zh-cn/device-dev/quick-start/figure/\345\220\257\345\212\250.png" b/en/device-dev/quick-start/figure/start.png similarity index 100% rename from "zh-cn/device-dev/quick-start/figure/\345\220\257\345\212\250.png" rename to en/device-dev/quick-start/figure/start.png diff --git a/en/device-dev/quick-start/figure/1.png b/en/device-dev/quick-start/figure/starting-the-ide-terminal-tool.png similarity index 100% rename from en/device-dev/quick-start/figure/1.png rename to en/device-dev/quick-start/figure/starting-the-ide-terminal-tool.png diff --git a/en/device-dev/quick-start/figure/5.png b/en/device-dev/quick-start/figure/successful-building.png similarity index 100% rename from en/device-dev/quick-start/figure/5.png rename to en/device-dev/quick-start/figure/successful-building.png diff --git "a/en/device-dev/quick-start/figure/\346\210\252\345\233\276.png" b/en/device-dev/quick-start/figure/successful-networking-of-the-wlan-module.png similarity index 100% rename from "en/device-dev/quick-start/figure/\346\210\252\345\233\276.png" rename to en/device-dev/quick-start/figure/successful-networking-of-the-wlan-module.png diff --git a/en/device-dev/quick-start/figure/6.png b/en/device-dev/quick-start/figure/successful-resetting-of-the-wlan-module.png similarity index 100% rename from en/device-dev/quick-start/figure/6.png rename to en/device-dev/quick-start/figure/successful-resetting-of-the-wlan-module.png diff --git a/en/device-dev/quick-start/figure/successful-system-startup-and-program-execution-7.png b/en/device-dev/quick-start/figure/successful-system-startup-and-program-execution-16.png similarity index 100% rename from en/device-dev/quick-start/figure/successful-system-startup-and-program-execution-7.png rename to en/device-dev/quick-start/figure/successful-system-startup-and-program-execution-16.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174270743.png b/en/device-dev/quick-start/figure/symptom.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174270743.png rename to en/device-dev/quick-start/figure/symptom.png diff --git a/en/device-dev/quick-start/figure/qi1.png b/en/device-dev/quick-start/figure/system-startup-6.png similarity index 100% rename from en/device-dev/quick-start/figure/qi1.png rename to en/device-dev/quick-start/figure/system-startup-6.png diff --git a/zh-cn/device-dev/quick-start/figure/qi1.png b/en/device-dev/quick-start/figure/system-startup.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/qi1.png rename to en/device-dev/quick-start/figure/system-startup.png diff --git a/en/device-dev/quick-start/figure/2.png b/en/device-dev/quick-start/figure/terminal-panel.png similarity index 100% rename from en/device-dev/quick-start/figure/2.png rename to en/device-dev/quick-start/figure/terminal-panel.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001128311094.png b/en/device-dev/quick-start/figure/u-boot-erased-successfully.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001128311094.png rename to en/device-dev/quick-start/figure/u-boot-erased-successfully.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174350641.png b/en/device-dev/quick-start/figure/upload-13.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174350641.png rename to en/device-dev/quick-start/figure/upload-13.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001117621400.png b/en/device-dev/quick-start/figure/upload-options-28.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001117621400.png rename to en/device-dev/quick-start/figure/upload-options-28.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001128311090.png b/en/device-dev/quick-start/figure/upload-options.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001128311090.png rename to en/device-dev/quick-start/figure/upload-options.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174270749.png b/en/device-dev/quick-start/figure/upload.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174270749.png rename to en/device-dev/quick-start/figure/upload.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001142802505.png b/en/device-dev/quick-start/figure/visual-studio-code.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001142802505.png rename to en/device-dev/quick-start/figure/visual-studio-code.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174270737.png b/en/device-dev/quick-start/figure/wadrecvcb-function.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174270737.png rename to en/device-dev/quick-start/figure/wadrecvcb-function.png diff --git a/en/device-dev/quick-start/quickstart-lite-introduction-hi3516.md b/en/device-dev/quick-start/oem_minitinier_des_3516.md similarity index 95% rename from en/device-dev/quick-start/quickstart-lite-introduction-hi3516.md rename to en/device-dev/quick-start/oem_minitinier_des_3516.md index 69fcc82dfeba427de884a26a709551cdd50aa0b8..d4c8484af9eafe3482227a92b444a3b402d72eac 100644 --- a/en/device-dev/quick-start/quickstart-lite-introduction-hi3516.md +++ b/en/device-dev/quick-start/oem_minitinier_des_3516.md @@ -7,10 +7,8 @@ Hi3516D V300 is a next-generation system on chip \(SoC\) designed for the industry-dedicated smart HD IP camera. It introduces a next-generation image signal processor \(ISP\), the H.265 video compression encoder, and a high-performance NNIE engine, leading the industry in terms of low bit rate, high image quality, intelligent processing and analysis, and low power consumption. -**Figure 1** Front view of the Hi3516D V300 board - - -![](figure/3516正面.png) +**Figure 1** Hi3516D V300 front view +![](figure/hi3516d-v300-front-view.png "hi3516d-v300-front-view") ## Development Board Specifications diff --git a/en/device-dev/quick-start/quickstart-lite-introduction-hi3518.md b/en/device-dev/quick-start/oem_minitinier_des_3518.md similarity index 93% rename from en/device-dev/quick-start/quickstart-lite-introduction-hi3518.md rename to en/device-dev/quick-start/oem_minitinier_des_3518.md index 4e050a388c0bd04733b5b37a6849e7a1d8fbf143..a4dd13f06438dbf82bfd5e00895dd9a0ebdac9bb 100644 --- a/en/device-dev/quick-start/quickstart-lite-introduction-hi3518.md +++ b/en/device-dev/quick-start/oem_minitinier_des_3518.md @@ -7,13 +7,11 @@ Hi3518E V300 is a next-generation system on chip \(SoC\) designed for the industry-dedicated smart HD IP camera. It introduces a next-generation image signal processor \(ISP\), the H.265 video compression encoder, and the advanced low-power process and architecture design, leading the industry in terms of low bit rate, high image quality, and low power consumption. -**Figure 1** Front view of the Hi3518E V300 board -![](figure/front-view-of-the-hi3518e-v300-board.png "front-view-of-the-hi3518e-v300-board") +**Figure 1** Hi3518E V300 front view +![](figure/hi3518e-v300-front-view.png "hi3518e-v300-front-view") -**Figure 2** Rear view of the Hi3518E V300 board - - -![](figure/hi3518正背面.png) +**Figure 2** Hi3518E V300 rear view +![](figure/hi3518e-v300-rear-view.png "hi3518e-v300-rear-view") ## Development Board Specifications diff --git a/en/device-dev/quick-start/quickstart-lite-introduction-hi3861.md b/en/device-dev/quick-start/oem_minitinier_des_3861.md similarity index 97% rename from en/device-dev/quick-start/quickstart-lite-introduction-hi3861.md rename to en/device-dev/quick-start/oem_minitinier_des_3861.md index 3a8c051e1c78e97241c6d8407a9e7c37afe50c4b..25055ec06c7acf5f821af4797ce582b802b4e028 100644 --- a/en/device-dev/quick-start/quickstart-lite-introduction-hi3861.md +++ b/en/device-dev/quick-start/oem_minitinier_des_3861.md @@ -9,27 +9,21 @@ The Hi3861 WLAN module is a development board with 2 x 5 cm form factor. It contains a 2.4 GHz WLAN SoC that highly integrates the IEEE 802.11b/g/n baseband and radio frequency \(RF\) circuit. This module provides open and easy-to-use development and debugging environments for running OpenHarmony. -**Figure 1** Appearance of Hi3861 WLAN module - - -![](figure/3861正面.png) +**Figure 1** Appearance of Hi3861 WLAN module +![](figure/appearance-of-hi3861-wlan-module.png "appearance-of-hi3861-wlan-module") The Hi3861 WLAN module can also be connected to the Hi3861 mother board to expand its peripheral capabilities. The following figure shows the Hi3861 mother board. -**Figure 2** Appearance of the Hi3861 mother board - - -![](figure/en-us_image_0000001174350615.png) +**Figure 2** Appearance of the Hi3861 mother board +![](figure/appearance-of-the-hi3861-mother-board.png "appearance-of-the-hi3861-mother-board") - The RF circuit includes modules such as the power amplifier \(PA\), low noise amplifier \(LNA\), RF Balun, antenna switch, and power management. It supports a standard bandwidth of 20 MHz and a narrow bandwidth of 5 MHz or 10 MHz, and provides a maximum rate of 72.2 Mbit/s at the physical layer. - The Hi3861 WLAN baseband supports the orthogonal frequency division multiplexing \(OFDM\) technology and is backward compatible with the direct sequence spread spectrum \(DSSS\) and complementary code keying \(CCK\) technologies. In addition, the Hi3861 WLAN baseband supports various data rates specified in the IEEE 802.11 b/g/n protocol. - The Hi3861 chip integrates the high-performance 32-bit microprocessor, hardware security engine, and various peripheral interfaces. The peripheral interfaces include the Synchronous Peripheral Interface \(SPI\), Universal Asynchronous Receiver & Transmitter \(UART\), the Inter Integrated Circuit \(I2C\), Pulse Width Modulation \(PWM\), General Purpose Input/Output \(GPIO\) interface, and Analog to Digital Converter \(ADC\). The Hi3861 chip also supports the high-speed Secure Digital Input/Output \(SDIO\) 2.0 interface, with a maximum clock frequency of 50 MHz. This chip has a built-in static random access memory \(SRAM\) and flash memory, so that programs can run independently or run from a flash drive. - The Hi3861 chip applies to Internet of Things \(IoT\) devices such as smart home appliances. - **Figure 3** Hi3861 functions - - - ![](figure/en-us_image_0000001128311066.png) + **Figure 3** Hi3861 functions + ![](figure/hi3861-functions.png "hi3861-functions") ## Resources and Constraints diff --git a/en/device-dev/quick-start/quickstart-lite-env-setup-faqs.md b/en/device-dev/quick-start/quickstart-lite-env-setup-faqs.md index b1ed6400050ae7938c1873878e305e8779acac1f..43182ef6dac132d9d1b2622eb7b82ec800d28bdb 100644 --- a/en/device-dev/quick-start/quickstart-lite-env-setup-faqs.md +++ b/en/device-dev/quick-start/quickstart-lite-env-setup-faqs.md @@ -1,4 +1,4 @@ -# FAQ +# FAQs - [What should I do if garbled characters and segmentation faults occur during hb installation?](#section411894616119) - [What should I do if the message "cannot import 'sysconfig' from 'distutils'" is displayed during hb installation?](#section629417571626) diff --git a/en/device-dev/quick-start/quickstart-lite-env-setup-lin.md b/en/device-dev/quick-start/quickstart-lite-env-setup-lin.md deleted file mode 100644 index 2af1f471f0a4929f940cd0e773601073a3aa9e46..0000000000000000000000000000000000000000 --- a/en/device-dev/quick-start/quickstart-lite-env-setup-lin.md +++ /dev/null @@ -1,360 +0,0 @@ -# Ubuntu Build Environment - -- [Obtaining Source Code and Tools](#section1897711811517) -- [Obtaining Source Code](#section1545225464016) -- [Installing and Configuring Python](#section1238412211211) -- [Installing gn](#section29216201423) -- [Installing ninja](#section8762358731) -- [Installing LLVM](#section12202192215415) -- [Installing hb](#section15794154618411) - - [Prerequisites](#section1083283711515) - - [Installation Procedure](#section11518484814) - - [Uninstalling hb](#section3512551574) - -- [Installing Other Tools](#section830511218494) - - [Installation Procedure](#section54409586499) - - -Operating system: 64-bit version of Ubuntu 16.04 or later. - -Perform the following steps to set up the build environment: - -1. Obtain source code. -2. Install and configure Python. -3. Install GN. -4. Install Ninja. -5. Install LLVM. -6. Install hb. - ->![](../public_sys-resources/icon-notice.gif) **NOTICE:** ->- Docker is provided for the Ubuntu build environment, which encapsulates related build tools. If you use Docker to prepare the build environment, you do not need to perform the following steps in this section. Instead, refer to [Using Docker to Prepare the Build Environment](../get-code/gettools-acquire.md). ->- By default, basic software, such as Samba and Vim, is installed in the system. Adaptation on the software is required to support file sharing between the Linux server and the Windows workstation. ->- For details about the compilation and building subsystem of OpenHarmony, see [Compilation and Building Overview](../subsystems/subsys-build.md). - -## Obtaining Source Code and Tools - -The following table describes the tools and source code required for setting up the general environment for a Linux server and how to obtain these tools and the source code. - -**Table 1** Source code and development tools and their obtaining methods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Item

-

Description

-

How to Obtain

-

Source code

-

Develops functions.

-

For details, see Source Code Acquisition.

-

Python3.7+

-

Executes script compilation.

-

Internet

-

gn

-

Generates ninja compilation scripts.

-

https://repo.huaweicloud.com/harmonyos/compiler/gn/1717/linux/gn-linux-x86-1717.tar.gz

-

ninja

-

Executes ninja compilation scripts.

-

https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar

-

-

LLVM

-

-

-

Functions as the compiler toolchain.

-

-

For the master and OpenHarmony_v2.x branches and tags, use version 10.0.1:

-

https://repo.huaweicloud.com/harmonyos/compiler/clang/10.0.1-62608/linux/llvm.tar.gz

-

For the OpenHarmony_v1.x branches and tags, use version 9.0.0:

-

https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-36191/linux/llvm-linux-9.0.0-36191.tar

-

hb

-

Compiles the OpenHarmony source code.

-

Internet

-

Other tools

-

Provide functions required in compilation and building, such as packaging and creating images.

-

Internet

-
- ->![](../public_sys-resources/icon-notice.gif) **NOTICE:** ->- If you acquire the source code using an HPM component or HPM CLI tool, you do not need to install compilation tools like **gn** and **ninja**. ->- \(Recommended\) If you obtain the source code via the mirror site or code repository, install compilation tools such as **gn**, **ninja**, and LLVM. When installing these tools, ensure that their environment variable paths are unique. - -## Obtaining Source Code - -You need to acquire [source code](../get-code/sourcecode-acquire.md), download it on a Linux server, and decompress it. - -## Installing and Configuring Python - -1. Start a Linux server. -2. Check the Python version \(Python 3.7 or later is required\). - - ``` - python3 --version - ``` - - If Python version is earlier than 3.7, reinstall Python. Do as follows to install Python, for example, Python 3.8. - - 1. Check the Ubuntu version. - - ``` - cat /etc/issue - ``` - - 1. Install Python based on the Ubuntu version. - - If the Ubuntu version is 18 or later, run the following command: - - ``` - sudo apt-get install python3.8 - ``` - - - If the Ubuntu version is 16, perform the following steps: - - a. Install dependency packages. - - ``` - sudo apt update && sudo apt install software-properties-common - ``` - - b. Add the source of deadsnakes PPA and press **Enter**. - - ``` - sudo add-apt-repository ppa:deadsnakes/ppa - ``` - - c. Install Python 3.8. - - ``` - sudo apt upgrade && sudo apt install python3.8 - ``` - - -3. Set the soft link of **python** and **python3** to **python3.8**. - - ``` - sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1 - sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1 - ``` - -4. Install and upgrade the Python package management tool \(pip3\) using either of the following methods: - - **Command line:** - - ``` - sudo apt-get install python3-setuptools python3-pip -y - sudo pip3 install --upgrade pip - ``` - - - **Installation package:** - - ``` - curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py - python get-pip.py - ``` - - - -## Installing gn - -1. Start a Linux server. -2. Download [gn](https://repo.huaweicloud.com/harmonyos/compiler/gn/1717/linux/gn-linux-x86-1717.tar.gz). -3. Create the **gn** folder in the root directory. - - ``` - mkdir ~/gn - ``` - -4. Decompress the gn installation package to **\~/gn**. - - ``` - tar -xvf gn-linux-x86-1717.tar.gz -C ~/gn - ``` - -5. Set an environment variable. - - ``` - vim ~/.bashrc - ``` - - Copy the following command to the last line of the **.bashrc** file, save the file, and exit. - - ``` - export PATH=~/gn:$PATH - ``` - -6. Validate the environment variable. - - ``` - source ~/.bashrc - ``` - - -## Installing ninja - -1. Start a Linux server. -2. Download [ninja](https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar). -3. Decompress the ninja installation package to **\~/ninja**. - - ``` - tar -xvf ninja.1.9.0.tar -C ~/ - ``` - -4. Set an environment variable. - - ``` - vim ~/.bashrc - ``` - - Copy the following command to the last line of the **.bashrc** file, save the file, and exit. - - ``` - export PATH=~/ninja:$PATH - ``` - -5. Validate the environment variable. - - ``` - source ~/.bashrc - ``` - - -## Installing LLVM - -1. Start a Linux server. -2. [Download LLVM](https://repo.huaweicloud.com/harmonyos/compiler/clang/10.0.1-62608/linux/llvm.tar.gz). - - >![](../public_sys-resources/icon-note.gif) **NOTE:** - >For the OpenHarmony\_v1.x branches and tags, click [here](https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-36191/linux/llvm-linux-9.0.0-36191.tar) to download LLVM. - -3. Decompress the LLVM installation package to **\~/llvm**. - - ``` - tar -zxvf llvm.tar.gz -C ~/ - ``` - - >![](../public_sys-resources/icon-note.gif) **NOTE:** - >For the OpenHarmony\_v1.x branches and tags, run the following command to decompress the LLVM installation package: - >``` - >tar -xvf llvm-linux-9.0.0-36191.tar -C ~/ - >``` - -4. Set an environment variable. - - ``` - vim ~/.bashrc - ``` - - Copy the following command to the last line of the **.bashrc** file, save the file, and exit. - - ``` - export PATH=~/llvm/bin:$PATH - ``` - -5. Validate the environment variable. - - ``` - source ~/.bashrc - ``` - - -## Installing hb - -### Prerequisites - -Python 3.7.4 or later has been installed. For details, see [Installing and Configuring Python](#section1238412211211). - -### Installation Procedure - -1. Install **hb**. - - ``` - python3 -m pip install --user ohos-build - ``` - -2. Set an environment variable. - - ``` - vim ~/.bashrc - ``` - - Copy the following command to the last line of the **.bashrc** file, save the file, and exit. - - ``` - export PATH=~/.local/bin:$PATH - ``` - - Update the environment variable. - - ``` - source ~/.bashrc - ``` - -3. Run the **hb -h** command. If the following information is displayed, the installation is successful: - - ``` - usage: hb - - OHOS build system - - positional arguments: - {build,set,env,clean} - build Build source code - set OHOS build settings - env Show OHOS build env - clean Clean output - - optional arguments: - -h, --help Show this help message and exit - ``` - - -### Uninstalling hb - -``` -python3 -m pip uninstall ohos-build -``` - ->![](../public_sys-resources/icon-notice.gif) **NOTICE:** ->If you encounter any problem during the installation, resort to the [FAQ](quickstart-lite-env-setup-faqs.md). - -## Installing Other Tools - -### Installation Procedure - -1. Use **apt-get** to install dependent tools. - - ``` - sudo apt-get install build-essential gcc g++ make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils gcc-arm-linux-gnueabi - ``` - - diff --git a/en/device-dev/quick-start/quickstart-lite-env-setup-linux.md b/en/device-dev/quick-start/quickstart-lite-env-setup-linux.md new file mode 100644 index 0000000000000000000000000000000000000000..7d4a8f3cca9c9e80c4be95e1217ed70606b779d3 --- /dev/null +++ b/en/device-dev/quick-start/quickstart-lite-env-setup-linux.md @@ -0,0 +1,259 @@ +# Setting Up Ubuntu Development Environment + +- [Obtaining Source Code and Tools](#section1897711811517) +- [Obtaining Source Code](#section1545225464016) +- [Installing Necessary Libraries and Tools](#section108201740181219) +- [Installing Python3](#section1238412211211) +- [Installing LLVM \(Required only for OpenHarmony\_v1.x\)](#section12202192215415) +- [Installing hb](#section15794154618411) + - [Prerequisites](#section1083283711515) + - [Installation Procedure](#section11518484814) + - [Uninstalling hb](#section3512551574) + + +Operating system: 64-bit version of Ubuntu 16.04 or later. + +Perform the following steps to set up the development environment: + +1. Obtain source code. +2. Install necessary libraries and tools. +3. Install Python3. +4. Install LLVM \(required only for OpenHarmony\_v1.x\). +5. Install hb. + +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** +>- Docker is provided for the Ubuntu build environment, which encapsulates related build tools. If you use Docker to prepare the build environment, you do not need to perform the following steps in this section. For details, see [Using Docker to Prepare the Build Environment](../get-code/gettools-acquire.md#section107932281315). +>- By default, basic software, such as Samba and Vim, is installed in the system. Adaptation on the software is required to support file sharing between the Linux server and the Windows workstation. +>- For details about the compilation and building subsystem of OpenHarmony, see [Compilation and Building Overview](../subsystems/subsys-build-mini-lite.md). + +## Obtaining Source Code and Tools + +The following table describes the tools and source code required for setting up the general environment for a Linux server and how to obtain these tools and the source code. + +**Table 1** Source code and development tools and their obtaining methods + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Item

+

Description

+

How to Obtain

+

Source code

+

Develops functions.

+

See Source Code Acquisition.

+

Necessary libraries and tools

+

Used for compilation (such as packaging and image creation).

+

Internet

+

Python3.7+

+

Executes script compilation.

+

Internet

+

LLVM (required only for OpenHarmony_v1.x)

+

Functions as the compiler toolchain.

+

Internet

+

hb

+

Compiles the OpenHarmony source code.

+

Internet

+
+ +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** +>- If you acquire the source code using an HPM component or HPM CLI tool, you do not need to install compilation tools like **gn** and **ninja**. +>- \(Recommended\) If you obtain the source code via the mirror site or code repository, install compilation tools such as **gn**, **ninja**, and LLVM. When installing these tools, ensure that their environment variable paths are unique. + +## Obtaining Source Code + +You need to acquire [source code](../get-code/sourcecode-acquire.md), download it on a Linux server, and decompress it. + +## Installing Necessary Libraries and Tools + +Run the following command to install the libraries and tools required for compilation: + +``` +sudo apt-get install build-essential gcc g++ make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils gcc-arm-linux-gnueabi +``` + +## Installing Python3 + +1. Start a Linux server. +2. Run the following command to check the Python version: + + ``` + python3 --version + ``` + + If Python version is earlier than 3.7, reinstall Python. Do as follows to install Python, for example, Python 3.8. + + 1. Check the Ubuntu version. + + ``` + cat /etc/issue + ``` + + 1. Install Python based on the Ubuntu version. + - If the Ubuntu version is 18 or later, run the following command: + + ``` + sudo apt-get install python3.8 + ``` + + - If the Ubuntu version is 16, perform the following steps: + + a. Install dependency packages. + + ``` + sudo apt update && sudo apt install software-properties-common + ``` + + b. Add the source of deadsnakes PPA and press **Enter**. + + ``` + sudo add-apt-repository ppa:deadsnakes/ppa + ``` + + c. Install Python 3.8. + + ``` + sudo apt upgrade && sudo apt install python3.8 + ``` + + +3. Set the soft link of **python** and **python3** to **python3.8**. + + ``` + sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1 + sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1 + ``` + +4. Install and upgrade the Python package management tool \(pip3\) using either of the following methods: + - **Command line:** + + ``` + sudo apt-get install python3-setuptools python3-pip -y + sudo pip3 install --upgrade pip + ``` + + - **Installation package:** + + ``` + curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py + python get-pip.py + ``` + + + +## Installing LLVM \(Required only for OpenHarmony\_v1.x\) + +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** +>When downloading source code under the OpenHarmony\_v1.x branches or tags, perform the operation procedure described in this section to install LLVM 9.0.0. +>When downloading source code under the Master and OpenHarmony\_v2.x branches or tags, skip this section. The hb automatically downloads the latest version of LLVM. + +1. Start a Linux server. +2. [Download LLVM](https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-36191/linux/llvm-linux-9.0.0-36191.tar). +3. Decompress the LLVM installation package to **\~/llvm**. + + ``` + tar -zxvf llvm.tar.gz -C ~/ + ``` + +4. Set an environment variable. + + ``` + vim ~/.bashrc + ``` + + Copy the following command to the last line of the **.bashrc** file, save the file, and exit. + + ``` + export PATH=~/llvm/bin:$PATH + ``` + +5. Validate the environment variable. + + ``` + source ~/.bashrc + ``` + + +## Installing hb + +### Prerequisites + +Python 3.7.4 or later has been installed. For details, see [Installing Python3](#section1238412211211). + +### Installation Procedure + +1. Install **hb**. + + ``` + python3 -m pip install --user ohos-build + ``` + +2. Set an environment variable. + + ``` + vim ~/.bashrc + ``` + + Copy the following command to the last line of the **.bashrc** file, save the file, and exit. + + ``` + export PATH=~/.local/bin:$PATH + ``` + + Update the environment variable. + + ``` + source ~/.bashrc + ``` + +3. Run the **hb -h** command. If the following information is displayed, the installation is successful: + + ``` + usage: hb + + OHOS build system + + positional arguments: + {build,set,env,clean} + build Build source code + set OHOS build settings + env Show OHOS build env + clean Clean output + + optional arguments: + -h, --help Show this help message and exit + ``` + + +### Uninstalling hb + +``` +python3 -m pip uninstall ohos-build +``` + +>![](../public_sys-resources/icon-notice.gif) **NOTICE:** +>If you encounter any problem during the installation, resort to the [FAQs](quickstart-lite-env-setup-faqs.md). + diff --git a/en/device-dev/quick-start/quickstart-lite-env-setup-des.md b/en/device-dev/quick-start/quickstart-lite-env-setup-overview.md similarity index 100% rename from en/device-dev/quick-start/quickstart-lite-env-setup-des.md rename to en/device-dev/quick-start/quickstart-lite-env-setup-overview.md diff --git a/en/device-dev/quick-start/quickstart-lite-env-setup-win.md b/en/device-dev/quick-start/quickstart-lite-env-setup-windows.md similarity index 77% rename from en/device-dev/quick-start/quickstart-lite-env-setup-win.md rename to en/device-dev/quick-start/quickstart-lite-env-setup-windows.md index 5cb943bfdb1881cf0384cff15036cc6cdf7aea74..9fe1107fb30016f34a2defe61cbd4eec6eb35857 100644 --- a/en/device-dev/quick-start/quickstart-lite-env-setup-win.md +++ b/en/device-dev/quick-start/quickstart-lite-env-setup-windows.md @@ -1,20 +1,23 @@ -# Windows Development Environment +# Setting Up Windows Development Environment - [Obtaining the Software](#en-us_topic_0000001058091994_section1483143015558) - [Installing Visual Studio Code](#en-us_topic_0000001058091994_section71401018163318) - [Installing Python](#en-us_topic_0000001058091994_section16266553175320) - [Installing Node.js](#en-us_topic_0000001058091994_section5353233124511) -- [Installing hpm](#en-us_topic_0000001058091994_section173054793610) +- [Installing HPM](#en-us_topic_0000001058091994_section173054793610) - [Installing the DevEco Device Tool Plug-in](#en-us_topic_0000001058091994_section4336315185716) -Operating system: 64-bit version of Windows 10. +System requirements: + +- OS: 64-bit Windows 10 +- User name: cannot contain Chinese characters DevEco Device Tool is a plug-in for Visual Studio Code. The installation procedure includes five parts: 1. Installing Visual Studio Code 2. Installing Python 3. Installing Node.js -4. Installing hpm +4. Installing HPM 5. Installing the DevEco Device Tool Plug-in ## Obtaining the Software @@ -26,7 +29,7 @@ DevEco Device Tool is a plug-in for Visual Studio Code. The installation procedu

Version

Obtaining Channel

+

How to Obtain

Programming tool

V3.7.4 to V3.8.x (64-bit)

+

V3.8.9 or later (64-bit)

Recommended: https://www.python.org/downloads/release/python-388/

+

https://www.python.org/downloads/

Node.js

The npm environment provider

v12.0.0 or later (64-bit)

+

Any of the following versions:

+
  • V12.22.5 or later (64-bit)
  • V14.17.5 or later (64-bit)
  • V16.6.0 or later (64-bit)

https://nodejs.org/en/download/

hpm

+

HPM

Package manager

Latest version

+

V1.3.0 or later

For details, see Installing hpm.

+

For details, see Installing HPM.

DevEco Device Tool

Plug-in for the OpenHarmony source code compilation, programming, and debugging

v2.2 Beta1

+

V2.2 Beta2

https://device.harmonyos.com/en/ide#download

+

https://device.harmonyos.com/cn/ide#download_beta

Log in with your HUAWEI ID to download it. You can register an account here.

- - @@ -48,45 +48,45 @@ The following table lists the tools required for the Hi3861 development board. - - - - - - - - - - @@ -123,7 +123,7 @@ sudo apt-get install build-essential gcc g++ make zlib* libffi-dev scons -v ``` - **Figure 2** Successful installation \(SCons version requirement: 3.0.4 or later\) + **Figure 2** Successful installation \(SCons version requirement: 3.0.4 or later\) ![](figure/successful-installation-(scons-version-requirement-3-0-4-or-later).png "successful-installation-(scons-version-requirement-3-0-4-or-later)") @@ -216,7 +216,7 @@ sudo apt-get install build-essential gcc g++ make zlib* libffi-dev -### Installing gcc\_riscv32 \(Compilation Toolchain for WLAN Module\) +### Installing gcc\_riscv32 \(Compiler Toolchain for WLAN Module\) >![](../public_sys-resources/icon-notice.gif) **NOTICE:** >- The Hi3861 platform supports only the static link of the libgcc library. The dynamic link is not recommended because version 3 of the GNU General Public License \(GPLv3\) will be polluted during commercial distribution. @@ -353,6 +353,6 @@ Perform the following operations on the Windows station. 2. Install the driver. 3. After the driver is installed, remove and then insert the USB cable. The serial port entry should be displayed as shown in the following figure. - ![](figure/en-us_image_0000001174350633.png) + ![](figure/serial-port-entry.png) diff --git a/en/device-dev/quick-start/quickstart-lite-steps-hi3861.md b/en/device-dev/quick-start/quickstart-lite-steps-hi3861.md new file mode 100644 index 0000000000000000000000000000000000000000..4dce36a33177b40ad4044a9ddd9c26a3ba191540 --- /dev/null +++ b/en/device-dev/quick-start/quickstart-lite-steps-hi3861.md @@ -0,0 +1,11 @@ +# Hi3861 + +- **[Setting Up the Environment](quickstart-lite-steps-hi3861-setting.md)** + +- **[Setting Up WLAN Connection](quickstart-lite-steps-hi3861-connection.md)** + +- **[Running a Hello World Program](quickstart-lite-steps-hi3861-running.md)** + +- **[FAQs](quickstart-lite-steps-hi3861-faqs.md)** + + diff --git a/en/device-dev/quick-start/quickstart-lite-steps.md b/en/device-dev/quick-start/quickstart-lite-steps.md index cd4b82e4fd43c3494e6c0f16a5773b13b4c262e0..fa3a822aa53c64b4fcab0d9402ca496aeff8c63d 100644 --- a/en/device-dev/quick-start/quickstart-lite-steps.md +++ b/en/device-dev/quick-start/quickstart-lite-steps.md @@ -1,9 +1,9 @@ # How to Develop -- **[Hi3861](quickstart-lite-steps-board3861.md)** +- **[Hi3861](quickstart-lite-steps-hi3861.md)** -- **[Hi3516](quickstart-lite-steps-board3516.md)** +- **[Hi3516](quickstart-lite-steps-hi3516.md)** -- **[Hi3518](quickstart-lite-steps-board3518.md)** +- **[Hi3518](quickstart-lite-steps-hi3518.md)** diff --git a/en/device-dev/quick-start/quickstart-lite.md b/en/device-dev/quick-start/quickstart-lite.md index 064e2ef51e72d289ab48512e29e01909530a6472..b542082aab89383edabe2e4481816e07a83dd61e 100644 --- a/en/device-dev/quick-start/quickstart-lite.md +++ b/en/device-dev/quick-start/quickstart-lite.md @@ -2,7 +2,7 @@ - **[Overview](quickstart-lite-overview.md)** -- **[Introduction to the Development Boards](quickstart-lite-introduction.md)** +- **[Introduction](quickstart-lite-introduction.md)** - **[Environment Setup](quickstart-lite-env-setup.md)** diff --git a/en/device-dev/quick-start/quickstart-standard-burn.md b/en/device-dev/quick-start/quickstart-standard-burn.md index 01f052b9dd8e9918f6ecf4b765a57be12019e1ac..97c5c0dc3012b7528beca2cfbc103a18c148ad92 100644 --- a/en/device-dev/quick-start/quickstart-standard-burn.md +++ b/en/device-dev/quick-start/quickstart-standard-burn.md @@ -1,205 +1,68 @@ -# Burning Images +# Burning Images + +- [Prerequisites](#section232415263110) + - [Programming Flash Memory Through the Network Port](#section998903784810) -- [Next](#section5600113114323) Programming flash memory of a regular system requires DevEco Device Tool v2.2 Beta1 or later. -The Hi3516DV300 of the Hi3516 series development boards supports programming flash memory of a regular system through the USB port, network port, or serial port, where: +Hi3516D V300 supports programming flash memory of the standard system through the USB port, network port, or serial port, where: - **Windows system: Supports programming through the USB port, serial port, or network port** -- **Linux system: Supports programming through the serial port or network port \(Linux+Windows dual system: Also supports programming through the USB port\)** +- **Linux system: Supports programming through the network port or serial port** Except for environment setup, the operations of programming are the same for Windows and Linux. >![](../public_sys-resources/icon-note.gif) **NOTE:** ->Currently, the Hi3516D V300 development board supports system burning over the network port, USB port, or serial port. This document uses the network port as an example. For details about system burning over other ports, see [Programming Flash Memory on the Hi3516](https://device.harmonyos.com/en/docs/ide/user-guides/hi3516_upload-0000001052148681). +>Currently, the Hi3516D V300 development board supports system burning over the network port, USB port, or serial port. This document uses the network port as an example. For details about system burning over other ports, see [Programming Flash Memory on Hi3516D V300](https://device.harmonyos.com/en/docs/ide/user-guides/hi3516_upload-0000001052148681). + +## Prerequisites -### Prerequisites +In DevEco Device Tool, select **Import Project** to open the folder where the target file is located. Set **MCU** to **Hi3516DV300** under **HiSilicon\_Arm\_Linux** and **Framework** to **Hb**. -[Open a project](https://device.harmonyos.com/en/docs/ide/user-guides/open_project-0000001071680043) in DevEco Device Tool and select the folder where the file to be programmed is located. Select **Hi3516DV300** for the development board type and **Hb** for **Framework**. +![](figure/hisilicon-arm-linux.png) -### Programming Flash Memory Through the Network Port +### Programming Flash Memory Through the Network Port The Hi3516DV300 supports programming through the network port in Windows or Linux. -1. Connect the PC and the target development board through the power port, serial port, and network port. In this section, the Hi3516DV300 is used as an example. For details, please refer to [Introduction to the Hi3516 Development Board](https://device.harmonyos.com/en/docs/start/introduce/oem_camera_start_3516-0000001052670587). +1. Connect the PC and the target development board through the serial port, network port, and power port. For details, see [Introduction to the Hi3516 Development Board](https://device.harmonyos.com/en/docs/start/introduce/oem_minitinier_des_3516-0000001152041033). 2. Open Device Manager, then check and record the serial port number corresponding to the development board. >![](../public_sys-resources/icon-note.gif) **NOTE:** >If the serial port number is not displayed correctly, follow the steps described in [Installing the Serial Port Driver on the Hi3516 or Hi3518 Series Development Boards](https://device.harmonyos.com/en/docs/ide/user-guides/hi3516_hi3518-drivers-0000001050743695). - ![](figure/en-us_image_0000001114129428.png) + ![](figure/record-the-serial-port-number-1.png) 3. Open DevEco Device Tool and go to **Projects** \> **Settings**. - ![](figure/2021-01-27_170334-18.png) - -4. On the **Partition Configuration** tab page, enter the information about the files to be programmed, including the following. - - -

Platform

Development Tool

+

Development Tool

Description

+

Description

How to Obtain

Linux server

Basic software package for compilation and building (required only for Ubuntu 20+)

+

Basic software package for compilation and building (required only for Ubuntu 20+)

Provides a basic software package for compilation and building.

+

Provides a basic software package for compilation and building.

Internet

Linux server

SCons 3.0.4+

+

SCons 3.0.4+

Executes script compilation.

+

Executes script compilation.

Internet

Linux server

Python modules: setuptools, Kconfiglib, PyCryptodome, six, and ecdsa

+

Python modules: setuptools, Kconfiglib, PyCryptodome, six, and ecdsa

Executes script compilation.

+

Executes script compilation.

Internet

Linux server

gcc riscv32

+

gcc riscv32

Executes script compilation.

+

Executes script compilation.

Internet

Windows workstation

CH341SER.EXE

+

CH341SER.EXE

USB-to-Serial adapter driver

+

USB-to-Serial adapter driver

http://www.wch-ic.com/search?t=downloads&q=ch340g

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Name

-

Binary

-

Memory

-

System

-

Address

-

Length

-

Board

-

Type

-

fastboot

-

Select u-boot-hi3516dv300_emmc.bin.

-

emmc

-

none

-

0x000000

-

0x100000

-

Select hi3516dv300.

-

NA

-

boot

-

Select uImage.

-

emmc

-

none

-

0x100000

-

0xf00000

-

NA

-

updater

-

Select updater.img.

-

emmc

-

ext3/4

-

0x1000000

-

0x1400000

-

NA

-

misc

-

Leave it blank.

-

emmc

-

none

-

0x2400000

-

0x100000

-

NA

-

system

-

Select system.img.

-

emmc

-

ext3/4

-

0x2500000

-

0xceb00000

-

NA

-

vendor

-

Select vendor.img.

-

emmc

-

ext3/4

-

0xd1000000

-

0x10000000

-

NA

-

userdata

-

Select userdata.img.

-

emmc

-

ext3/4

-

0xe1000000

-

0x5b800000

-

NA

-
- - ![](figure/en-us_image_0000001160527611.png) - -5. On the **hi3516dv300** tab page, configure the programming options. + ![](figure/settings-2.png) + +4. On the **hi3516dv300** tab page, configure the programming options. - **upload\_port**: Select the serial port number obtained in step [2](#en-us_topic_0000001056443961_li1050616379507). - **upload\_protocol**: Select the programming protocol **hiburn-net**. - - **upload\_partitions**: Select the file to be programmed, including the following: fastboot, boot, updater, misc, system, vendor, and userdata. + - **upload\_partitions**: Select the files to be burnt. By default, **fastboot**, **boot**, **updater**, **misc**, **system**, **vendor**, and **userdata** are burnt at the same time. - ![](figure/en-us_image_0000001117621400.png) + ![](figure/upload-options-28.png) -6. Check and set the IP address of the network adapter connected to the development board. For details, see [Setting the IP Address of the Network Port for Programming on Hi3516](https://device.harmonyos.com/en/docs/ide/user-guides/set_ipaddress-0000001141825075). -7. Set the IP address of the network port for programming: +5. Check and set the IP address of the network adapter connected to the development board. For details, see [Setting the IP Address of the Network Port for Programming on Hi3516](https://device.harmonyos.com/en/docs/ide/user-guides/set_ipaddress-0000001141825075). +6. Set the IP address of the network port for programming: - - **upload\_net\_server\_ip**: Select the IP address set in [6](en-us_topic_0000001056443961.md#li1558813168234), such as 192.168.1.2. - - **upload\_net\_client\_mask**: Set the subnet mask of the development board, such as 255.255.255.0. Once the **upload\_net\_server\_ip** field is set, this field will be automatically populated. + - **upload\_net\_server\_ip**: Select the IP address set in step [6](en-us_topic_0000001056443961.md#li1558813168234), such as 192.168.1.2. + - **upload\_net\_client\_mask**: Set the subnet mask of the development board, such as 255.255.255.0. Once the **upload\_net\_server\_ip** field is set, this field will be automatically populated. - **upload\_net\_client\_gw**: Set the gateway of the development board, such as 192.168.1.1. Once the **upload\_net\_server\_ip** field is set, this field will be automatically populated. - **upload\_net\_client\_ip**: Set the IP address of the development board, such as 192.168.1.3. Once the **upload\_net\_server\_ip** field is set, this field will be automatically populated. - ![](figure/en-us_image_0000001117463460.png) - -8. When you finish modifying, click **Save** in the upper right corner. -9. Open the project file, go to ![](figure/2021-01-27_170334-19.png) \> **PROJECT TASKS** \> **fastboot** \> **Erase** to erase U-boot. - - ![](figure/en-us_image_0000001163045527.png) - -10. When the following message is displayed, power off the development board and then power it on. - - ![](figure/en-us_image_0000001114129432.png) + ![](figure/ip-address-information.png) -11. Start programming. When the following message is displayed, it indicates that the programming is successful. +7. When you finish modifying, click **Save** in the upper right corner. +8. When the following message is displayed, power off the development board and then power it on. - ![](figure/en-us_image_0000001113969542.png) + ![](figure/restart-the-development-board-3.png) +9. Start programming. If the following message is displayed, it indicates that the programming is successful. -## Next + ![](figure/burning-succeeded-4.png) -Congratulations! You have completed the quick start for the standard system. Get yourself familiar with OpenHarmony by a [Development Example for Clock App](../guide/device-clock-guide.md). diff --git a/en/device-dev/quick-start/quickstart-standard-docker-environment.md b/en/device-dev/quick-start/quickstart-standard-docker-environment.md index 1791ce953a555f62dc181727467a44bed830f791..a40bf48c7621032c00d566caf749dcd8d0392204 100644 --- a/en/device-dev/quick-start/quickstart-standard-docker-environment.md +++ b/en/device-dev/quick-start/quickstart-standard-docker-environment.md @@ -1,4 +1,4 @@ -# Setting Up Ubuntu Development Environment in Docker Mode and Building Source Code +# Setting Up Ubuntu Development Environment in Docker Mode - [Obtaining Standard-System Source Code](#section8761819202511) - [Prerequisites](#section102871547153314) diff --git a/en/device-dev/quick-start/quickstart-standard-faq.md b/en/device-dev/quick-start/quickstart-standard-faqs.md similarity index 100% rename from en/device-dev/quick-start/quickstart-standard-faq.md rename to en/device-dev/quick-start/quickstart-standard-faqs.md diff --git a/en/device-dev/quick-start/quickstart-standard-description.md b/en/device-dev/quick-start/quickstart-standard-overview.md similarity index 96% rename from en/device-dev/quick-start/quickstart-standard-description.md rename to en/device-dev/quick-start/quickstart-standard-overview.md index 8c4a158c8b95ad79217216b1a81ead279a67917e..04c6ab992fc7b1bcde7d148efd9a54fec258ea24 100644 --- a/en/device-dev/quick-start/quickstart-standard-description.md +++ b/en/device-dev/quick-start/quickstart-standard-overview.md @@ -12,17 +12,15 @@ This document uses the recommended Hi3516D V300 development board as an example. The following figure shows the process of getting started for the standard system, during which, you can set up the Ubuntu development environment in Docker mode or by using the installation package. -**Figure 1** Getting started for the standard system +**Figure 1** Getting started for the standard system ![](figure/getting-started-for-the-standard-system.png "getting-started-for-the-standard-system") ## Introduction to the Development Board Hi3516D V300 is a next-generation system on chip \(SoC\) designed for the industry-dedicated smart HD IP camera. It introduces a next-generation image signal processor \(ISP\), the H.265 video compression encoder, and a high-performance NNIE engine, leading the industry in terms of low bit rate, high image quality, intelligent processing and analysis, and low power consumption. -**Figure 2** Hi3516D V300 front view - - -![](figure/3516正面-17.png) +**Figure 2** Hi3516D V300 front view +![](figure/hi3516d-v300-front-view-27.png "hi3516d-v300-front-view-27") ## Development Board Specifications diff --git a/en/device-dev/quick-start/quickstart-standard-package-environment.md b/en/device-dev/quick-start/quickstart-standard-package-environment.md index 1f9dc2dd1d96ff6304e05c66d03555d5e5590973..fcfe369fefdcae2c148e879ff5a8fa5628a3c662 100644 --- a/en/device-dev/quick-start/quickstart-standard-package-environment.md +++ b/en/device-dev/quick-start/quickstart-standard-package-environment.md @@ -1,4 +1,4 @@ -# Setting Up Ubuntu Development Environment with Installation Package and Building Source Code +# Setting Up Ubuntu Development Environment with Installation Package - [Installing Dependent Tools](#section18431165519244) - [Obtaining Standard-System Source Code](#section113751052102517) @@ -17,7 +17,7 @@ sudo apt-get update && sudo apt-get install binutils git git-lfs gnupg flex biso ``` >![](../public_sys-resources/icon-note.gif) **NOTE:** ->The preceding command is applicable to Ubuntu 18.04. For other Ubuntu versions, modify the preceding installation command based on the installation package name. +>The preceding command is applicable to Ubuntu 18.04. For other Ubuntu versions, modify the preceding installation command based on the installation package name. Python 3.7 or later is required. Python 3.8 is used as an example. ## Obtaining Standard-System Source Code @@ -92,7 +92,7 @@ Perform the following operations in the Linux environment: Files generated during the build are stored in the **out/ohos-arm-release/** directory, and the generated image is stored in the **out/ohos-arm-release/packages/phone/images/** directory. >![](../public_sys-resources/icon-note.gif) **NOTE:** - >For details about module-specific build operations, see [Building Guidelines](../subsystems/subsys-build.md). + >For details about module-specific build operations, see [Building Guidelines](../subsystems/subsys-build-standard-large.md). 3. Burn the image. For details, see [Burning Images](quickstart-standard-burn.md). diff --git a/en/device-dev/quick-start/quickstart-standard-running.md b/en/device-dev/quick-start/quickstart-standard-running.md new file mode 100644 index 0000000000000000000000000000000000000000..5e377347e4126e2e62b0f8780a85fe739c255303 --- /dev/null +++ b/en/device-dev/quick-start/quickstart-standard-running.md @@ -0,0 +1,46 @@ +# Running an Image + +- [\#EN-US\_TOPIC\_0000001142160948/section153991115191314](#section153991115191314) + +After the image burning is complete, perform the following steps to run the system: + +>![](../public_sys-resources/icon-note.gif) **NOTE:** +>This operation procedure is required only if this is the first time you burn an image for the standard system. + +1. In DevEco Device Tool, click **Monitor** to open the serial port tool. + + ![](figure/open-the-serial-port-tool.png) + +2. Restart the development board. Before the autoboot countdown ends, press any key to enter the system. + + ![](figure/press-any-key-to-enter-the-system.gif) + +3. Run the following commands to set system boot parameters: + + ``` + setenv bootargs 'mem=640M console=ttyAMA0,115200 mmz=anonymous,0,0xA8000000,384M clk_ignore_unused androidboot.selinux=permissive skip_initramfs rootdelay=5 init=/init root=/dev/mmcblk0p5 rootfstype=ext4 rw blkdevparts=mmcblk0:1M(boot),15M(kernel),20M(updater),1M(misc),3307M(system),256M(vendor),-(userdata)' + ``` + + ``` + setenv bootcmd "mmc read 0x0 0x80000000 0x800 0x4800; bootm 0x80000000"; + ``` + + ![](figure/start.png) + +4. Save the parameter settings. + + ``` + save + ``` + + ![](figure/save-the-parameter-settings.png) + +5. Restart the development board to start the system. + + ``` + reset + ``` + + ![](figure/start-the-system.png) + + diff --git a/en/device-dev/quick-start/quickstart-standard-windows-environment.md b/en/device-dev/quick-start/quickstart-standard-windows-environment.md index c07334b53835411881e5373437a96974b43e175c..a108b3629af65c944edf23681a4d2be66386f959 100644 --- a/en/device-dev/quick-start/quickstart-standard-windows-environment.md +++ b/en/device-dev/quick-start/quickstart-standard-windows-environment.md @@ -4,17 +4,20 @@ - [Installing Visual Studio Code](#en-us_topic_0000001058091994_section71401018163318) - [Installing Python](#en-us_topic_0000001058091994_section16266553175320) - [Installing Node.js](#en-us_topic_0000001058091994_section5353233124511) -- [Installing hpm](#en-us_topic_0000001058091994_section173054793610) +- [Installing HPM](#en-us_topic_0000001058091994_section173054793610) - [Installing the DevEco Device Tool Plug-in](#en-us_topic_0000001058091994_section4336315185716) -Operating system: 64-bit version of Windows 10. +System requirements: + +- OS: 64-bit Windows 10 +- User name: cannot contain Chinese characters DevEco Device Tool is a plug-in for Visual Studio Code. The installation procedure includes five parts: 1. Installing Visual Studio Code 2. Installing Python 3. Installing Node.js -4. Installing hpm +4. Installing HPM 5. Installing the DevEco Device Tool Plug-in ## Obtaining the Software @@ -26,7 +29,7 @@ DevEco Device Tool is a plug-in for Visual Studio Code. The installation procedu

Version

-

Obtaining Channel

+

How to Obtain

@@ -43,37 +46,37 @@ DevEco Device Tool is a plug-in for Visual Studio Code. The installation procedu

Programming tool

-

v3.7.4–3.8.x (64-bit)

+

V3.8.9 or later (64-bit)

-

https://www.python.org/downloads/

+

https://www.python.org/downloads/

Node.js

The npm environment provider

-

v12.0.0 or later (64-bit)

+

Any of the following versions:

+

https://nodejs.org/en/download/

-

hpm

+

HPM

Package manager

-

Latest version

+

V1.3.0 or later

-

Run the following command:

-
npm install -g @ohos/hpm-cli
+

For details, see Installing HPM.

DevEco Device Tool

Plug-in for the OpenHarmony source code compilation, programming, and debugging

-

v2.2 Beta1

+

V2.2 Beta2

-

https://device.harmonyos.com/en/ide#download

+

https://device.harmonyos.com/cn/ide#download_beta

Log in with your HUAWEI ID to download it. You can register an account here.

@@ -87,24 +90,23 @@ DevEco Device Tool is a plug-in for Visual Studio Code. The installation procedu 1. Double-click the Visual Studio Code package to install it. During the installation, select **Add to PATH \(requires shell restart\)**. - ![](figure/en-us_image_0000001057335403.png) + ![](figure/installing-visual-studio-code.png) -2. After the installation is complete, restart the computer for the environment variables of Visual Studio Code to take effect. -3. Open the CLT and run **code --version**. If the version number can be displayed, it indicates that the installation is successful. +2. After the installation is complete, open the CLT and run **code --version**. If the version number can be displayed, it indicates that the installation is successful. ## Installing Python -1. Double-click the Python software package, select **Add Python xx to PATH**, and click **Install Now**. +1. Double-click the Python software package, select **Add Python 3.8 to PATH**, and click **Install Now**. - ![](figure/en-us_image_0000001096154076.png) + ![](figure/installing-python.png) 2. After the installation is complete, click **Close**. - ![](figure/en-us_image_0000001142794291.png) + ![](figure/setup-was-successful.png) 3. Open the CLT, and run **python --version** to check the installation result. - ![](figure/en-us_image_0000001143154485.png) + ![](figure/checking-the-installation-result.png) 4. In the CLT, run the following commands to set the pip source for downloading the dependencies required for later installation: @@ -123,17 +125,14 @@ DevEco Device Tool is a plug-in for Visual Studio Code. The installation procedu 1. Run the downloaded software package to install. Use the default settings when following the installation wizard, and click **Next** until **Finish** is displayed. During the installation, Node.js will automatically set the system Path environment variable to the installation directory of **node.exe**. 2. Open the CLT and run **node -v**. If the version number of Node.js is displayed, it indicates that Node.js has been successfully installed. - ![](figure/en-us_image_0000001056814287.png) - - -## Installing hpm +## Installing HPM -Before installing hpm, ensure that Node.js has been installed +Before installing HPM, ensure that Node.js has been installed -and that your network can access the Internet. If your network requires a proxy to access the Internet, [set up the npm proxy](https://device.harmonyos.com/cn/docs/ide/user-guides/npm_proxy-0000001054491032) first. +and that your network can access the Internet. If your network requires a proxy to access the Internet, [set up the npm proxy](https://device.harmonyos.com/en/docs/ide/user-guides/npm_proxy-0000001054491032) first. >![](../public_sys-resources/icon-note.gif) **NOTE:** ->If hpm has been installed, run **npm update -g @ohos/hpm-cli** to update it to the latest version. +>If HPM has been installed, run **npm update -g @ohos/hpm-cli** to update it to the latest version. 1. You are advised to set the npm source to an image in China, for example, a HUAWEI CLOUD image source. @@ -141,13 +140,13 @@ and that your network can access the Internet. If your network requires a proxy npm config set registry https://repo.huaweicloud.com/repository/npm/ ``` -2. Open the CLT and run the following command to install the latest version of hpm: +2. Open the CLT and run the following command to install the latest version of HPM: ``` npm install -g @ohos/hpm-cli ``` - ![](figure/en-us_image_0000001073840162.png) + ![](figure/hpm-version.png) 3. After the installation is complete, run the following command to obtain the installation result: @@ -155,29 +154,37 @@ and that your network can access the Internet. If your network requires a proxy hpm -V ``` - ![](figure/en-us_image_0000001100641602.png) - ## Installing the DevEco Device Tool Plug-in -To install the DevEco Device Tool plug-in, ensure that the **user name of the host cannot contain Chinese characters**; otherwise, the plug-in may fail to run. +Before installing DevEco Device Tool, make sure the user name of the host does not contain Chinese characters. Otherwise, the **DevEco Home** page will be stuck loading and the DevEco Device Tool cannot work. -DevEco Device Tool will automatically download and install the C/C++ and CodeLLDB plug-ins from the Visual Studio Code Marketplace during the installation process. Therefore, make sure Visual Studio Code can access the Internet. If your network requires a proxy to access the Internet, [set up the Visual Studio Code proxy](https://device.harmonyos.com/cn/docs/ide/user-guides/vscode_proxy-0000001074231144) first. +DevEco Device Tool will automatically download and install the C/C++ and CodeLLDB plug-ins from the Visual Studio Code Marketplace during the installation process. Therefore, make sure Visual Studio Code can access the Internet. If your network requires a proxy to access the Internet, [set up the Visual Studio Code proxy](https://device.harmonyos.com/en/docs/ide/user-guides/vscode_proxy-0000001074231144) first. >![](../public_sys-resources/icon-note.gif) **NOTE:** >Before installing DevEco Device Tool, ensure that Visual Studio Code is closed. 1. Decompress the DevEco Device Tool plug-in package and double-click the installer to install. -2. During the installation, the dependency files \(such as C/C++ and CodeLLDB plug-ins\) and execution programs required by DevEco Device Tool are automatically installed. +2. DevEco Device Tool checks whether the toolkit on which the installation depends meets the requirements. If the requirements are not met, follow the preceding installation instructions in this section. + + >![](../public_sys-resources/icon-note.gif) **NOTE:** + >If Visual Studio Code has been installed but fails to be detected, restart your computer. + + ![](figure/installing-the-deveco-device-tool.png) + +3. Click **Install**. + + ![](figure/install.png) + +4. After the installation is complete, click **Close**. - ![](figure/en-us_image_0000001072468991.png) + ![](figure/installation-complete.png) -3. After the installation is complete, the CLT is automatically closed. -4. Open Visual Studio Code, click the ![](figure/en-us_image_0000001072757874.png) button on the left, and check whether C/C++, CodeLLDB, and DevEco Device Tool are listed in **INSTALLED**. +5. 启动Visual Studio Code,会自动安装DevEco Device Tool依赖的C/C++、CodeLLDB插件。等待安装完成后,点击Visual Studio Code左侧的![](figure/button.png)按钮,检查INSTALLED中,是否已成功安装C/C++、CodeLLDB和DevEco Device Tool。 >![](../public_sys-resources/icon-note.gif) **NOTE:** >If the C/C++ and CodeLLDB plug-ins fail to be installed, DevEco Device Tool cannot run properly. To solve the issue, see [Installing the C/C++ and CodeLLDB Plug-ins Offline](https://device.harmonyos.com/en/docs/ide/user-guides/offline_plugin_install-0000001074376846). - ![](figure/en-us_image_0000001142802505.png) + ![](figure/visual-studio-code.png) diff --git a/en/device-dev/quick-start/quickstart-standard.md b/en/device-dev/quick-start/quickstart-standard.md index ece9c36cc5918da7b8613e5d0ec9f68a6071b8ce..a464c3dc670ed78a5631b62380839dbee0873e7a 100644 --- a/en/device-dev/quick-start/quickstart-standard.md +++ b/en/device-dev/quick-start/quickstart-standard.md @@ -1,15 +1,17 @@ # Standard System -- **[Introduction](quickstart-standard-description.md)** +- **[Introduction](quickstart-standard-overview.md)** - **[Setting Up Windows Development Environment](quickstart-standard-windows-environment.md)** -- **[Setting Up Ubuntu Development Environment in Docker Mode and Building Source Code](quickstart-standard-docker-environment.md)** +- **[Setting Up Ubuntu Development Environment in Docker Mode](quickstart-standard-docker-environment.md)** -- **[Setting Up Ubuntu Development Environment with Installation Package and Building Source Code](quickstart-standard-package-environment.md)** +- **[Setting Up Ubuntu Development Environment with Installation Package](quickstart-standard-package-environment.md)** - **[Burning Images](quickstart-standard-burn.md)** -- **[FAQs](quickstart-standard-faq.md)** +- **[Running an Image](quickstart-standard-running.md)** + +- **[FAQs](quickstart-standard-faqs.md)** diff --git a/en/readme.md b/en/readme.md index 72bcf19fab958be841293c2d6dcea9891ea404bf..bd89f6260eb49d7c851ff17285a39cfcc3af9bb9 100644 --- a/en/readme.md +++ b/en/readme.md @@ -27,8 +27,8 @@ This project stores OpenHarmony documentation, including the quick start guide, - [Third-Party Library Porting Guide](device-dev/porting/porting-thirdparty.md) - **bundles**: - - [Development Specifications](device-dev/bundles/bundles-standard-rules.md) - - [Development Guidelines](device-dev/bundles/bundles-guide.md) + - [HPM Bundle Development Specifications](device-dev/bundles/bundles-standard-rules.md) + - [HPM Bundle Development Guidelines](device-dev/bundles/bundles-guide.md) - [HPM User Guide](device-dev/bundles/bundles-demo.md) - Standard System Development Guidelines \(Reference Memory ≥ 128 MB\) @@ -48,12 +48,11 @@ This project stores OpenHarmony documentation, including the quick start guide, - **porting**: - - [Third-Party Library Porting Guide](device-dev/porting/porting-thirdparty.md) - [Standard System SoC Porting Guide](device-dev/porting/standard-system-porting-guide.md) - **bundles**: - - [Development Specifications](device-dev/bundles/bundles-standard-rules.md) - - [Development Guidelines](device-dev/bundles/bundles-guide.md) + - [HPM Bundle Development Specifications](device-dev/bundles/bundles-standard-rules.md) + - [HPM Bundle Development Guidelines](device-dev/bundles/bundles-guide.md) - [HPM User Guide](device-dev/bundles/bundles-demo.md) diff --git a/zh-cn/device-dev/Readme-CN.md b/zh-cn/device-dev/Readme-CN.md index d755ec5d943dc61262fbdafb0fc071b5aa138ae7..8ec6cd9cda28017d269f8d82f909080b6817225e 100644 --- a/zh-cn/device-dev/Readme-CN.md +++ b/zh-cn/device-dev/Readme-CN.md @@ -69,7 +69,7 @@ OpenHarmony也提供了一系列可选的系统组件,方便设备开发者按

使用OpenHarmony提供的基础能力

- +

进阶开发

@@ -86,11 +86,11 @@ OpenHarmony也提供了一系列可选的系统组件,方便设备开发者按 -

贡献Bundle

+

贡献组件

-

OpenHarmony贡献Bundle

+

OpenHarmony贡献功能组件

- +

参考

@@ -142,25 +142,18 @@ OpenHarmony也提供了一系列可选的系统组件,方便设备开发者按 -

进阶开发

- -

结合系统能力开发智能设备

- - - -

移植适配

对三方库进行移植适配

- + -

贡献Bundle

+

贡献组件

-

OpenHarmony贡献Bundle

+

OpenHarmony贡献功能组件

- +

参考

diff --git a/zh-cn/device-dev/get-code/figure/3-28.png b/zh-cn/device-dev/get-code/figure/evolution-roadmap.png similarity index 100% rename from zh-cn/device-dev/get-code/figure/3-28.png rename to zh-cn/device-dev/get-code/figure/evolution-roadmap.png diff --git a/zh-cn/device-dev/get-code/figure/zh-cn_image_0000001119915556.png "b/zh-cn/device-dev/get-code/figure/\345\214\205\347\256\241\347\220\206.png" similarity index 100% rename from zh-cn/device-dev/get-code/figure/zh-cn_image_0000001119915556.png rename to "zh-cn/device-dev/get-code/figure/\345\214\205\347\256\241\347\220\206.png" diff --git a/zh-cn/device-dev/get-code/figure/zh-cn_image_0000001119755646.png "b/zh-cn/device-dev/get-code/figure/\345\217\221\350\241\214\347\211\210\347\244\272\344\276\213.png" similarity index 100% rename from zh-cn/device-dev/get-code/figure/zh-cn_image_0000001119755646.png rename to "zh-cn/device-dev/get-code/figure/\345\217\221\350\241\214\347\211\210\347\244\272\344\276\213.png" diff --git a/zh-cn/device-dev/get-code/figure/zh-cn_image_0000001166715379.png "b/zh-cn/device-dev/get-code/figure/\347\273\204\344\273\266\345\256\232\345\210\266.png" similarity index 100% rename from zh-cn/device-dev/get-code/figure/zh-cn_image_0000001166715379.png rename to "zh-cn/device-dev/get-code/figure/\347\273\204\344\273\266\345\256\232\345\210\266.png" diff --git a/zh-cn/device-dev/get-code/figure/zh-cn_image_0000001101413884.png "b/zh-cn/device-dev/get-code/figure/\350\256\276\347\275\256\347\274\226\350\257\221\347\225\214\351\235\242.png" similarity index 100% rename from zh-cn/device-dev/get-code/figure/zh-cn_image_0000001101413884.png rename to "zh-cn/device-dev/get-code/figure/\350\256\276\347\275\256\347\274\226\350\257\221\347\225\214\351\235\242.png" diff --git a/zh-cn/device-dev/get-code/gettools-acquire.md b/zh-cn/device-dev/get-code/gettools-acquire.md index 654fac2dcceb5947bea834f872d8b26e0168d1af..a2c790b11886e1eb01b9249e97729de5562a70a5 100644 --- a/zh-cn/device-dev/get-code/gettools-acquire.md +++ b/zh-cn/device-dev/get-code/gettools-acquire.md @@ -150,10 +150,8 @@ hb set . ``` -**图 1** 设置编译界面 - - -![](figure/zh-cn_image_0000001101413884.png) +**图 1** 设置编译界面 +![](figure/设置编译界面.png "设置编译界面") >![](../public_sys-resources/icon-note.gif) **说明:** >当前开发板平台和编译界面的对应关系如下: diff --git a/zh-cn/device-dev/get-code/gettools-ide.md b/zh-cn/device-dev/get-code/gettools-ide.md index 31f93558449c20b4133c964d9dfe576b042a9935..b12dbbf1deeb74896a04c9a61d3f9f4aa8830708 100644 --- a/zh-cn/device-dev/get-code/gettools-ide.md +++ b/zh-cn/device-dev/get-code/gettools-ide.md @@ -9,7 +9,7 @@ HUAWEI DevEco Device Tool是OpenHarmony面向智能设备开发者提供的一 Huawei DevEco Device Tool支持 OpenHarmony设备开发的演进路标如下: -![](figure/3-28.png) +![](figure/evolution-roadmap.png) ## 获取应用开发工具(HUAWEI DevEco Studio) diff --git a/zh-cn/device-dev/get-code/sourcecode-acquire.md b/zh-cn/device-dev/get-code/sourcecode-acquire.md index dcdeeecdf7018bdfb932e9be7472e659ee71eff8..c953882f8b3759e5d26b268238af344a4c3c4aef 100644 --- a/zh-cn/device-dev/get-code/sourcecode-acquire.md +++ b/zh-cn/device-dev/get-code/sourcecode-acquire.md @@ -101,7 +101,7 @@ OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及 ``` repo init -u https://gitee.com/openharmony/manifest.git -b OpenHarmony_1.0.1_release --no-repo-verify repo sync -c - repo forall -c 'git lfs pull' + repo[Release-Notes](../../release-notes/Readme.md) forall -c 'git lfs pull' ``` - OpenHarmony其他版本源码获取方式请参考版本[Release-Notes](../../release-notes/Readme.md)。 @@ -151,10 +151,8 @@ OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及 3. 结果中显示与关键字匹配的发行版,可以进一步根据组件类别等过滤条件(如:适配的开发板,内核)精确筛选。 4. 查找合适的发行版,点击查看发行版的详情介绍。 - **图 1** 包管理 - - - ![](figure/zh-cn_image_0000001119915556.png) + **图 1** 包管理 + ![](figure/包管理.png "包管理") 2. 了解发行版详情。 @@ -162,10 +160,8 @@ OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及 2. 点击「直接下载」,将发行版下载到本地。 3. 点击「定制组件」,将对发行版包含的组件进行定制(添加/删除)。 - **图 2** 发行版示例 - - - ![](figure/zh-cn_image_0000001119755646.png) + **图 2** 发行版示例 + ![](figure/发行版示例.png "发行版示例") 3. 定制组件。 1. 进入发行版的定制页面,如下图所示。 @@ -173,10 +169,8 @@ OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及 3. 在右边填写您的项目基本信息,包括名称、版本、描述等信息。 4. 点击“下载“,系统会根据您的选择,生成相应的OpenHarmony代码结构文件\(如my\_cust\_dist.zip\),保存至本地文件。 - **图 3** 组件定制 - - - ![](figure/zh-cn_image_0000001166715379.png) + **图 3** 组件定制 + ![](figure/组件定制.png "组件定制") 4. 下载安装组件。 1. 解压下载的压缩文件,用命令行工具CMD(Linux下的Shell终端) diff --git "a/zh-cn/device-dev/porting/figure/\345\210\206\347\261\273.png" "b/zh-cn/device-dev/porting/figure/OpenHarmony-\351\251\261\345\212\250\345\210\206\347\261\273.png" similarity index 100% rename from "zh-cn/device-dev/porting/figure/\345\210\206\347\261\273.png" rename to "zh-cn/device-dev/porting/figure/OpenHarmony-\351\251\261\345\212\250\345\210\206\347\261\273.png" diff --git a/zh-cn/device-dev/porting/figure/init.jpg "b/zh-cn/device-dev/porting/figure/init\345\220\257\345\212\250\346\255\243\345\270\270\346\227\245\345\277\227.png" similarity index 100% rename from zh-cn/device-dev/porting/figure/init.jpg rename to "zh-cn/device-dev/porting/figure/init\345\220\257\345\212\250\346\255\243\345\270\270\346\227\245\345\277\227.png" diff --git a/zh-cn/device-dev/porting/figure/zh-cn_image_0000001072304191.png "b/zh-cn/device-dev/porting/figure/liteos-m\345\206\205\346\240\270\346\250\241\345\235\227\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/porting/figure/zh-cn_image_0000001072304191.png rename to "zh-cn/device-dev/porting/figure/liteos-m\345\206\205\346\240\270\346\250\241\345\235\227\345\233\276.png" diff --git a/zh-cn/device-dev/porting/figure/zh-cn_image_0000001126198996.png "b/zh-cn/device-dev/porting/figure/\344\270\232\345\212\241\345\220\257\345\212\250\346\265\201\347\250\213.png" similarity index 100% rename from zh-cn/device-dev/porting/figure/zh-cn_image_0000001126198996.png rename to "zh-cn/device-dev/porting/figure/\344\270\232\345\212\241\345\220\257\345\212\250\346\265\201\347\250\213.png" diff --git a/zh-cn/device-dev/porting/figure/zh-cn_image_0000001073943511.png "b/zh-cn/device-dev/porting/figure/\345\220\257\345\212\250\346\265\201\347\250\213.png" old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/porting/figure/zh-cn_image_0000001073943511.png rename to "zh-cn/device-dev/porting/figure/\345\220\257\345\212\250\346\265\201\347\250\213.png" diff --git a/zh-cn/device-dev/porting/figure/zh-cn_image_0000001126354076.png "b/zh-cn/device-dev/porting/figure/\345\237\272\344\272\216linux\345\206\205\346\240\270\347\232\204OS\351\225\234\345\203\217\347\273\223\346\236\204\345\222\214\347\224\250\346\210\267\346\200\201\347\250\213\345\272\217\345\220\257\345\212\250\346\265\201\347\250\213.png" similarity index 100% rename from zh-cn/device-dev/porting/figure/zh-cn_image_0000001126354076.png rename to "zh-cn/device-dev/porting/figure/\345\237\272\344\272\216linux\345\206\205\346\240\270\347\232\204OS\351\225\234\345\203\217\347\273\223\346\236\204\345\222\214\347\224\250\346\210\267\346\200\201\347\250\213\345\272\217\345\220\257\345\212\250\346\265\201\347\250\213.png" diff --git a/zh-cn/device-dev/porting/figure/zh-cn_image_0000001126358814.png "b/zh-cn/device-dev/porting/figure/\346\225\264\344\275\223\345\220\257\345\212\250\346\265\201\347\250\213.png" similarity index 100% rename from zh-cn/device-dev/porting/figure/zh-cn_image_0000001126358814.png rename to "zh-cn/device-dev/porting/figure/\346\225\264\344\275\223\345\220\257\345\212\250\346\265\201\347\250\213.png" diff --git a/zh-cn/device-dev/porting/figure/shell.jpg "b/zh-cn/device-dev/porting/figure/\346\255\243\345\270\270\350\277\233\345\205\245shell\345\220\216\350\276\223\345\205\245ls\345\221\275\344\273\244\344\270\262\345\217\243\346\211\223\345\215\260.png" similarity index 100% rename from zh-cn/device-dev/porting/figure/shell.jpg rename to "zh-cn/device-dev/porting/figure/\346\255\243\345\270\270\350\277\233\345\205\245shell\345\220\216\350\276\223\345\205\245ls\345\221\275\344\273\244\344\270\262\345\217\243\346\211\223\345\215\260.png" diff --git a/zh-cn/device-dev/porting/oem_transplant_chip_prepare_knows.md b/zh-cn/device-dev/porting/oem_transplant_chip_prepare_knows.md index 078f325731cf8828aa03008e8612f13265e603a6..188e23538673a6eb6e3888299a47874fc8d9ac1e 100644 --- a/zh-cn/device-dev/porting/oem_transplant_chip_prepare_knows.md +++ b/zh-cn/device-dev/porting/oem_transplant_chip_prepare_knows.md @@ -56,7 +56,7 @@ device ├── linux # linux版本 │ └── config.gni # linux版本编译工具链和编译选项配置 └── liteos_a # liteos-a版本 - └── config.gni # liteos_a版本编译工具链和编译选项配置 + └── config.gni # liteos-a版本编译工具链和编译选项配置 ``` vendor目录规则:vendor/\{产品解决方案厂商\}/\{产品名称\}。以华为的wifiiot产品为例: diff --git a/zh-cn/device-dev/porting/porting-chip-kernel-adjustment.md b/zh-cn/device-dev/porting/porting-chip-kernel-adjustment.md index 40f82e0cd778cc360d659cba3363f5c94e560745..31261e8790201b6eb59db288b4645bcc27d1bd96 100644 --- a/zh-cn/device-dev/porting/porting-chip-kernel-adjustment.md +++ b/zh-cn/device-dev/porting/porting-chip-kernel-adjustment.md @@ -12,10 +12,8 @@ 1. 启动文件startup.S和相应链接配置文件。 2. main. c中的串口初始化和tick中断注册。 -**图 1** 启动流程 - - -![](figure/zh-cn_image_0000001073943511.png) +**图 1** 启动流程 +![](figure/启动流程.png "启动流程") 启动文件startup.S需要确保中断向量表的入口函数(例如reset\_vector)放在RAM的首地址,它由链接配置文件来指定。其中iar、keil和gcc工程的链接配置文件分别为xxx.icf、xxx.sct和xxx.ld,如果startup.S已经完成系统时钟初始化,并且能够引导到main函数,则启动文件不需要进行修改,采用厂商自带的startup.S即可,否则需要实现以上功能。 @@ -63,6 +61,11 @@ liteos\_m的完整配置能力及默认配置在los\_config.h定义,该头文

队列功能开关,1表示打开,0表示关闭

+

LOSCFG_BASE_CORE_TSK_LIMIT

+ +

除idle task之外,总的可用task个数限制,可以根据业务使用的task个数来配置,也可以设置一个较大的值,待业务稳定了,查看运行task的个数来进行配置

+ +

LOSCFG_BASE_IPC_SEM

信号量功能开关,1表示打开,0表示关闭

diff --git a/zh-cn/device-dev/porting/porting-chip-kernel-overview.md b/zh-cn/device-dev/porting/porting-chip-kernel-overview.md index 34095a2318d181be7604f6c4ac4ce9bd4d614db2..c05a50ef6703ec00d2006d93739e98dbf0a01676 100644 --- a/zh-cn/device-dev/porting/porting-chip-kernel-overview.md +++ b/zh-cn/device-dev/porting/porting-chip-kernel-overview.md @@ -18,10 +18,8 @@ - 在Kernel模块中,其中硬件相关的代码放在kernel的arch目录中,其余为硬件无关的代码。内核功能集(task、sem等)的实现依赖硬件相关的arch代码,例如任务上下文切换、原子操作等。 - Utils模块作为基础代码块,被其他模块依赖。 -**图 1** liteos-m内核模块图 - - -![](figure/zh-cn_image_0000001072304191.png) +**图 1** liteos-m内核模块图 +![](figure/liteos-m内核模块图.png "liteos-m内核模块图") 内核的目录结构和说明如下: diff --git a/zh-cn/device-dev/porting/porting-smallchip-driver-overview.md b/zh-cn/device-dev/porting/porting-smallchip-driver-overview.md index 699970df8f3ba863dc0d30037b6029a1ea3eb2a3..bd131e478628429fa97a91a2b855ba48dc7c03f9 100644 --- a/zh-cn/device-dev/porting/porting-smallchip-driver-overview.md +++ b/zh-cn/device-dev/porting/porting-smallchip-driver-overview.md @@ -1,11 +1,9 @@ # 移植概述 -驱动主要包含两部分,平台驱动和器件驱动。平台驱动主要包括通常在SOC内的GPIO、I2C、SPI等;器件驱动则主要包含通常在SOC外的器件,如 LCD、TP、WLAN等。 +驱动主要包含两部分,平台驱动和器件驱动。平台驱动主要包括通常在SOC内的GPIO、I2C、SPI等;器件驱动则主要包含通常在SOC外的器件,如 LCD、TP、WLAN等 -**图 1** OpenHarmony 驱动分类 - - -![](figure/分类.png) +**图 1** OpenHarmony 驱动分类 +![](figure/OpenHarmony-驱动分类.png "OpenHarmony-驱动分类") HDF驱动被设计为可以跨OS使用的驱动程序,HDF驱动框架会为驱动达成这个目标提供有力的支撑。开发HDF驱动中,请尽可能只使用HDF驱动框架提供的接口,否则会导致驱动丧失跨OS使用的特性。在开始驱动开发前,建议先了解[HDF驱动框架](../driver/driver-hdf-overview.md)。 diff --git a/zh-cn/device-dev/porting/porting-smallchip-kernel-a.md b/zh-cn/device-dev/porting/porting-smallchip-kernel-a.md index 1588a5c84a8d3e16051e2760f33e30be12875a0d..80e20305dc85fee55e5a9c9661688bb89b42b89b 100644 --- a/zh-cn/device-dev/porting/porting-smallchip-kernel-a.md +++ b/zh-cn/device-dev/porting/porting-smallchip-kernel-a.md @@ -23,7 +23,7 @@ LiteOS-A目录规范参考[LiteOS-A 简介](https://gitee.com/openharmony/kernel LiteOS-A提供系统运行所需的系统初始化流程和定制化配置选项。移植过程中,需要关注初始化流程中跟硬件配置相关的函数。 -如下图所示,LiteOS-A的初始化流程主要包含以下五步: +如下图所示,LiteOS-A的初始化流程主要包含以下七步: 1. 新增target\_config.h文件,并且编写单板内存相关的配置宏DDR\_MEM\_ADDR和DDR\_MEM\_SIZE,分别表示内存起始地址和内存的长度,预链接脚本board.ld.S会根据这两个宏进行展开生成链接脚本board.ld。 2. 新增定义MMU映射全局数组\(g\_archMmuInitMapping\),指定各个内存段属性及虚实映射关系,内核启动阶段根据该表建立内存映射关系。 @@ -35,10 +35,8 @@ LiteOS-A提供系统运行所需的系统初始化流程和定制化配置选项 整体启动流程如下图所示: -**图 1** 整体启动流程 - - -![](figure/zh-cn_image_0000001126358814.png) +**图 1** 整体启动流程 +![](figure/整体启动流程.png "整体启动流程") 从图1中可以看到,内核基础适配需要单板进行适配的代码包含三部分: @@ -118,17 +116,15 @@ LiteOS-A提供系统运行所需的系统初始化流程和定制化配置选项 - SystemInit函数用于单板用户态业务初始化,典型的初始化场景如图2所示: - **图 1** 业务启动流程 - - - ![](figure/zh-cn_image_0000001126198996.png) + **图 2** 业务启动流程 + ![](figure/业务启动流程.png "业务启动流程") - main函数用于内核基础初始化和单板内核态业务初始化,流程如下图3所示,整体由内核启动框架主导初始化流程,图中浅蓝色部分为启动框架中可接受外部模块注册启动的阶段。 >![](../public_sys-resources/icon-caution.gif) **注意:** >同一层级内的模块不能有依赖关系。 - **图 2** 内核启动框架 + **图 3** 内核启动框架 ![](figure/内核启动框架.jpg "内核启动框架") **表 2** 启动框架层级 diff --git a/zh-cn/device-dev/porting/porting-smallchip-kernel-linux.md b/zh-cn/device-dev/porting/porting-smallchip-kernel-linux.md index a467d3cdf26edadcd26a6f25da304bb265e852d7..f4d1407168d076a462d30aa14c42529f944458da 100644 --- a/zh-cn/device-dev/porting/porting-smallchip-kernel-linux.md +++ b/zh-cn/device-dev/porting/porting-smallchip-kernel-linux.md @@ -58,18 +58,16 @@ Linux内核移植主要涉及基于linux内核基线合入三方芯片补丁后 ## 验证 -调试init进程、启动shell和运行简单的用户态程序,验证内核移植是否成功。OpenHarmony[小型系统](https://device.harmonyos.com/cn/docs/start/introduce/oem_start_guide-0000001054913231)的OS镜像结构以及linux用户态的启动流程如下图1所示: +调试init进程、启动shell和运行简单的用户态程序,验证内核移植是否成功。OpenHarmony[小型系统](../quick-start/quickstart-lite-overview.md)的OS镜像结构以及linux用户态的启动流程如下图1所示: -**图 1** 基于linux内核的OS镜像结构和用户态程序启动流程 - - -![](figure/zh-cn_image_0000001126354076.png) +**图 1** 基于linux内核的OS镜像结构和用户态程序启动流程 +![](figure/基于linux内核的OS镜像结构和用户态程序启动流程.png "基于linux内核的OS镜像结构和用户态程序启动流程") 基于上述流程,推荐按以下步骤完成验证: 1. 制作根文件系统镜像。 - 请参考[新建芯片解决方案和产品解决方案](https://device.harmonyos.com/cn/docs/develop/subsystems/oem_subsys_build_guide-0000001060378721)生成根文件系统镜像rootfs.img。从上图可以看到启动过程与产品配置强相关,在制作rootfs.img过程中请完成如下四种配置: + 请参考[新建芯片解决方案和产品解决方案](../subsystems/subsys-build-mini-lite.md)生成根文件系统镜像rootfs.img。从上图可以看到启动过程与产品配置强相关,在制作rootfs.img过程中请完成如下四种配置: - 组件配置 @@ -99,17 +97,13 @@ Linux内核移植主要涉及基于linux内核基线合入三方芯片补丁后 若串口有如下版本号日志打印,则表示init程序启动正常: - **图 2** init启动正常日志 - - - ![](figure/init.jpg) + **图 2** init启动正常日志 + ![](figure/init启动正常日志.png "init启动正常日志") 正常进入shell后执行ls命令,串口打印信息如下图: - **图 3** 正常进入shell后输入ls命令串口打印 - - - ![](figure/shell.jpg) + **图 3** 正常进入shell后输入ls命令串口打印 + ![](figure/正常进入shell后输入ls命令串口打印.png "正常进入shell后输入ls命令串口打印") 3. 配置NFS。 diff --git a/zh-cn/device-dev/porting/standard-system-porting-guide.md b/zh-cn/device-dev/porting/standard-system-porting-guide.md index 1951cfdb76268d58b163191d8d4c83edc63277ce..dc6e872ae9ada02665b5dc07017b205267a159f7 100644 --- a/zh-cn/device-dev/porting/standard-system-porting-guide.md +++ b/zh-cn/device-dev/porting/standard-system-porting-guide.md @@ -14,11 +14,11 @@ - [1. LCD](#section212mcpsimp) - [2. 触摸屏](#section229mcpsimp) - [3. WLAN](#section274mcpsimp) - -- [开发板移植实例](#开发板移植实例) + - [4. 开发移植示例](#section11253153018415) 本文描述了移植一块开发板的通用步骤,和具体芯片相关的详细移植过程无法在此一一列举。后续社区还会陆续发布开发板移植的实例供开发者参考。 + ## 定义开发板 本文以移植名为MyProduct的开发板为例讲解移植过程,假定MyProduct是MyProductVendor公司的开发板,使用MySoCVendor公司生产的MySOC芯片作为处理器。 @@ -100,23 +100,23 @@ }, ``` -接着需要修改定义产品的配置文件//productdefine/common/products/MyProduct.json。将刚刚定义的子系统加入到产品中。 +接着需要修改定义产品的配置文件//productdefine/common/products/MyProduct.json,将刚刚定义的子系统加入到产品中。 ### 2. 编译内核 -OpenHarmony源码中提供了Linux 4.19的内核,归档在`//kernel/linux-4.19`。本节以该内核版本为例,讲解如何编译内核。 +OpenHarmony源码中提供了Linux 4.19的内核,归档在//kernel/linux-4.19。本节以该内核版本为例,讲解如何编译内核。 -在子系统的定义中,描述了子系统构建的路径path,即`//device/MySOCVendor/MySOC/build`。这一节会在这个目录创建构建脚本,告诉构建系统如何构建内核。 +在子系统的定义中,描述了子系统构建的路径path,即\`//device/MySOCVendor/MySOC/build\`。这一节会在这个目录创建构建脚本,告诉构建系统如何构建内核。 建议的目录结构 ``` ├── build -│   ├── kernel -│   │ ├── linux -│   │ ├──standard_patch_for_4_19.patch // 基于4.19版本内核的补丁 -│   ├── BUILD.gn -│   ├── ohos.build +│ ├── kernel +│ │ ├── linux +│ │ ├──standard_patch_for_4_19.patch // 基于4.19版本内核的补丁 +│ ├── BUILD.gn +│ ├── ohos.build ``` BUILD.gn是subsystem构建的唯一入口。 @@ -206,13 +206,7 @@ root { - 创建触摸屏器件驱动 -在目录中创建名为 - -``` -touch_ic_name.c -``` - -的文件。代码模板如下:注意:请替换ic\_name为你所适配芯片的名称。 +在目录中创建名为touch\_ic\_name.c的文件。代码模板如下:注意:请替换ic\_name为你所适配芯片的名称。 ``` #include "hdf_touch.h" @@ -293,7 +287,7 @@ HDF_INIT(g_touchXXXXChipEntry); } ``` -更详细的驱动开发指导,请参考 [TOUCHSCREEN](../driver/driver-peripherals-touch-des.md) +更详细的驱动开发指导,请参考 [TOUCHSCREEN](../driver/driver-peripherals-touch-des.md)。 ### 3. WLAN @@ -314,21 +308,21 @@ Wi-Fi驱动分为两部分,一部分负责管理WLAN设备,另一个部分

HdfChipDriverFactory

-
//drivers/framework/include/wifi/hdf_wlan_chipdriver_manager.h
+

//drivers/framework/include/wifi/hdf_wlan_chipdriver_manager.h

ChipDriver的Factory,用于支持一个芯片多个Wi-Fi端口

HdfChipDriver

-
//drivers/framework/include/wifi/wifi_module.h
+

//drivers/framework/include/wifi/wifi_module.h

每个WLAN端口对应一个HdfChipDriver,用来管理一个特定的WLAN端口

NetDeviceInterFace

-
//drivers/framework/include/net/net_device.h
+

//drivers/framework/include/net/net_device.h

与协议栈之间的接口,如发送数据、设置网络接口状态等

@@ -338,8 +332,8 @@ Wi-Fi驱动分为两部分,一部分负责管理WLAN设备,另一个部分 建议适配按如下步骤操作: -1.创建HDF驱动建议将代码放置在//device/MySoCVendor/peripheral/wifi/chip\_name/ -文件模板如下: +1.创建HDF驱动建议将代码放置在//device/MySoCVendor/peripheral/wifi/chip\_name/,文件模板如下: + ``` static int32_t HdfWlanHisiChipDriverInit(struct HdfDeviceObject *device) { static struct HdfChipDriverFactory factory = CreateChipDriverFactory(); @@ -361,7 +355,7 @@ struct HdfDriverEntry g_hdfXXXChipEntry = { HDF_INIT(g_hdfXXXChipEntry); ``` -在CreateChipDriverFactory中需要创建一个HdfChipDriverFactory,接口如下: +在CreateChipDriverFactory中,需要创建一个HdfChipDriverFactory,接口如下:

接口

@@ -447,7 +441,8 @@ HdfChipDriver需要实现的接口有 在产品配置目录下创建芯片的配置文件//vendor/MyProductVendor/MyProduct/config/wifi/wlan\_chip\_chip\_name.hcs。 -注意: 路径中的vendor\_name、product\_name、chip\_name请替换成实际名称 +注意: 路径中的vendor\_name、product\_name、chip\_name请替换成实际名称。 + 模板如下: ``` @@ -512,7 +507,7 @@ obj-$(CONFIG_DRIVERS_WLAN_XXX) += $(HDF_DEVICE_ROOT)/MySoCVendor/peripheral/buil 当在内核中开启DRIVERS\_WLAN\_XXX开关时,会调用//device/MySoCVendor/peripheral/build/standard/中的makefile。更多详细的开发手册,请参考[WLAN开发](../guide/oem_wifi_sdk_des.md)。 -## 开发板移植实例 +### 4. 开发移植示例 -[DAYU开发板](https://gitee.com/openharmony-sig/devboard_device_hihope_build/blob/master/DAYU%20%E5%B9%B3%E5%8F%B0OpenHarmony%20%E9%80%82%E9%85%8D%E6%8C%87%E5%AF%BC%20-202108.pdf) +开发移植示例请参考[DAYU开发板](https://gitee.com/openharmony-sig/devboard_device_hihope_build/blob/master/DAYU%20%E5%B9%B3%E5%8F%B0OpenHarmony%20%E9%80%82%E9%85%8D%E6%8C%87%E5%AF%BC%20-202108.pdf)。 diff --git a/zh-cn/device-dev/quick-start/figure/2021-01-27_170334-17.png b/zh-cn/device-dev/quick-start/figure/2021-01-27_170334-17.png deleted file mode 100644 index 1e7dd2cdb515e871a1c5d34b3332b097bc02351b..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/2021-01-27_170334-17.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/2021-01-27_170334-5.png b/zh-cn/device-dev/quick-start/figure/2021-01-27_170334-5.png deleted file mode 100644 index 5b573a4ddfe89fe25cb1b567736823244fdb9e97..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/2021-01-27_170334-5.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/2021-01-27_170334.png b/zh-cn/device-dev/quick-start/figure/2021-01-27_170334.png deleted file mode 100755 index 1e7dd2cdb515e871a1c5d34b3332b097bc02351b..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/2021-01-27_170334.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470864.png b/zh-cn/device-dev/quick-start/figure/Download-the-source-code.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470864.png rename to zh-cn/device-dev/quick-start/figure/Download-the-source-code.png diff --git "a/zh-cn/device-dev/quick-start/figure/3516\346\255\243\351\235\242-16.png" "b/zh-cn/device-dev/quick-start/figure/Hi3516\345\215\225\346\235\277\346\255\243\351\235\242\345\244\226\350\247\202\345\233\276-25.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figure/3516\346\255\243\351\235\242-16.png" rename to "zh-cn/device-dev/quick-start/figure/Hi3516\345\215\225\346\235\277\346\255\243\351\235\242\345\244\226\350\247\202\345\233\276-25.png" diff --git "a/zh-cn/device-dev/quick-start/figure/3516\346\255\243\351\235\242.png" "b/zh-cn/device-dev/quick-start/figure/Hi3516\345\215\225\346\235\277\346\255\243\351\235\242\345\244\226\350\247\202\345\233\276.png" similarity index 100% rename from "zh-cn/device-dev/quick-start/figure/3516\346\255\243\351\235\242.png" rename to "zh-cn/device-dev/quick-start/figure/Hi3516\345\215\225\346\235\277\346\255\243\351\235\242\345\244\226\350\247\202\345\233\276.png" diff --git "a/zh-cn/device-dev/quick-start/figure/Hi3518\346\255\243\350\203\214\351\235\242.png" "b/zh-cn/device-dev/quick-start/figure/Hi3518EV300\345\215\225\346\235\277\350\203\214\351\235\242\345\244\226\350\247\202\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figure/Hi3518\346\255\243\350\203\214\351\235\242.png" rename to "zh-cn/device-dev/quick-start/figure/Hi3518EV300\345\215\225\346\235\277\350\203\214\351\235\242\345\244\226\350\247\202\345\233\276.png" diff --git "a/zh-cn/device-dev/quick-start/figure/3861\346\255\243\351\235\242.png" "b/zh-cn/device-dev/quick-start/figure/Hi3861-WLAN\346\250\241\347\273\204\345\244\226\350\247\202\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figure/3861\346\255\243\351\235\242.png" rename to "zh-cn/device-dev/quick-start/figure/Hi3861-WLAN\346\250\241\347\273\204\345\244\226\350\247\202\345\233\276.png" diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311066.png "b/zh-cn/device-dev/quick-start/figure/Hi3861\345\212\237\350\203\275\346\241\206\345\233\276.png" similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311066.png rename to "zh-cn/device-dev/quick-start/figure/Hi3861\345\212\237\350\203\275\346\241\206\345\233\276.png" diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350615.png "b/zh-cn/device-dev/quick-start/figure/Hi3861\345\272\225\346\235\277\345\244\226\350\247\202\345\233\276.png" similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350615.png rename to "zh-cn/device-dev/quick-start/figure/Hi3861\345\272\225\346\235\277\345\244\226\350\247\202\345\233\276.png" diff --git a/zh-cn/device-dev/quick-start/figure/1.png "b/zh-cn/device-dev/quick-start/figure/IDE\347\273\210\347\253\257\345\267\245\345\205\267\346\211\223\345\274\200\346\226\271\346\263\225.png" old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/1.png rename to "zh-cn/device-dev/quick-start/figure/IDE\347\273\210\347\253\257\345\267\245\345\205\267\346\211\223\345\274\200\346\226\271\346\263\225.png" diff --git a/zh-cn/device-dev/quick-start/figure/Save-the-parameter-settings.png b/zh-cn/device-dev/quick-start/figure/Save-the-parameter-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..47231369bbeb827e70a8720b7a3d03ac58fad0c3 Binary files /dev/null and b/zh-cn/device-dev/quick-start/figure/Save-the-parameter-settings.png differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270715.png b/zh-cn/device-dev/quick-start/figure/Symptom.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270715.png rename to zh-cn/device-dev/quick-start/figure/Symptom.png diff --git a/zh-cn/device-dev/quick-start/figure/6.png "b/zh-cn/device-dev/quick-start/figure/WLAN\345\244\215\344\275\215\346\210\220\345\212\237\347\244\272\346\204\217\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/6.png rename to "zh-cn/device-dev/quick-start/figure/WLAN\345\244\215\344\275\215\346\210\220\345\212\237\347\244\272\346\204\217\345\233\276.png" diff --git "a/zh-cn/device-dev/quick-start/figure/\346\210\252\345\233\276.png" "b/zh-cn/device-dev/quick-start/figure/WLAN\346\250\241\347\273\204\350\201\224\347\275\221\346\210\220\345\212\237\347\244\272\346\204\217\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figure/\346\210\252\345\233\276.png" rename to "zh-cn/device-dev/quick-start/figure/WLAN\346\250\241\347\273\204\350\201\224\347\275\221\346\210\220\345\212\237\347\244\272\346\204\217\345\233\276.png" diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001134641222.png b/zh-cn/device-dev/quick-start/figure/WadRecvCB-function.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001134641222.png rename to zh-cn/device-dev/quick-start/figure/WadRecvCB-function.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350643.png b/zh-cn/device-dev/quick-start/figure/burning-succeeded-13.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350643.png rename to zh-cn/device-dev/quick-start/figure/burning-succeeded-13.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001128311098.png b/zh-cn/device-dev/quick-start/figure/burning-succeeded-3.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001128311098.png rename to zh-cn/device-dev/quick-start/figure/burning-succeeded-3.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350669.png b/zh-cn/device-dev/quick-start/figure/burning-succeeded.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350669.png rename to zh-cn/device-dev/quick-start/figure/burning-succeeded.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174350651.png b/zh-cn/device-dev/quick-start/figure/button.png old mode 100755 new mode 100644 similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174350651.png rename to zh-cn/device-dev/quick-start/figure/button.png diff --git a/zh-cn/device-dev/quick-start/figure/checking-the-installation-result.png b/zh-cn/device-dev/quick-start/figure/checking-the-installation-result.png new file mode 100644 index 0000000000000000000000000000000000000000..90e51536da16b151e112aa3698cd339044afe3ea Binary files /dev/null and b/zh-cn/device-dev/quick-start/figure/checking-the-installation-result.png differ diff --git a/en/device-dev/quick-start/figure/2021-01-27_170334-5.png b/zh-cn/device-dev/quick-start/figure/deveco-device-tool-logo.png similarity index 100% rename from en/device-dev/quick-start/figure/2021-01-27_170334-5.png rename to zh-cn/device-dev/quick-start/figure/deveco-device-tool-logo.png diff --git a/zh-cn/device-dev/quick-start/figure/2021-01-27_170334-2.png b/zh-cn/device-dev/quick-start/figure/deveco-device-toollogo.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/2021-01-27_170334-2.png rename to zh-cn/device-dev/quick-start/figure/deveco-device-toollogo.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311072.png b/zh-cn/device-dev/quick-start/figure/download-ecdsa.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311072.png rename to zh-cn/device-dev/quick-start/figure/download-ecdsa.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270699.png b/zh-cn/device-dev/quick-start/figure/download-six.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270699.png rename to zh-cn/device-dev/quick-start/figure/download-six.png diff --git a/zh-cn/device-dev/quick-start/figure/10.png b/zh-cn/device-dev/quick-start/figure/download-zlib.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/10.png rename to zh-cn/device-dev/quick-start/figure/download-zlib.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270731.png b/zh-cn/device-dev/quick-start/figure/erase-u-Boot.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270731.png rename to zh-cn/device-dev/quick-start/figure/erase-u-Boot.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270743.png b/zh-cn/device-dev/quick-start/figure/error.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270743.png rename to zh-cn/device-dev/quick-start/figure/error.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311070.png b/zh-cn/device-dev/quick-start/figure/error2.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311070.png rename to zh-cn/device-dev/quick-start/figure/error2.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470904.png b/zh-cn/device-dev/quick-start/figure/hi3516-upload-options.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470904.png rename to zh-cn/device-dev/quick-start/figure/hi3516-upload-options.png diff --git a/zh-cn/device-dev/quick-start/figure/hisilicon-arm-linux.png b/zh-cn/device-dev/quick-start/figure/hisilicon-arm-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..114a8e1c31ab1a58ece6b0d1e00d673256b42b2b Binary files /dev/null and b/zh-cn/device-dev/quick-start/figure/hisilicon-arm-linux.png differ diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001128311100.png b/zh-cn/device-dev/quick-start/figure/hpm-version.png old mode 100755 new mode 100644 similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001128311100.png rename to zh-cn/device-dev/quick-start/figure/hpm-version.png diff --git a/zh-cn/device-dev/quick-start/figure/install.png b/zh-cn/device-dev/quick-start/figure/install.png new file mode 100644 index 0000000000000000000000000000000000000000..261e75499a68f8e80a6a002dc0f57bf523c3c428 Binary files /dev/null and b/zh-cn/device-dev/quick-start/figure/install.png differ diff --git a/zh-cn/device-dev/quick-start/figure/installation-complete.png b/zh-cn/device-dev/quick-start/figure/installation-complete.png new file mode 100644 index 0000000000000000000000000000000000000000..56b0f47cb9948e49e4aef36c6e59bd631bee5b12 Binary files /dev/null and b/zh-cn/device-dev/quick-start/figure/installation-complete.png differ diff --git a/zh-cn/device-dev/quick-start/figure/installing-python.png b/zh-cn/device-dev/quick-start/figure/installing-python.png new file mode 100644 index 0000000000000000000000000000000000000000..624db2266d404907bbf9b7038ef2a092c1837476 Binary files /dev/null and b/zh-cn/device-dev/quick-start/figure/installing-python.png differ diff --git a/zh-cn/device-dev/quick-start/figure/installing-the-deveco-device-tool.png b/zh-cn/device-dev/quick-start/figure/installing-the-deveco-device-tool.png new file mode 100644 index 0000000000000000000000000000000000000000..bc895e3b216c8029d72bacb260db74d2378e3853 Binary files /dev/null and b/zh-cn/device-dev/quick-start/figure/installing-the-deveco-device-tool.png differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001057335403.png b/zh-cn/device-dev/quick-start/figure/installing-visual-studio-code.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001057335403.png rename to zh-cn/device-dev/quick-start/figure/installing-visual-studio-code.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174270733.png b/zh-cn/device-dev/quick-start/figure/ip-address-information.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174270733.png rename to zh-cn/device-dev/quick-start/figure/ip-address-information.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350659.png b/zh-cn/device-dev/quick-start/figure/login-serial-port.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350659.png rename to zh-cn/device-dev/quick-start/figure/login-serial-port.png diff --git a/zh-cn/device-dev/quick-start/figure/open-the-serial-port-tool.png b/zh-cn/device-dev/quick-start/figure/open-the-serial-port-tool.png new file mode 100644 index 0000000000000000000000000000000000000000..6d350e5d4db03fecc5c1b8055b01cdf73667ed36 Binary files /dev/null and b/zh-cn/device-dev/quick-start/figure/open-the-serial-port-tool.png differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470922.png b/zh-cn/device-dev/quick-start/figure/options.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470922.png rename to zh-cn/device-dev/quick-start/figure/options.png diff --git a/zh-cn/device-dev/quick-start/figure/press-any-key-to-enter-the-system.gif b/zh-cn/device-dev/quick-start/figure/press-any-key-to-enter-the-system.gif new file mode 100644 index 0000000000000000000000000000000000000000..5e0e2bec9e8ce82561047fe7d5f000e0d2c4f962 Binary files /dev/null and b/zh-cn/device-dev/quick-start/figure/press-any-key-to-enter-the-system.gif differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470880.png b/zh-cn/device-dev/quick-start/figure/reason-2.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470880.png rename to zh-cn/device-dev/quick-start/figure/reason-2.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270739.png b/zh-cn/device-dev/quick-start/figure/reason-for-not-finding-python.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270739.png rename to zh-cn/device-dev/quick-start/figure/reason-for-not-finding-python.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174350647.png b/zh-cn/device-dev/quick-start/figure/record-the-serial-port-number-1.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174350647.png rename to zh-cn/device-dev/quick-start/figure/record-the-serial-port-number-1.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470900.png b/zh-cn/device-dev/quick-start/figure/record-the-serial-port-number-9.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470900.png rename to zh-cn/device-dev/quick-start/figure/record-the-serial-port-number-9.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311118.png b/zh-cn/device-dev/quick-start/figure/record-the-serial-port-number.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311118.png rename to zh-cn/device-dev/quick-start/figure/record-the-serial-port-number.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311092.png b/zh-cn/device-dev/quick-start/figure/restart-the-development-board-11.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311092.png rename to zh-cn/device-dev/quick-start/figure/restart-the-development-board-11.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001128470906.png b/zh-cn/device-dev/quick-start/figure/restart-the-development-board-2.png similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001128470906.png rename to zh-cn/device-dev/quick-start/figure/restart-the-development-board-2.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270751.png b/zh-cn/device-dev/quick-start/figure/restart-the-development-board.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270751.png rename to zh-cn/device-dev/quick-start/figure/restart-the-development-board.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350633.png b/zh-cn/device-dev/quick-start/figure/serial-port-entry.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350633.png rename to zh-cn/device-dev/quick-start/figure/serial-port-entry.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350649.png b/zh-cn/device-dev/quick-start/figure/setting-10.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350649.png rename to zh-cn/device-dev/quick-start/figure/setting-10.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311116.png b/zh-cn/device-dev/quick-start/figure/setting.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311116.png rename to zh-cn/device-dev/quick-start/figure/setting.png diff --git a/en/device-dev/quick-start/figure/2021-01-27_170334.png b/zh-cn/device-dev/quick-start/figure/settings.png similarity index 100% rename from en/device-dev/quick-start/figure/2021-01-27_170334.png rename to zh-cn/device-dev/quick-start/figure/settings.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001142794291.png b/zh-cn/device-dev/quick-start/figure/setup-was-successful.png old mode 100755 new mode 100644 similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001142794291.png rename to zh-cn/device-dev/quick-start/figure/setup-was-successful.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270713.png b/zh-cn/device-dev/quick-start/figure/solution-24.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270713.png rename to zh-cn/device-dev/quick-start/figure/solution-24.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350623.png b/zh-cn/device-dev/quick-start/figure/solution-6.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350623.png rename to zh-cn/device-dev/quick-start/figure/solution-6.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350661.png b/zh-cn/device-dev/quick-start/figure/solution.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350661.png rename to zh-cn/device-dev/quick-start/figure/solution.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270729.png b/zh-cn/device-dev/quick-start/figure/start-burning.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270729.png rename to zh-cn/device-dev/quick-start/figure/start-burning.png diff --git a/zh-cn/device-dev/quick-start/figure/start-the-system.png b/zh-cn/device-dev/quick-start/figure/start-the-system.png new file mode 100644 index 0000000000000000000000000000000000000000..5006140f00ec1195d04297cdeb26ad935fb9f0e5 Binary files /dev/null and b/zh-cn/device-dev/quick-start/figure/start-the-system.png differ diff --git a/zh-cn/device-dev/quick-start/figure/start.png b/zh-cn/device-dev/quick-start/figure/start.png new file mode 100644 index 0000000000000000000000000000000000000000..0aacb08e575da85502302836c390512e55402db3 Binary files /dev/null and b/zh-cn/device-dev/quick-start/figure/start.png differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311094.png b/zh-cn/device-dev/quick-start/figure/u-boot-erased-successfully.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311094.png rename to zh-cn/device-dev/quick-start/figure/u-boot-erased-successfully.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350641.png b/zh-cn/device-dev/quick-start/figure/upload-12.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350641.png rename to zh-cn/device-dev/quick-start/figure/upload-12.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001134474510.png b/zh-cn/device-dev/quick-start/figure/upload-options-26.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001134474510.png rename to zh-cn/device-dev/quick-start/figure/upload-options-26.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311090.png b/zh-cn/device-dev/quick-start/figure/upload-options.png old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311090.png rename to zh-cn/device-dev/quick-start/figure/upload-options.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270749.png b/zh-cn/device-dev/quick-start/figure/upload.png similarity index 100% rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270749.png rename to zh-cn/device-dev/quick-start/figure/upload.png diff --git a/en/device-dev/quick-start/figure/en-us_image_0000001174270727.png b/zh-cn/device-dev/quick-start/figure/visual-studio-code.png old mode 100755 new mode 100644 similarity index 100% rename from en/device-dev/quick-start/figure/en-us_image_0000001174270727.png rename to zh-cn/device-dev/quick-start/figure/visual-studio-code.png diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001072757874.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001072757874.png deleted file mode 100644 index 686385e096a24ec1906169d2b11f75030c386b9f..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001072757874.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001073840162.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001073840162.png deleted file mode 100644 index 61aec8202ac830a3598ef2c8a413be30c5a742f0..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001073840162.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311096.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311096.png deleted file mode 100644 index 0cd7b0a67ce7110774979284e69c462058723756..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311096.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311098.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311098.png deleted file mode 100644 index 67d8044b72056d4ed6230ccc4ad99d5e954596b6..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311098.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311100.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311100.png deleted file mode 100644 index 61aec8202ac830a3598ef2c8a413be30c5a742f0..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311100.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311104.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311104.png deleted file mode 100644 index 773abcd91a0c0ee1d3f5f87218216fc337d8f62f..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128311104.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470902.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470902.png deleted file mode 100644 index 43e43b52b677660cec4d049784b246aebe1a2434..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470902.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470906.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470906.png deleted file mode 100644 index 281958fe76a787acc5d0b98f5ea248fa5abf2405..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470906.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470908.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470908.png deleted file mode 100644 index 8aa65e82be8db2e7de62fca8980d00ae42215d96..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001128470908.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001134634288.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001134634288.png deleted file mode 100644 index 281958fe76a787acc5d0b98f5ea248fa5abf2405..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001134634288.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001142794291.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001142794291.png deleted file mode 100644 index 773abcd91a0c0ee1d3f5f87218216fc337d8f62f..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001142794291.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001142802505.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001142802505.png deleted file mode 100644 index 2609aa029260a137c76c299fead396c07b8c8e45..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001142802505.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270727.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270727.png deleted file mode 100644 index 2609aa029260a137c76c299fead396c07b8c8e45..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270727.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270733.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270733.png deleted file mode 100644 index 72dd05e3ae1eb91156df98cb1915b6264b3bbe5a..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270733.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270735.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270735.png deleted file mode 100644 index 2710fef9266dde76a9c555bc2edecebd8e3d8d1b..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270735.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350647.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350647.png deleted file mode 100644 index 09f33e3992c0c1d78713eea949e4b9a19f5802ec..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350647.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350651.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350651.png deleted file mode 100644 index 686385e096a24ec1906169d2b11f75030c386b9f..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350651.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350653.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350653.png deleted file mode 100644 index 1e6214d082696dc0727947e6b46f252fff33d92e..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350653.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350655.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350655.png deleted file mode 100644 index 2f6e93e40bf4abee3c83aebf0c5f3299e51dc630..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174350655.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001180513891.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001180513891.png deleted file mode 100644 index 09f33e3992c0c1d78713eea949e4b9a19f5802ec..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001180513891.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001180513893.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001180513893.png deleted file mode 100644 index 67d8044b72056d4ed6230ccc4ad99d5e954596b6..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001180513893.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001180633813.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001180633813.png deleted file mode 100644 index 558d3299149a13c444966ef3e3260bf5b0956667..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001180633813.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001180633847.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001180633847.png deleted file mode 100644 index 72dd05e3ae1eb91156df98cb1915b6264b3bbe5a..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001180633847.png and /dev/null differ diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001184531449.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001184531449.png deleted file mode 100644 index dafdf66490bd36560ed6a0633ebda698b0b75dba..0000000000000000000000000000000000000000 Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001184531449.png and /dev/null differ diff --git "a/zh-cn/device-dev/quick-start/figure/\345\205\201\350\256\270Visual-Studio-Code\345\272\224\347\224\250\350\256\277\351\227\256\347\275\221\347\273\234-15.png" "b/zh-cn/device-dev/quick-start/figure/\345\205\201\350\256\270Visual-Studio-Code\345\272\224\347\224\250\350\256\277\351\227\256\347\275\221\347\273\234-23.png" similarity index 100% rename from "zh-cn/device-dev/quick-start/figure/\345\205\201\350\256\270Visual-Studio-Code\345\272\224\347\224\250\350\256\277\351\227\256\347\275\221\347\273\234-15.png" rename to "zh-cn/device-dev/quick-start/figure/\345\205\201\350\256\270Visual-Studio-Code\345\272\224\347\224\250\350\256\277\351\227\256\347\275\221\347\273\234-23.png" diff --git "a/zh-cn/device-dev/quick-start/figure/\345\205\263\351\227\255\344\270\262\345\217\243\347\273\210\347\253\257-9.png" "b/zh-cn/device-dev/quick-start/figure/\345\205\263\351\227\255\344\270\262\345\217\243\347\273\210\347\253\257-17.png" similarity index 100% rename from "zh-cn/device-dev/quick-start/figure/\345\205\263\351\227\255\344\270\262\345\217\243\347\273\210\347\253\257-9.png" rename to "zh-cn/device-dev/quick-start/figure/\345\205\263\351\227\255\344\270\262\345\217\243\347\273\210\347\253\257-17.png" diff --git a/zh-cn/device-dev/quick-start/figure/4.png "b/zh-cn/device-dev/quick-start/figure/\345\234\250\347\273\210\347\253\257\347\225\214\351\235\242\346\211\247\350\241\214\347\274\226\350\257\221\345\221\275\344\273\244\347\244\272\346\204\217\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/4.png rename to "zh-cn/device-dev/quick-start/figure/\345\234\250\347\273\210\347\253\257\347\225\214\351\235\242\346\211\247\350\241\214\347\274\226\350\257\221\345\221\275\344\273\244\347\244\272\346\204\217\345\233\276.png" diff --git a/zh-cn/device-dev/quick-start/figure/3.png "b/zh-cn/device-dev/quick-start/figure/\345\234\250\347\273\210\347\253\257\347\225\214\351\235\242\351\200\211\346\213\251\347\233\256\346\240\207\346\236\204\345\273\272\347\211\210\346\234\254\347\244\272\346\204\217\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/3.png rename to "zh-cn/device-dev/quick-start/figure/\345\234\250\347\273\210\347\253\257\347\225\214\351\235\242\351\200\211\346\213\251\347\233\256\346\240\207\346\236\204\345\273\272\347\211\210\346\234\254\347\244\272\346\204\217\345\233\276.png" diff --git a/zh-cn/device-dev/quick-start/figure/5-1.png "b/zh-cn/device-dev/quick-start/figure/\346\211\223\345\274\200DevEco\344\270\262\345\217\243\347\273\210\347\253\257\347\244\272\346\204\217\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/5-1.png rename to "zh-cn/device-dev/quick-start/figure/\346\211\223\345\274\200DevEco\344\270\262\345\217\243\347\273\210\347\253\257\347\244\272\346\204\217\345\233\276.png" diff --git "a/zh-cn/device-dev/quick-start/figure/\346\211\223\345\274\200\344\270\262\345\217\243\345\244\261\350\264\245\345\233\276-7.png" "b/zh-cn/device-dev/quick-start/figure/\346\211\223\345\274\200\344\270\262\345\217\243\345\244\261\350\264\245\345\233\276-15.png" similarity index 100% rename from "zh-cn/device-dev/quick-start/figure/\346\211\223\345\274\200\344\270\262\345\217\243\345\244\261\350\264\245\345\233\276-7.png" rename to "zh-cn/device-dev/quick-start/figure/\346\211\223\345\274\200\344\270\262\345\217\243\345\244\261\350\264\245\345\233\276-15.png" diff --git "a/zh-cn/device-dev/quick-start/figure/\346\237\245\346\211\276Visual-Studio-Code\345\272\224\347\224\250\345\233\276-14.png" "b/zh-cn/device-dev/quick-start/figure/\346\237\245\346\211\276Visual-Studio-Code\345\272\224\347\224\250\345\233\276-22.png" similarity index 100% rename from "zh-cn/device-dev/quick-start/figure/\346\237\245\346\211\276Visual-Studio-Code\345\272\224\347\224\250\345\233\276-14.png" rename to "zh-cn/device-dev/quick-start/figure/\346\237\245\346\211\276Visual-Studio-Code\345\272\224\347\224\250\345\233\276-22.png" diff --git "a/zh-cn/device-dev/quick-start/figure/\346\237\245\346\211\276\346\230\257\345\220\246\345\255\230\345\234\250\345\215\240\347\224\250\344\270\262\345\217\243\347\232\204\347\273\210\347\253\257-8.png" "b/zh-cn/device-dev/quick-start/figure/\346\237\245\346\211\276\346\230\257\345\220\246\345\255\230\345\234\250\345\215\240\347\224\250\344\270\262\345\217\243\347\232\204\347\273\210\347\253\257-16.png" similarity index 100% rename from "zh-cn/device-dev/quick-start/figure/\346\237\245\346\211\276\346\230\257\345\220\246\345\255\230\345\234\250\345\215\240\347\224\250\344\270\262\345\217\243\347\232\204\347\273\210\347\253\257-8.png" rename to "zh-cn/device-dev/quick-start/figure/\346\237\245\346\211\276\346\230\257\345\220\246\345\255\230\345\234\250\345\215\240\347\224\250\344\270\262\345\217\243\347\232\204\347\273\210\347\253\257-16.png" diff --git "a/zh-cn/device-dev/quick-start/figure/\347\237\251\345\275\242\345\244\207\344\273\275-292.png" "b/zh-cn/device-dev/quick-start/figure/\347\241\254\344\273\266\350\277\236\347\272\277\345\233\276-0.png" old mode 100755 new mode 100644 similarity index 100% rename from "zh-cn/device-dev/quick-start/figure/\347\237\251\345\275\242\345\244\207\344\273\275-292.png" rename to "zh-cn/device-dev/quick-start/figure/\347\241\254\344\273\266\350\277\236\347\272\277\345\233\276-0.png" diff --git "a/zh-cn/device-dev/quick-start/figure/\347\241\254\344\273\266\350\277\236\347\272\277\345\233\276-3.png" "b/zh-cn/device-dev/quick-start/figure/\347\241\254\344\273\266\350\277\236\347\272\277\345\233\276-7.png" similarity index 100% rename from "zh-cn/device-dev/quick-start/figure/\347\241\254\344\273\266\350\277\236\347\272\277\345\233\276-3.png" rename to "zh-cn/device-dev/quick-start/figure/\347\241\254\344\273\266\350\277\236\347\272\277\345\233\276-7.png" diff --git "a/zh-cn/device-dev/quick-start/figure/\347\263\273\347\273\237\345\220\257\345\212\250\345\233\276-5.png" "b/zh-cn/device-dev/quick-start/figure/\347\263\273\347\273\237\345\220\257\345\212\250\345\233\276-5.png" new file mode 100644 index 0000000000000000000000000000000000000000..105e9a83292ff333cafb813ecd6647dd256a9443 Binary files /dev/null and "b/zh-cn/device-dev/quick-start/figure/\347\263\273\347\273\237\345\220\257\345\212\250\345\233\276-5.png" differ diff --git "a/zh-cn/device-dev/quick-start/figure/\347\263\273\347\273\237\345\220\257\345\212\250\345\233\276.png" "b/zh-cn/device-dev/quick-start/figure/\347\263\273\347\273\237\345\220\257\345\212\250\345\233\276.png" new file mode 100644 index 0000000000000000000000000000000000000000..105e9a83292ff333cafb813ecd6647dd256a9443 Binary files /dev/null and "b/zh-cn/device-dev/quick-start/figure/\347\263\273\347\273\237\345\220\257\345\212\250\345\233\276.png" differ diff --git a/zh-cn/device-dev/quick-start/figure/2.png "b/zh-cn/device-dev/quick-start/figure/\347\273\210\347\253\257\347\225\214\351\235\242\347\244\272\346\204\217\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/2.png rename to "zh-cn/device-dev/quick-start/figure/\347\273\210\347\253\257\347\225\214\351\235\242\347\244\272\346\204\217\345\233\276.png" diff --git a/zh-cn/device-dev/quick-start/figure/5.png "b/zh-cn/device-dev/quick-start/figure/\347\274\226\350\257\221\346\210\220\345\212\237\347\244\272\346\204\217\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/5.png rename to "zh-cn/device-dev/quick-start/figure/\347\274\226\350\257\221\346\210\220\345\212\237\347\244\272\346\204\217\345\233\276.png" diff --git a/zh-cn/device-dev/quick-start/figure/3-0.png "b/zh-cn/device-dev/quick-start/figure/\347\274\226\350\257\221\346\226\207\344\273\266\345\255\230\346\224\276\347\233\256\345\275\225\347\244\272\346\204\217\345\233\276.png" old mode 100755 new mode 100644 similarity index 100% rename from zh-cn/device-dev/quick-start/figure/3-0.png rename to "zh-cn/device-dev/quick-start/figure/\347\274\226\350\257\221\346\226\207\344\273\266\345\255\230\346\224\276\347\233\256\345\275\225\347\244\272\346\204\217\345\233\276.png" diff --git "a/zh-cn/device-dev/quick-start/figure/\347\275\221\347\273\234\344\270\215\351\200\232-\345\215\225\346\235\277\346\227\240\346\263\225\350\216\267\345\217\226\346\226\207\344\273\266\345\233\276-11.png" "b/zh-cn/device-dev/quick-start/figure/\347\275\221\347\273\234\344\270\215\351\200\232-\345\215\225\346\235\277\346\227\240\346\263\225\350\216\267\345\217\226\346\226\207\344\273\266\345\233\276-19.png" similarity index 100% rename from "zh-cn/device-dev/quick-start/figure/\347\275\221\347\273\234\344\270\215\351\200\232-\345\215\225\346\235\277\346\227\240\346\263\225\350\216\267\345\217\226\346\226\207\344\273\266\345\233\276-11.png" rename to "zh-cn/device-dev/quick-start/figure/\347\275\221\347\273\234\344\270\215\351\200\232-\345\215\225\346\235\277\346\227\240\346\263\225\350\216\267\345\217\226\346\226\207\344\273\266\345\233\276-19.png" diff --git "a/zh-cn/device-dev/quick-start/figure/\347\275\221\347\273\234\351\230\262\347\201\253\345\242\231\350\256\276\347\275\256\345\233\276-12.png" "b/zh-cn/device-dev/quick-start/figure/\347\275\221\347\273\234\351\230\262\347\201\253\345\242\231\350\256\276\347\275\256\345\233\276-20.png" similarity index 100% rename from "zh-cn/device-dev/quick-start/figure/\347\275\221\347\273\234\351\230\262\347\201\253\345\242\231\350\256\276\347\275\256\345\233\276-12.png" rename to "zh-cn/device-dev/quick-start/figure/\347\275\221\347\273\234\351\230\262\347\201\253\345\242\231\350\256\276\347\275\256\345\233\276-20.png" diff --git "a/zh-cn/device-dev/quick-start/figure/\350\256\276\347\275\256\345\233\276\344\276\213-4.png" "b/zh-cn/device-dev/quick-start/figure/\350\256\276\347\275\256\345\233\276\344\276\213-8.png" similarity index 100% rename from "zh-cn/device-dev/quick-start/figure/\350\256\276\347\275\256\345\233\276\344\276\213-4.png" rename to "zh-cn/device-dev/quick-start/figure/\350\256\276\347\275\256\345\233\276\344\276\213-8.png" diff --git a/zh-cn/device-dev/quick-start/figure/chuankou1-6.png "b/zh-cn/device-dev/quick-start/figure/\350\277\236\346\216\245\344\270\262\345\217\243\345\233\276-14.png" similarity index 100% rename from zh-cn/device-dev/quick-start/figure/chuankou1-6.png rename to "zh-cn/device-dev/quick-start/figure/\350\277\236\346\216\245\344\270\262\345\217\243\345\233\276-14.png" diff --git "a/zh-cn/device-dev/quick-start/figure/\350\277\236\346\216\245\344\270\262\345\217\243\345\233\276-4.png" "b/zh-cn/device-dev/quick-start/figure/\350\277\236\346\216\245\344\270\262\345\217\243\345\233\276-4.png" new file mode 100644 index 0000000000000000000000000000000000000000..063a5ff561d4a29f48744c3133724eb6b45e8a47 Binary files /dev/null and "b/zh-cn/device-dev/quick-start/figure/\350\277\236\346\216\245\344\270\262\345\217\243\345\233\276-4.png" differ diff --git "a/zh-cn/device-dev/quick-start/figure/\350\277\236\346\216\245\344\270\262\345\217\243\345\233\276.png" "b/zh-cn/device-dev/quick-start/figure/\350\277\236\346\216\245\344\270\262\345\217\243\345\233\276.png" new file mode 100644 index 0000000000000000000000000000000000000000..063a5ff561d4a29f48744c3133724eb6b45e8a47 Binary files /dev/null and "b/zh-cn/device-dev/quick-start/figure/\350\277\236\346\216\245\344\270\262\345\217\243\345\233\276.png" differ diff --git a/zh-cn/device-dev/quick-start/figure/changjian1-10.png "b/zh-cn/device-dev/quick-start/figure/\351\207\215\346\226\260\345\220\257\345\212\250\347\203\247\345\206\231\344\273\273\345\212\241-18.png" similarity index 100% rename from zh-cn/device-dev/quick-start/figure/changjian1-10.png rename to "zh-cn/device-dev/quick-start/figure/\351\207\215\346\226\260\345\220\257\345\212\250\347\203\247\345\206\231\344\273\273\345\212\241-18.png" diff --git a/zh-cn/device-dev/quick-start/figure/changjian1.png "b/zh-cn/device-dev/quick-start/figure/\351\207\215\346\226\260\345\220\257\345\212\250\347\203\247\345\206\231\344\273\273\345\212\241.png" similarity index 100% rename from zh-cn/device-dev/quick-start/figure/changjian1.png rename to "zh-cn/device-dev/quick-start/figure/\351\207\215\346\226\260\345\220\257\345\212\250\347\203\247\345\206\231\344\273\273\345\212\241.png" diff --git "a/zh-cn/device-dev/quick-start/figure/\351\230\262\347\201\253\345\242\231\345\222\214\347\275\221\347\273\234\344\277\235\346\212\244\347\225\214\351\235\242\345\233\276-13.png" "b/zh-cn/device-dev/quick-start/figure/\351\230\262\347\201\253\345\242\231\345\222\214\347\275\221\347\273\234\344\277\235\346\212\244\347\225\214\351\235\242\345\233\276-21.png" similarity index 100% rename from "zh-cn/device-dev/quick-start/figure/\351\230\262\347\201\253\345\242\231\345\222\214\347\275\221\347\273\234\344\277\235\346\212\244\347\225\214\351\235\242\345\233\276-13.png" rename to "zh-cn/device-dev/quick-start/figure/\351\230\262\347\201\253\345\242\231\345\222\214\347\275\221\347\273\234\344\277\235\346\212\244\347\225\214\351\235\242\345\233\276-21.png" diff --git a/zh-cn/device-dev/quick-start/oem_minitinier_des_3516.md b/zh-cn/device-dev/quick-start/oem_minitinier_des_3516.md index 1224e4f34641a9e46d69354db9acf0a7d5cf06a3..c59e950200a6a6babd57c6f06bb0cf0dfdae32ff 100644 --- a/zh-cn/device-dev/quick-start/oem_minitinier_des_3516.md +++ b/zh-cn/device-dev/quick-start/oem_minitinier_des_3516.md @@ -7,10 +7,8 @@ Hi3516DV300作为新一代行业专用Smart HD IP摄像机SOC,集成新一代ISP\(Image Signal Processor\)、H.265视频压缩编码器,同时集成高性能NNIE引擎,使得Hi3516DV300在低码率、高画质、智能处理和分析、低功耗等方面引领行业水平。 -**图 1** Hi3516单板正面外观图 - - -![](figure/3516正面.png) +**图 1** Hi3516单板正面外观图 +![](figure/Hi3516单板正面外观图.png "Hi3516单板正面外观图") ## 开发板规格 diff --git a/zh-cn/device-dev/quick-start/oem_minitinier_des_3518.md b/zh-cn/device-dev/quick-start/oem_minitinier_des_3518.md index 211dffba8a9df92bdec701f63e94a84e98fc1a90..c9c3be7f1c61343074f071d4dae01d98d568e30e 100644 --- a/zh-cn/device-dev/quick-start/oem_minitinier_des_3518.md +++ b/zh-cn/device-dev/quick-start/oem_minitinier_des_3518.md @@ -7,13 +7,11 @@ Hi3518EV300作为新一代智慧视觉处理SOC,集成新一代ISP\(Image Signal Processor\)以及H.265视频压缩编码器,同时采用先进低功耗工艺和低功耗架构设计,使其在低码率、高画质、低功耗等方面引领行业水平。 -**图 1** Hi3518EV300单板正面外观图 +**图 1** Hi3518EV300单板正面外观图 ![](figure/Hi3518EV300单板正面外观图.png "Hi3518EV300单板正面外观图") -**图 2** Hi3518EV300单板背面外观图 - - -![](figure/Hi3518正背面.png) +**图 2** Hi3518EV300单板背面外观图 +![](figure/Hi3518EV300单板背面外观图.png "Hi3518EV300单板背面外观图") ## 开发板规格 diff --git a/zh-cn/device-dev/quick-start/oem_minitinier_des_3861.md b/zh-cn/device-dev/quick-start/oem_minitinier_des_3861.md index 84549ecc121b4df54275fb870af729d55ae2010b..63aca9915aee3413f413b800e7058b502365a557 100644 --- a/zh-cn/device-dev/quick-start/oem_minitinier_des_3861.md +++ b/zh-cn/device-dev/quick-start/oem_minitinier_des_3861.md @@ -9,27 +9,21 @@ Hi3861 WLAN模组是一片大约2cm\*5cm大小的开发板,是一款高度集成的2.4GHz WLAN SoC芯片,集成IEEE 802.11b/g/n基带和RF(Radio Frequency)电路。支持OpenHarmony,并配套提供开放、易用的开发和调试运行环境。 -**图 1** Hi3861 WLAN模组外观图 - - -![](figure/3861正面.png) +**图 1** Hi3861 WLAN模组外观图 +![](figure/Hi3861-WLAN模组外观图.png "Hi3861-WLAN模组外观图") 另外,Hi3861 WLAN模组还可以通过与Hi3861底板连接,扩充自身的外设能力,底板如下图所示。 -**图 2** Hi3861底板外观图 - - -![](figure/zh-cn_image_0000001174350615.png) +**图 2** Hi3861底板外观图 +![](figure/Hi3861底板外观图.png "Hi3861底板外观图") - RF电路包括功率放大器PA(Power Amplifier)、低噪声放大器LNA(Low Noise Amplifier)、RF Balun、天线开关以及电源管理等模块;支持20MHz标准带宽和5MHz/10MHz窄带宽,提供最大72.2Mbit/s物理层速率。 - Hi3861 WLAN基带支持正交频分复用(OFDM)技术,并向下兼容直接序列扩频(DSSS)和补码键控(CCK)技术,支持IEEE 802.11 b/g/n协议的各种数据速率。 - Hi3861芯片集成高性能32bit微处理器、硬件安全引擎以及丰富的外设接口,外设接口包括SPI(Synchronous Peripheral Interface)、UART(Universal Asynchronous Receiver & Transmitter)、I2C(The Inter Integrated Circuit)、PWM(Pulse Width Modulation)、GPIO(General Purpose Input/Output)和多路ADC(Analog to Digital Converter),同时支持高速SDIO2.0(Secure Digital Input/Output)接口,最高时钟可达50MHz;芯片内置SRAM(Static Random Access Memory)和Flash,可独立运行,并支持在Flash上运行程序。 - Hi3861芯片适用于智能家电等物联网智能终端领域。 - **图 3** Hi3861功能框图 - - - ![](figure/zh-cn_image_0000001128311066.png) + **图 3** Hi3861功能框图 + ![](figure/Hi3861功能框图.png "Hi3861功能框图") ## 资源和约束 diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-linux.md b/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-linux.md index 74c19466ff1add93dee4a3f6ab255ed454caccfb..82060c5bfd4b356259a0c211a25c966d3036f022 100644 --- a/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-linux.md +++ b/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-linux.md @@ -2,29 +2,24 @@ - [获取软件](#section1897711811517) - [获取源码](#section1545225464016) -- [安装和配置Python](#section1238412211211) -- [安装gn](#section29216201423) -- [安装ninja](#section8762358731) -- [安装LLVM](#section12202192215415) +- [安装必要的库和工具](#section108201740181219) +- [安装Python3](#section1238412211211) +- [安装LLVM\(仅OpenHarmony\_v1.x分支/标签需要\)](#section12202192215415) - [安装hb](#section15794154618411) - [前提条件](#section1083283711515) - [安装方法](#section11518484814) - [卸载方法](#section3512551574) -- [安装其他工具](#section830511218494) - - [安装方法](#section54409586499) - 系统要求:Ubuntu16.04及以上64位系统版本。 -编译环境搭建分为如下几步: +编译环境搭建包含如下几步: 1. 获取源码 -2. 安装和配置python -3. 安装gn -4. 安装ninja -5. 安装LLVM -6. 安装hb +2. 安装必要的库和工具 +3. 安装python3 +4. 安装LLVM\(仅OpenHarmony\_v1.x分支/标签需要\) +5. 安装hb >![](../public_sys-resources/icon-notice.gif) **须知:** >- 针对Ubuntu编译环境我们提供了对应的Docker,该Docker封装了相关编译工具,选择使用Docker的开发者可跳过此章节。Docker使用可参考[Docker方式获取编译环境](../get-code/gettools-acquire.md#section107932281315)。 @@ -38,70 +33,47 @@ Linux服务器通用环境配置需要的工具及其获取途径如下表所示 **表 1** Linux服务器开发工具及获取途径 - - @@ -52,7 +55,8 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 - @@ -61,7 +65,7 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 - @@ -70,9 +74,9 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 - - @@ -86,7 +90,7 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 1. 双击Visual Studio Code软件包进行安装。安装过程中,请勾选“添加到PATH(重启后生效)”。 - ![](figure/zh-cn_image_0000001057335403.png) + ![](figure/installing-visual-studio-code.png) 2. 安装完成后,打开命令行工具,输入**code --version**命令,可以正常显示版本号说明安装成功。 @@ -94,15 +98,15 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 1. 双击Python安装包进行安装,勾选“**Add Python 3.8 to PATH**”,然后点击**Install Now**开始安装。 - ![](figure/zh-cn_image_0000001138841358.png) + ![](figure/installing-python.png) 2. 等待安装完成后,点击**Close**。 - ![](figure/zh-cn_image_0000001142794291.png) + ![](figure/setup-was-successful.png) 3. 打开命令行工具,输入python --version,检查安装结果。 - ![](figure/zh-cn_image_0000001130278040.png) + ![](figure/checking-the-installation-result.png) 4. 在命令行工具中,分别执行如下命令设置pip源,用于后续安装DevEco Device Tool过程中下载依赖的组件包。 @@ -142,7 +146,7 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 npm install -g @ohos/hpm-cli ``` - ![](figure/zh-cn_image_0000001073840162.png) + ![](figure/hpm-version.png) 3. 安装完成后,执行如下命令(V为大写字母)检查hpm安装结果。 @@ -153,7 +157,7 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 ## 安装DevEco Device Tool插件 -安装DevEco Device Tool插件,**主机的用户名不能包含中文字符**,否则可能导致运行出现错误。 +安装DevEco Device Tool插件,**主机的用户名不能包含中文字符**,否则在运行DevEco Device Tool时,DevEco Home界面会一直处于Loading状态,导致不能正常使用。 DevEco Device Tool正常运行需要依赖于C/C++和CodeLLDB插件,在安装完DevEco Device Tool后,会自动从Visual Studio Code的插件市场安装C/C++和CodeLLDB插件。因此,在安装DevEco Device Tool前,请检查Visual Studio Code的网络连接状态,如果网络不能直接访问Internet,则需要通过代理服务器才可以访问,请先[Visual Studio Code代理设置](https://device.harmonyos.com/cn/docs/ide/user-guides/vscode_proxy-0000001074231144)。 @@ -166,21 +170,21 @@ DevEco Device Tool正常运行需要依赖于C/C++和CodeLLDB插件,在安装 >![](../public_sys-resources/icon-note.gif) **说明:** >如果已经安装Visual Studio Code,但依然检测不到,可重启电脑解决。 - ![](figure/zh-cn_image_0000001184531449.png) + ![](figure/installing-the-deveco-device-tool.png) 3. 点击**Install**进行安装。 - ![](figure/zh-cn_image_0000001137332702.png) + ![](figure/install.png) 4. 等待安装完成后,点击Close关闭安装界面。 - ![](figure/zh-cn_image_0000001138853234.png) + ![](figure/installation-complete.png) -5. 启动Visual Studio Code,会自动安装DevEco Device Tool依赖的C/C++、CodeLLDB插件。等待安装完成后,点击Visual Studio Code左侧的![](figure/zh-cn_image_0000001072757874.png)按钮,检查INSTALLED中,是否已成功安装C/C++、CodeLLDB和DevEco Device Tool。 +5. 启动Visual Studio Code,会自动安装DevEco Device Tool依赖的C/C++、CodeLLDB插件。等待安装完成后,点击Visual Studio Code左侧的![](figure/button.png)按钮,检查INSTALLED中,是否已成功安装C/C++、CodeLLDB和DevEco Device Tool。 >![](../public_sys-resources/icon-note.gif) **说明:** >如果C/C++和CodeLLDB插件安装不成功,则DevEco Device Tool不能正常运行,解决方法,详细请参考:[离线安装C/C++和CodeLLDB插件](https://device.harmonyos.com/cn/docs/ide/user-guides/offline_plugin_install-0000001074376846)。 - ![](figure/zh-cn_image_0000001142802505.png) + ![](figure/visual-studio-code.png) diff --git a/zh-cn/readme.md b/zh-cn/readme.md index b06bd9e00c6c412a40e11c24f87c43d2cb7c3130..6f910a00db211334badb38f579518f23951de11e 100644 --- a/zh-cn/readme.md +++ b/zh-cn/readme.md @@ -26,10 +26,10 @@ - [轻量系统芯片移植指导](device-dev/porting/porting-minichip.md) - [小型系统芯片移植指导](device-dev/porting/porting-smallchip.md) - - bundles:Bundle开发 - - [Bundle开发规范](device-dev/bundles/oem_bundle_standard_des.md) - - [Bundle开发指南](device-dev/bundles/bundles-guide.md) - - [Bundle开发示例](device-dev/bundles/bundles-demo.md) + - bundles:HPM Bundle开发 + - [HPM Bundle开发规范](device-dev/bundles/oem_bundle_standard_des.md) + - [HPM Bundle开发指南](device-dev/bundles/bundles-guide.md) + - [HPM Bundle开发示例](device-dev/bundles/bundles-demo.md) - 标准系统开发指导(参考内存≥128MB) - 设备开发 @@ -47,13 +47,12 @@ - [外设驱动](device-dev/guide/device-outerdriver-demo.md) - porting:移植适配 - - [三方库移植指导](device-dev/porting/porting-thirdparty.md) - [标准系统芯片移植指导](device-dev/porting/standard-system-porting-guide.md) - - bundles:Bundle开发 - - [Bundle开发规范](device-dev/bundles/oem_bundle_standard_des.md) - - [Bundle开发指南](device-dev/bundles/bundles-guide.md) - - [Bundle开发示例](device-dev/bundles/bundles-demo.md) + - bundles:HPM Bundle开发 + - [HPM Bundle开发规范](device-dev/bundles/oem_bundle_standard_des.md) + - [HPM Bundle开发指南](device-dev/bundles/bundles-guide.md) + - [HPM Bundle开发示例](device-dev/bundles/bundles-demo.md) - 应用开发

开发工具

+ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -115,10 +87,18 @@ Linux服务器通用环境配置需要的工具及其获取途径如下表所示 开发者需要在Linux服务器上下载并解压一套源代码,请参见[源码获取](../get-code/sourcecode-acquire.md)。 -## 安装和配置Python +## 安装必要的库和工具 + +使用如下apt-get命令安装编译所需的必要的库和工具: + +``` +sudo apt-get install build-essential gcc g++ make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils gcc-arm-linux-gnueabi +``` + +## 安装Python3 1. 打开Linux编译服务器终端。 -2. 输入如下命令,查看python版本号,需使用python3.7以上版本。 +2. 输入如下命令,查看python版本号: ``` python3 --version @@ -184,90 +164,20 @@ Linux服务器通用环境配置需要的工具及其获取途径如下表所示 -## 安装gn - -1. 打开Linux编译服务器终端。 -2. [下载gn工具](https://repo.huaweicloud.com/harmonyos/compiler/gn/1717/linux/gn-linux-x86-1717.tar.gz)。 -3. 在根目录下创建gn文件夹。 - - ``` - mkdir ~/gn - ``` - -4. 解压gn安装包至\~/gn路径下。 - - ``` - tar -xvf gn-linux-x86-1717.tar.gz -C ~/gn - ``` - -5. 设置环境变量。 - - ``` - vim ~/.bashrc - ``` - - 将以下命令拷贝到.bashrc文件的最后一行,保存并退出。 - - ``` - export PATH=~/gn:$PATH - ``` - -6. 生效环境变量。 - - ``` - source ~/.bashrc - ``` - - -## 安装ninja - -1. 打开Linux编译服务器终端。 -2. [下载ninja工具](https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar)。 -3. 解压ninja安装包至\~/ninja路径下。 - - ``` - tar -xvf ninja.1.9.0.tar -C ~/ - ``` - -4. 设置环境变量。 - - ``` - vim ~/.bashrc - ``` - - 将以下命令拷贝到.bashrc文件的最后一行,保存并退出。 - - ``` - export PATH=~/ninja:$PATH - ``` - -5. 生效环境变量。 - - ``` - source ~/.bashrc - ``` - +## 安装LLVM\(仅OpenHarmony\_v1.x分支/标签需要\) -## 安装LLVM +>![](../public_sys-resources/icon-notice.gif) **须知:** +>如果下载的源码为OpenHarmony\_v1.x分支/标签, 请按下面的步骤安装9.0.0版本的llvm。 +>如果下载的源码为Master及OpenHarmony\_v2.x分支/标签,可直接跳过本小节,hb会自动下载最新的llvm。 1. 打开Linux编译服务器终端。 -2. [下载LLVM工具](https://repo.huaweicloud.com/harmonyos/compiler/clang/10.0.1-62608/linux/llvm.tar.gz)。 - - >![](../public_sys-resources/icon-note.gif) **说明:** - >针对OpenHarmony\_v1.x分支/标签,使用此链接[下载LLVM工具](https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-36191/linux/llvm-linux-9.0.0-36191.tar)。 - +2. [下载LLVM工具](https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-36191/linux/llvm-linux-9.0.0-36191.tar)。 3. 解压LLVM安装包至\~/llvm路径下。 ``` tar -zxvf llvm.tar.gz -C ~/ ``` - >![](../public_sys-resources/icon-note.gif) **说明:** - >针对OpenHarmony\_v1.x分支/标签,使用如下命令解压: - >``` - >tar -xvf llvm-linux-9.0.0-36191.tar -C ~/ - >``` - 4. 设置环境变量。 ``` @@ -291,7 +201,7 @@ Linux服务器通用环境配置需要的工具及其获取途径如下表所示 ### 前提条件 -请先安装Python 3.7.4及以上版本,请见[安装和配置Python](#section1238412211211)。 +请先安装Python 3.7.4及以上版本,请见[安装Python3](#section1238412211211)。 ### 安装方法 @@ -347,14 +257,3 @@ python3 -m pip uninstall ohos-build >![](../public_sys-resources/icon-notice.gif) **须知:** >如果安装hb的过程中遇到问题,请参见下文[常见问题](quickstart-lite-env-setup-faqs.md)进行解决。 -## 安装其他工具 - -### 安装方法 - -1. apt安装全部依赖的工具 - - ``` - sudo apt-get install build-essential gcc g++ make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils gcc-arm-linux-gnueabi - ``` - - diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-windows.md b/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-windows.md index 7f51e21e0b4a80f2d6044c50c05f83b4885fa31f..9054dd77f1f203cc92ed4693a188a854c6c173f5 100644 --- a/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-windows.md +++ b/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-windows.md @@ -1,4 +1,4 @@ -# Windows开发环境准备 +# Windows开发环境准备 - [获取软件](#zh-cn_topic_0000001058091994_section1483143015558) - [安装Visual Studio Code](#zh-cn_topic_0000001058091994_section71401018163318) @@ -7,7 +7,10 @@ - [安装hpm](#zh-cn_topic_0000001058091994_section173054793610) - [安装DevEco Device Tool插件](#zh-cn_topic_0000001058091994_section4336315185716) -系统要求:Windows 10 64位系统。 +系统要求: + +- Windows 10 64位系统。 +- 系统的用户名不能含有中文字符。 DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展,安装分为如下几步: @@ -34,7 +37,7 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 - @@ -43,16 +46,17 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 - - - @@ -61,7 +65,7 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 - @@ -70,9 +74,9 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 - - @@ -86,24 +90,23 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 1. 双击Visual Studio Code软件包进行安装。安装过程中,请勾选“添加到PATH(重启后生效)”。 - ![](figure/zh-cn_image_0000001174350653.png) + ![](figure/installing-visual-studio-code.png) -2. 安装完成后,重启计算机,使Visual Studio Code的环境变量生效。 -3. 打开命令行工具,输入**code --version**命令,可以正常显示版本号说明安装成功。 +2. 安装完成后,打开命令行工具,输入**code --version**命令,可以正常显示版本号说明安装成功。 ## 安装Python 1. 双击Python安装包进行安装,勾选“**Add Python 3.8 to PATH**”,然后点击**Install Now**开始安装。 - ![](figure/zh-cn_image_0000001128470908.png) + ![](figure/installing-python.png) 2. 等待安装完成后,点击**Close**。 - ![](figure/zh-cn_image_0000001128311104.png) + ![](figure/setup-was-successful.png) 3. 打开命令行工具,输入python --version,检查安装结果。 - ![](figure/zh-cn_image_0000001174350655.png) + ![](figure/checking-the-installation-result.png) 4. 在命令行工具中,分别执行如下命令设置pip源,用于后续安装DevEco Device Tool过程中下载依赖的组件包。 @@ -122,9 +125,6 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 1. 点击下载后的软件包进行安装,全部按照默认设置点击**Next**,直至**Finish**。安装过程中,Node.js会自动在系统的path环境变量中配置node.exe的目录路径。 2. 重新打开命令行工具,输入“node -v“命令,能正常查询Node.js的版本号,说明Node.js安装成功。 - ![](figure/zh-cn_image_0000001128311096.png) - - ## 安装hpm 该方式需先确保**Node.js**安装成功。 @@ -146,7 +146,7 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 npm install -g @ohos/hpm-cli ``` - ![](figure/zh-cn_image_0000001128311100.png) + ![](figure/hpm-version.png) 3. 安装完成后,执行如下命令(V为大写字母)检查hpm安装结果。 @@ -154,12 +154,10 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展 hpm -V ``` - ![](figure/zh-cn_image_0000001174270735.png) - ## 安装DevEco Device Tool插件 -安装DevEco Device Tool插件,**主机的用户名不能包含中文字符**,否则可能导致运行出现错误。 +安装DevEco Device Tool插件,**主机的用户名不能包含中文字符**,否则在运行DevEco Device Tool时,DevEco Home界面会一直处于Loading状态,导致不能正常使用。 DevEco Device Tool正常运行需要依赖于C/C++和CodeLLDB插件,在安装完DevEco Device Tool后,会自动从Visual Studio Code的插件市场安装C/C++和CodeLLDB插件。因此,在安装DevEco Device Tool前,请检查Visual Studio Code的网络连接状态,如果网络不能直接访问Internet,则需要通过代理服务器才可以访问,请先[Visual Studio Code代理设置](https://device.harmonyos.com/cn/docs/ide/user-guides/vscode_proxy-0000001074231144)。 @@ -167,16 +165,26 @@ DevEco Device Tool正常运行需要依赖于C/C++和CodeLLDB插件,在安装 >安装DevEco Device Tool时,请先关闭Visual Studio Code。 1. 解压DevEco Device Tool插件压缩包,双击安装包程序进行安装。 -2. 安装过程中,会自动安装DevEco Device Tool所需的依赖文件(如C/C++和CodeLLDB插件)和执行程序。 +2. DevEco Device Tool会检测安装依赖的工具包是否符合要求。如果不符合要求,请按照本章节前面的内容进行安装。 + + >![](../public_sys-resources/icon-note.gif) **说明:** + >如果已经安装Visual Studio Code,但依然检测不到,可重启电脑解决。 + + ![](figure/installing-the-deveco-device-tool.png) + +3. 点击**Install**进行安装。 + + ![](figure/install.png) + +4. 等待安装完成后,点击Close关闭安装界面。 - ![](figure/zh-cn_image_0000001128470902.png) + ![](figure/installation-complete.png) -3. 安装完成后,会自动关闭命令行工具窗口。 -4. 启动Visual Studio Code,点击左侧的![](figure/zh-cn_image_0000001174350651.png)按钮,检查INSTALLED中,是否已成功安装C/C++、CodeLLDB和DevEco Device Tool。 +5. 启动Visual Studio Code,会自动安装DevEco Device Tool依赖的C/C++、CodeLLDB插件。等待安装完成后,点击Visual Studio Code左侧的![](figure/button.png)按钮,检查INSTALLED中,是否已成功安装C/C++、CodeLLDB和DevEco Device Tool。 >![](../public_sys-resources/icon-note.gif) **说明:** >如果C/C++和CodeLLDB插件安装不成功,则DevEco Device Tool不能正常运行,解决方法,详细请参考:[离线安装C/C++和CodeLLDB插件](https://device.harmonyos.com/cn/docs/ide/user-guides/offline_plugin_install-0000001074376846)。 - ![](figure/zh-cn_image_0000001174270727.png) + ![](figure/visual-studio-code.png) diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-faqs.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-faqs.md index fa1c0089688658c4bcb72dfe9ca736d354c9866c..2d2adb64c4a024aaa26dce9ca530522e932e2de4 100644 --- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-faqs.md +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-faqs.md @@ -12,7 +12,7 @@ 点击烧写并选择串口后,出现Error: Opening COMxx: Access denied。 - **图 1** 打开串口失败图 + **图 1** 打开串口失败图 ![](figure/打开串口失败图.png "打开串口失败图") - **可能原因** @@ -23,20 +23,18 @@ 1. 按图依次选择下拉框,查找带有serial-xx的终端 - **图 2** 查找是否存在占用串口的终端 + **图 2** 查找是否存在占用串口的终端 ![](figure/查找是否存在占用串口的终端.png "查找是否存在占用串口的终端") 2. 点击标号中的垃圾桶图标,关闭串口。 - **图 3** 关闭串口终端 + **图 3** 关闭串口终端 ![](figure/关闭串口终端.png "关闭串口终端") 3. 重新点击烧写,选择串口并开始烧写程序 - **图 4** 重新启动烧写任务 - - - ![](figure/changjian1.png) + **图 4** 重新启动烧写任务 + ![](figure/重新启动烧写任务.png "重新启动烧写任务") ## Windows电脑与单板网络连接失败 @@ -45,7 +43,7 @@ 点击烧写并选择串口后,无法获取文件。 - **图 5** 网络不通,单板无法获取文件图 + **图 5** 网络不通,单板无法获取文件图 ![](figure/网络不通-单板无法获取文件图.png "网络不通-单板无法获取文件图") - **可能原因** @@ -59,22 +57,22 @@ 1. 检查网线是否连接。 2. 点击Windows防火墙。 - **图 6** 网络防火墙设置图 + **图 6** 网络防火墙设置图 ![](figure/网络防火墙设置图.png "网络防火墙设置图") 3. 点击“允许应用通过防火墙”。 - **图 7** 防火墙和网络保护界面图 + **图 7** 防火墙和网络保护界面图 ![](figure/防火墙和网络保护界面图.png "防火墙和网络保护界面图") 4. 查找Visual Studio Code应用。 - **图 8** 查找Visual Studio Code应用图 + **图 8** 查找Visual Studio Code应用图 ![](figure/查找Visual-Studio-Code应用图.png "查找Visual-Studio-Code应用图") 5. 勾选Visual Studio Code的专用和公用网络的访问权限。 - **图 9** 允许Visual Studio Code应用访问网络 + **图 9** 允许Visual Studio Code应用访问网络 ![](figure/允许Visual-Studio-Code应用访问网络.png "允许Visual-Studio-Code应用访问网络") @@ -97,7 +95,7 @@ - **现象描述** - ![](figure/zh-cn_image_0000001174270715.png) + ![](figure/Symptom.png) - **可能原因1** @@ -110,7 +108,7 @@ - **可能原因2** - ![](figure/zh-cn_image_0000001128470880.png) + ![](figure/reason-for-not-finding-python.png) - **解决办法** @@ -125,7 +123,7 @@ 例: - ![](figure/zh-cn_image_0000001174270713.png) + ![](figure/solution-6.png) ## 串口无回显 diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-program.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-program.md index 6e0a94db1c9ca4c1323d8fa3a3711ea8d59117d0..7d67ef674813127dd25ecb3682fb7066181bf806 100644 --- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-program.md +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-program.md @@ -432,10 +432,8 @@ >![](../public_sys-resources/icon-notice.gif) **须知:** >若无法连接串口,请参考[常见问题](quickstart-lite-steps-hi3516-faqs.md#section14871149155911)进行排查。 - **图 1** 连接串口图 - - - ![](figure/chuankou1.png) + **图 1** 连接串口图 + ![](figure/连接串口图-4.png "连接串口图-4") 1. 单击**Monitor**打开串口。 2. 连续输入回车直到串口显示"hisilicon"。 @@ -484,10 +482,8 @@ 3. 输入**“reset”**指令并回车,重启单板,启动成功如下图,输入回车串口显示OHOS字样。 - **图 2** 系统启动图 - - - ![](figure/qi1.png) + **图 2** 系统启动图 + ![](figure/系统启动图-5.png "系统启动图-5") 4. 根目录下,在命令行输入指令“**./bin/hello\_uart**”执行写入的demo程序,显示成功结果如下所示。 diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-running.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-running.md index 4e06cbfef760bd2b39b737cbf6732ed3019794cf..1da7d05a07028c354d5601884dd1e1e6b2eb29d1 100644 --- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-running.md +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-running.md @@ -3,6 +3,8 @@ - [新建应用程序](#section204672145202) - [编译](#section1077671315253) - [烧录](#section1347011412201) + - [使用网口烧录](#section1935410617363) + - [镜像运行](#section24721014162010) - [执行应用程序](#section5276734182615) @@ -138,7 +140,7 @@ hb set(设置编译路径) hb build -f(执行编译) ``` -**图 1** 设置图例 +**图 1** 设置图例 ![](figure/设置图例.png "设置图例") 结果文件生成在out/hispark\_taurus/ipcamera\_hispark\_taurus目录下。 @@ -150,49 +152,53 @@ hb build -f(执行编译) Hi3516开发板的代码烧录支持USB烧录、网口烧录和串口烧录三种方式。此处仅以网口烧录为例进行说明。 -1. 请连接好电脑和待烧录开发板,以Hi3516DV300为例,需要同时连接串口、网口和电源,具体可参考[Hi3516开发板介绍](oem_minitinier_des_3516.md)。 +### 使用网口烧录 + +Hi3516DV300开发板使用网口烧录方式,支持Windows和Linux系统。 + +1. 请连接好电脑和待烧录开发板,需要同时连接串口、网口和电源,具体可参考[Hi3516DV300开发板介绍](https://device.harmonyos.com/cn/docs/start/introduce/oem_minitinier_des_3516-0000001152041033)。 2. 打开电脑的设备管理器,查看并记录对应的串口号。 >![](../public_sys-resources/icon-note.gif) **说明:** - >如果对应的串口异常,请根据[Hi3516/Hi3518系列开发板串口驱动安装指导](https://device.harmonyos.com/cn/docs/ide/user-guides/hi3516_hi3518-drivers-0000001050743695)安装USB转串口的驱动程序。 + >如果对应的串口异常,请根据[Hi3516DV300/Hi3518EV300开发板串口驱动安装指导](https://device.harmonyos.com/cn/docs/ide/user-guides/hi3516_hi3518-drivers-0000001050743695)安装USB转串口的驱动程序。 - ![](figure/zh-cn_image_0000001174350647.png) + ![](figure/record-the-serial-port-number-1.png) 3. 打开DevEco Device Tool,在Projects中,点击**Settings**打开工程配置界面。 - ![](figure/2021-01-27_170334.png) + ![](figure/settings.png) -4. 在“Partition Configuration”页签,设置待烧录文件信息,默认情况下,DevEco Device Tool已针对Hi3516系列开发板进行适配,无需单独修改。 +4. 在“Partition Configuration”页签,设置待烧录文件信息,默认情况下,DevEco Device Tool已针对Hi3516DV300开发板进行适配,无需单独修改。 5. 在“hi3516dv300”页签,设置烧录选项,包括upload\_port、upload\_partitions和upload\_protocol。 - upload\_port:选择步骤[2](#zh-cn_topic_0000001056443961_li142386399535)中查询的串口号。 - upload\_protocol:选择烧录协议,固定选择“hiburn-net”。 - upload\_partitions:选择待烧录的文件,默认情况下会同时烧录fastboot、kernel、rootfs和userfs。 - ![](figure/zh-cn_image_0000001128470904.png) + ![](figure/hi3516-upload-options.png) -6. 检查和设置连接开发板后的网络适配器的IP地址信息,设置方法请参考[设置Hi3516网口烧录的IP地址信息](https://device.harmonyos.com/cn/docs/ide/user-guides/set_ipaddress-0000001141825075)。 +6. 检查和设置连接开发板后的网络适配器的IP地址信息,设置方法请参考[设置Hi3516DV300网口烧录的IP地址信息](https://device.harmonyos.com/cn/docs/ide/user-guides/set_ipaddress-0000001141825075)。 7. 设置网口烧录的IP地址信息,设置如下选项: - - upload\_net\_server\_ip:选择[6](#zh-cn_topic_0000001056443961_li1558813168234)中设置的IP地址信息。例如192.168.1.2 + - upload\_net\_server\_ip:选择步骤6中设置的IP地址信息。例如192.168.1.2 - upload\_net\_client\_mask:设置开发板的子网掩码,工具会自动根据选择的upload\_net\_server\_ip进行设置。例如255.255.255.0 - upload\_net\_client\_gw:设置开发板的网关,工具会自动根据选择的upload\_net\_server\_ip进行设置。例如192.168.1.1 - upload\_net\_client\_ip:设置开发板的IP地址,工具会自动根据选择的upload\_net\_server\_ip进行设置。例如192.168.1.3 - ![](figure/zh-cn_image_0000001174270733.png) + ![](figure/ip-address-information.png) 8. 所有的配置都修改完成后,在工程配置页签的顶部,点击**Save**进行保存。 -9. 打开工程文件,点击![](figure/2021-01-27_170334-2.png)图标,打开DevEco Device Tool界面,在“PROJECT TASKS”中,点击hi3516dv300下的**Upload**按钮,启动烧录。 +9. 打开工程文件,点击![](figure/deveco-device-tool-logo.png)图标,打开DevEco Device Tool界面,在“PROJECT TASKS”中,点击hi3516dv300下的**Upload**按钮,启动烧录。 - ![](figure/zh-cn_image_0000001174270729.png) + ![](figure/start-burning.png) 10. 启动烧录后,显示如下提示信息时,请重启开发板(下电再上电)。 - ![](figure/zh-cn_image_0000001128470906.png) + ![](figure/restart-the-development-board-2.png) 11. 重新上电后,启动烧录,界面提示如下信息时,表示烧录成功。 - ![](figure/zh-cn_image_0000001128311098.png) + ![](figure/burning-succeeded-3.png) ## 镜像运行 @@ -202,10 +208,8 @@ Hi3516开发板的代码烧录支持USB烧录、网口烧录和串口烧录三 >![](../public_sys-resources/icon-notice.gif) **须知:** >若无法连接串口,请参考[常见问题](quickstart-lite-steps-hi3516-faqs.md)进行排查。 - **图 2** 连接串口图 - - - ![](figure/chuankou1.png) + **图 2** 连接串口图 + ![](figure/连接串口图.png "连接串口图") 1. 单击**Monitor**打开串口。 2. 连续输入回车直到串口显示"hisilicon"。 @@ -254,16 +258,14 @@ Hi3516开发板的代码烧录支持USB烧录、网口烧录和串口烧录三 3. 输入**“reset”**指令并回车,重启单板,启动成功如下图,输入回车串口显示OHOS字样。 - **图 3** 系统启动图 - - - ![](figure/qi1.png) + **图 3** 系统启动图 + ![](figure/系统启动图.png "系统启动图") ## 执行应用程序 根目录下,在命令行输入指令“**./bin/helloworld**”执行写入的demo程序,显示成功结果如下图所示。 -**图 4** 启动并成功执行应用程序图 +**图 4** 启动并成功执行应用程序图 ![](figure/启动并成功执行应用程序图.png "启动并成功执行应用程序图") diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-setting.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-setting.md index 1b5e88ef8f4b11ec873afdb7c4c3116d5a6fbcb4..631ccaf8d8308c3ac57e1f45cb20699653f920e6 100644 --- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-setting.md +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-setting.md @@ -19,10 +19,8 @@ 各硬件连接关系如下图所示。 -**图 1** 硬件连线图 - - -![](figure/矩形备份-292.png) +**图 1** 硬件连线图 +![](figure/硬件连线图-0.png "硬件连线图-0") ### 软件要求 @@ -76,7 +74,7 @@ Hi3516开发板对Linux服务器通用环境配置需要的工具及其获取途 ## 安装Linux服务器工具 >![](../public_sys-resources/icon-notice.gif) **须知:** ->- 如果通过“HPM组件方式”或“HPM包管理器命令行工具方式”获取源码,不需要安装LLVM、hc-gen编译工具。 +>- 如果通过“HPM组件方式”或“HPM包管理器命令行工具方式”获取源码,不需要安装hc-gen编译工具。 >- (推荐)如果通过“镜像站点方式”或“代码仓库方式”获取源码,需要安装hc-gen编译工具。安装hc-gen编译工具时,请确保编译工具的环境变量路径唯一。 ### 将Linux shell改为bash diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518-faqs.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518-faqs.md index f348a067242906036fa34659e8383eea1c4f6caa..c2c1f310264dfc320c454121693b3efbf332d306 100644 --- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518-faqs.md +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518-faqs.md @@ -13,7 +13,7 @@ 点击烧写并选择串口后,出现Error: Opening COMxx: Access denied。 **图 1** 打开串口失败图 - ![](figure/打开串口失败图-7.png "打开串口失败图-7") + ![](figure/打开串口失败图-15.png "打开串口失败图-15") - **可能原因** @@ -24,19 +24,17 @@ 1. 按图依次选择下拉框,查找带有serial-xx的终端 **图 2** 查找是否存在占用串口的终端 - ![](figure/查找是否存在占用串口的终端-8.png "查找是否存在占用串口的终端-8") + ![](figure/查找是否存在占用串口的终端-16.png "查找是否存在占用串口的终端-16") 2. 点击标号中的垃圾桶图标,关闭串口。 **图 3** 关闭串口终端 - ![](figure/关闭串口终端-9.png "关闭串口终端-9") + ![](figure/关闭串口终端-17.png "关闭串口终端-17") 3. 重新点击烧写,选择串口并开始烧写程序 - **图 4** 重新启动烧写任务 - - - ![](figure/changjian1-10.png) + **图 4** 重新启动烧写任务 + ![](figure/重新启动烧写任务-18.png "重新启动烧写任务-18") ## Windows电脑与单板网络连接失败 @@ -46,7 +44,7 @@ 点击烧写并选择串口后,无法获取文件。 **图 5** 网络不通,单板无法获取文件图 - ![](figure/网络不通-单板无法获取文件图-11.png "网络不通-单板无法获取文件图-11") + ![](figure/网络不通-单板无法获取文件图-19.png "网络不通-单板无法获取文件图-19") - **可能原因** @@ -59,23 +57,23 @@ 1. 检查网线是否连接。 2. 点击Windows防火墙。 - **图 6** 网络防火墙设置图 - ![](figure/网络防火墙设置图-12.png "网络防火墙设置图-12") + **图 6** 网络防火墙设置图 + ![](figure/网络防火墙设置图-20.png "网络防火墙设置图-20") 3. 点击“允许应用通过防火墙”。 - **图 7** 防火墙和网络保护界面图 - ![](figure/防火墙和网络保护界面图-13.png "防火墙和网络保护界面图-13") + **图 7** 防火墙和网络保护界面图 + ![](figure/防火墙和网络保护界面图-21.png "防火墙和网络保护界面图-21") 4. 查找Visual Studio Code应用。 - **图 8** 查找Visual Studio Code应用图 - ![](figure/查找Visual-Studio-Code应用图-14.png "查找Visual-Studio-Code应用图-14") + **图 8** 查找Visual Studio Code应用图 + ![](figure/查找Visual-Studio-Code应用图-22.png "查找Visual-Studio-Code应用图-22") 5. 勾选Visual Studio Code的专用和公用网络的访问权限。 - **图 9** 允许Visual Studio Code应用访问网络 - ![](figure/允许Visual-Studio-Code应用访问网络-15.png "允许Visual-Studio-Code应用访问网络-15") + **图 9** 允许Visual Studio Code应用访问网络 + ![](figure/允许Visual-Studio-Code应用访问网络-23.png "允许Visual-Studio-Code应用访问网络-23") ## 烧写失败 @@ -97,7 +95,7 @@ - **现象描述** - ![](figure/zh-cn_image_0000001174270743.png) + ![](figure/error.png) - **可能原因1** @@ -110,7 +108,7 @@ - **可能原因2** - ![](figure/zh-cn_image_0000001174270739.png) + ![](figure/error2.png) - **解决办法** @@ -125,7 +123,7 @@ 例: - ![](figure/zh-cn_image_0000001174350661.png) + ![](figure/solution-24.png) ## 串口无回显 @@ -169,6 +167,6 @@ 3. 烧写完成后,登录串口如下图所示。 - ![](figure/zh-cn_image_0000001174350659.png) + ![](figure/login-serial-port.png) diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518-running.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518-running.md index a531fd40b4d5453d90441df5bb8c74c116fa7e2d..ed816962b259bc89132653a59e68606717fcb2f6 100644 --- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518-running.md +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518-running.md @@ -139,57 +139,66 @@ hb build -f(执行编译) 结果文件生成在out/hispark\_aries/ipcamera\_hispark\_aries目录下。 -**图 1** 设置图例 -![](figure/设置图例-4.png "设置图例-4") +**图 1** 设置图例 +![](figure/设置图例-8.png "设置图例-8") >![](../public_sys-resources/icon-notice.gif) **须知:** >Hi3518EV300单板的U-boot文件获取路径:device/hisilicon/hispark\_aries/sdk\_liteos/uboot/out/boot/u-boot-hi3518ev300.bin ## 烧录 -Hi3518开发板的代码烧录仅支持USB烧录方式。 +烧录是指将编译后的程序文件下载到芯片开发板上的动作,为后续的程序调试提供基础。DevEco Device Tool提供一键烧录功能,操作简单,能快捷、高效的完成程序烧录,提升烧录的效率。 -1. 请连接好电脑和待烧录开发板,以Hi3518EV300为例,需要同时连接串口和USB口,具体可参考[Hi3518开发板介绍](oem_minitinier_des_3518.md)。 +Hi3518EV300开发板的代码烧录支持USB烧录和串口烧录两种方式,其中: + +- **Windows系统:支持USB烧录和串口烧录。** +- **Linux系统:支持串口烧录,如果采用的是Linux+Windows双系统,也支持USB烧录。** + +同一种烧录方式(如串口烧录),在Windows和Linux环境下的烧录操作完全一致,区别仅在于DevEco Device Tool环境搭建不同。 + +此处仅以USB烧录为例进行说明。 + +1. 请连接好电脑和待烧录开发板,需要同时连接串口和USB口,具体可参考[Hi3518EV300开发板介绍](https://device.harmonyos.com/cn/docs/start/introduce/oem_minitinier_des_3518-0000001105201138)。 2. 打开电脑的设备管理器,查看并记录对应的串口号。 >![](../public_sys-resources/icon-note.gif) **说明:** - >如果对应的串口异常,请根据[Hi3516/Hi3518系列开发板串口驱动安装指导](https://device.harmonyos.com/cn/docs/ide/user-guides/hi3516_hi3518-drivers-0000001050743695)安装USB转串口的驱动程序。 + >如果对应的串口异常,请根据[Hi3516DV300/Hi3518EV300开发板串口驱动安装指导](https://device.harmonyos.com/cn/docs/ide/user-guides/hi3516_hi3518-drivers-0000001050743695)安装USB转串口的驱动程序。 - ![](figure/zh-cn_image_0000001128470900.png) + ![](figure/record-the-serial-port-number-9.png) 3. 打开DevEco Device Tool,在Projects中,点击**Settings**打开工程配置界面。 - ![](figure/zh-cn_image_0000001174350649.png) + ![](figure/setting-10.png) -4. 在“Partition Configuration”页签,设置待烧录文件信息,默认情况下,DevEco Device Tool已针对Hi3518系列开发板进行适配,无需单独修改。 +4. 在“Partition Configuration”页签,设置待烧录文件信息,默认情况下,DevEco Device Tool已针对Hi3518EV300开发板进行适配,无需单独修改。 5. 在“hi3518ev300”页签,设置烧录选项,包括upload\_port、upload\_partitions和upload\_protocol。 - upload\_port:选择步骤[2](#zh-cn_topic_0000001057313128_li46411811196)中查询的串口号。 - upload\_protocol:选择烧录协议,固定选择“hiburn-usb”。 - upload\_partitions:选择待烧录的文件,默认情况下会同时烧录fastboot、kernel、rootfs和userfs。 - ![](figure/zh-cn_image_0000001128311090.png) + ![](figure/upload-options.png) 6. 所有的配置都修改完成后,在工程配置页签的顶部,点击**Save**进行保存。 -7. 打开工程文件,点击![](figure/2021-01-27_170334-5.png)图标,打开DevEco Device Tool界面,在“PROJECT TASKS”中,点击hi3518ev300\_fastboot下的**Erase**按钮,擦除U-Boot。 +7. 打开工程文件,点击![](figure/deveco-device-toollogo.png)图标,打开DevEco Device Tool界面,在“PROJECT TASKS”中,点击hi3518ev300\_fastboot下的**Erase**按钮,擦除U-Boot。 - ![](figure/zh-cn_image_0000001174270731.png) + ![](figure/erase-u-Boot.png) 8. 执行**Erase**擦除操作后,显示如下提示信息时,请重启开发板(下电再上电)。 - ![](figure/zh-cn_image_0000001128311092.png) + ![](figure/restart-the-development-board-11.png) 9. 重新上电后,显示如下信息时,表示擦除U-Boot成功。 - ![](figure/zh-cn_image_0000001128311094.png) + ![](figure/u-boot-erased-successfully.png) 10. 擦除完成后,点击hi3518ev300下的**Upload**按钮,启动烧录。 - ![](figure/zh-cn_image_0000001174350641.png) + ![](figure/upload-12.png) 11. 启动烧录后,界面提示如下信息时,表示烧录成功。 - ![](figure/zh-cn_image_0000001174350643.png) + ![](figure/burning-succeeded-13.png) ## 镜像运行 @@ -199,10 +208,8 @@ Hi3518开发板的代码烧录仅支持USB烧录方式。 >![](../public_sys-resources/icon-notice.gif) **须知:** >若无法连接串口,请参考[常见问题](quickstart-lite-steps-hi3518-faqs.md#zh-cn_topic_0000001053466255_section14871149155911)进行排查。 - **图 2** 连接串口图 - - - ![](figure/chuankou1-6.png) + **图 2** 连接串口图 + ![](figure/连接串口图-14.png "连接串口图-14") 1. 单击**Monitor**打开串口。 2. 连续输入回车直到串口显示"hisilicon"。 @@ -252,7 +259,7 @@ Hi3518开发板的代码烧录仅支持USB烧录方式。 3. 若启动时显示**"hisilicon \#**字样,请输入**“reset”**指令,等待系统自启动进入系统,系统启动后,显示**“OHOS”**字样,输入**”./bin/helloworld”**并回车,显示成功结果如下图所示。 - **图 3** 启动成功并执行应用程序图 + **图 3** 启动成功并执行应用程序图 ![](figure/启动成功并执行应用程序图.png "启动成功并执行应用程序图") diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518-setting.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518-setting.md index b4a3556e11ce25bd050ca3d4be84ae5897f9142c..c9d5ecd2c3fb198e10bf011dd1cd604bcd727637 100644 --- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518-setting.md +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518-setting.md @@ -19,9 +19,9 @@ 各硬件连接关系如下图所示。 + **图 1** 硬件连线图 + ![](figure/硬件连线图-7.png "硬件连线图-7") -**图 1** 硬件连线图 -![](figure/硬件连线图-3.png "硬件连线图-3") ### 软件要求 diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-connection.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-connection.md index f4bc8fd8a9216d0a03dd501274036b13809c5f9c..048e38c408eab4597f95a8e815cb351cf7ee847d 100644 --- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-connection.md +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-connection.md @@ -1,7 +1,7 @@ # WLAN联网(编译、烧录) - [编译](#section191121332125319) -- [镜像烧录](#section19458165166) +- [镜像烧录](#section3288165814218) - [WLAN模组联网](#section194671619167) 本示例将演示如何通过AT命令完成WLAN模组与网关联网。 @@ -14,38 +14,28 @@ 1. 打开DevEco Device Tool工具,点击“View \> Terminal”,进入终端界面。 - **图 1** IDE终端工具打开方法 - - - ![](figure/1.png) + **图 1** IDE终端工具打开方法 + ![](figure/IDE终端工具打开方法.png "IDE终端工具打开方法") 在终端界面使用ssh命令连接linux服务器,如“ssh user@ipaddr”。 - **图 2** 终端界面示意图 - - - ![](figure/2.png) + **图 2** 终端界面示意图 + ![](figure/终端界面示意图.png "终端界面示意图") 2. 进入代码根路径,并在终端窗口,执行脚本命令“hb set”、“.”,选择需要编译的版本“wifiiot\_hispark\_pegasus”。 - **图 3** 在终端界面选择目标构建版本示意图 - - - ![](figure/3.png) + **图 3** 在终端界面选择目标构建版本示意图 + ![](figure/在终端界面选择目标构建版本示意图.png "在终端界面选择目标构建版本示意图") 3. 执行“hb build”启动版本构建。 - **图 4** 在终端界面执行编译命令示意图 - - - ![](figure/4.png) + **图 4** 在终端界面执行编译命令示意图 + ![](figure/在终端界面执行编译命令示意图.png "在终端界面执行编译命令示意图") 4. 编译结束后,如果出现“wifiiot\_hispark\_pegasus build success”字样,则证明构建成功,如下图所示。 - **图 5** 编译成功示意图 - - - ![](figure/5.png) + **图 5** 编译成功示意图 + ![](figure/编译成功示意图.png "编译成功示意图") 5. 构建成功后,会在./out/wifiiot/路径中生成以下文件,使用如下命令可以查看,至此编译构建流程结束。 @@ -53,49 +43,54 @@ ls -l out/hispark_pegasus/wifiiot_hispark_pegasus/ ``` - **图 6** 编译文件存放目录示意图 - + **图 6** 编译文件存放目录示意图 + ![](figure/编译文件存放目录示意图.png "编译文件存放目录示意图") - ![](figure/3-0.png) +## 镜像烧录 -## 镜像烧录 +烧录是指将编译后的程序文件下载到芯片开发板上的动作,为后续的程序调试提供基础。DevEco Device Tool提供一键烧录功能,操作简单,能快捷、高效的完成程序烧录,提升烧录的效率。 -Hi3861 WLAN模组的镜像烧录可以通过OpenHarmony IDE工具DevEco完成,工具的基本使用请参考[DevEco Device Tool使用指南](https://device.harmonyos.com/cn/docs/ide/user-guides/service_introduction-0000001050166905),烧录过程包含如下步骤。 +**Hi3861V100开发板支持串口烧录方式,其中Windows系统串口烧录协议包括burn-serial和hiburn-serial,Linux系统串口烧录协议为hiburn-serial。** -1. 请连接好电脑和待烧录开发板,需要连接USB口,具体可参考[Hi3861开发板介绍](oem_minitinier_des_3861.md)。 +>![](../public_sys-resources/icon-note.gif) **说明:** +>Windows下的两种烧录协议**burn-serial**和**hiburn-serial**,在操作上没有区别,**burn-serial**协议主要是为了兼容历史版本工程。 + +Hi3861V100在Windows和Linux环境下的烧录操作完全一致,区别仅在于DevEco Device Tool环境搭建不同。 + +1. 请连接好电脑和待烧录开发板,需要连接USB口,具体可参考[Hi3861V100开发板介绍](https://device.harmonyos.com/cn/docs/start/introduce/oem_minitinier_des_3861-0000001105041324)。 2. 打开电脑的设备管理器,查看并记录对应的串口号。 >![](../public_sys-resources/icon-note.gif) **说明:** - >如果对应的串口异常,请根据[Hi3861系列开发板串口驱动安装](https://device.harmonyos.com/cn/docs/ide/user-guides/hi3861-drivers-0000001058153433)安装USB转串口的驱动程序。 + >如果对应的串口异常,请根据[Hi3861V100开发板串口驱动安装](https://device.harmonyos.com/cn/docs/ide/user-guides/hi3861-drivers-0000001058153433)安装USB转串口的驱动程序。 - ![](figure/zh-cn_image_0000001128311118.png) + ![](figure/record-the-serial-port-number.png) 3. 打开DevEco Device Tool,在Projects中,点击**Settings**打开工程配置界面。 - ![](figure/zh-cn_image_0000001128311116.png) + ![](figure/setting.png) -4. 在“Partition Configuration”页签,设置待烧录文件信息,默认情况下,DevEco Device Tool已针对Hi3861系列开发板进行适配,无需单独修改。 +4. 在“Partition Configuration”页签,设置待烧录文件信息,默认情况下,DevEco Device Tool已针对Hi3861V100开发板进行适配,无需单独修改。 5. 在“hi3861”页签,设置烧录选项,包括upload\_port、upload\_partitions和upload\_protocol。 - upload\_port:选择步骤[2](#zh-cn_topic_0000001056563976_li848662117291)中查询的串口号。 - - upload\_protocol:选择烧录协议,固定选择“burn-serial”。 + - upload\_protocol:选择烧录协议,Windows系统可以选择“burn-serial”或“hiburn-serial”,Linux系统只能选择“hiburn-serial”。 - upload\_partitions:选择待烧录的文件,默认选择hi3861\_app。 - ![](figure/zh-cn_image_0000001128470922.png) + ![](figure/options.png) 6. 所有的配置都修改完成后,在工程配置页签的顶部,点击**Save**进行保存。 7. 打开工程文件,在DevEco Device Tool界面的“PROJECT TASKS”中,点击hi3861下的**Upload**按钮,启动烧录。 - ![](figure/zh-cn_image_0000001174270749.png) + ![](figure/upload.png) 8. 启动烧录后,显示如下提示信息时,请按开发板上的RST按钮重启开发板。 - ![](figure/zh-cn_image_0000001174270751.png) + ![](figure/restart-the-development-board.png) 9. 重新上电后,启动烧录,界面提示如下信息时,表示烧录成功。 - ![](figure/zh-cn_image_0000001174350669.png) + ![](figure/burning-succeeded.png) ## WLAN模组联网 @@ -104,17 +99,13 @@ Hi3861 WLAN模组的镜像烧录可以通过OpenHarmony IDE工具DevEco完成, 1. 保持Windows工作台和WLAN模组的连接状态,在DevEco工具最下方,点击“DevEco:Serial Monitor”按钮。 - **图 7** 打开DevEco串口终端示意图 - - - ![](figure/5-1.png) + **图 7** 打开DevEco串口终端示意图 + ![](figure/打开DevEco串口终端示意图.png "打开DevEco串口终端示意图") 2. 复位WLAN模组,终端界面显示“ready to OS start”,则启动成功。 - **图 8** WLAN复位成功示意图 - - - ![](figure/6.png) + **图 8** WLAN复位成功示意图 + ![](figure/WLAN复位成功示意图.png "WLAN复位成功示意图") 3. 在DevEco的串口终端中,依次执行如下AT命令,启动STA模式,连接指定AP热点,并开启DHCP功能。 @@ -134,9 +125,7 @@ Hi3861 WLAN模组的镜像烧录可以通过OpenHarmony IDE工具DevEco完成, AT+PING=X.X.X.X # 检查模组与网关的联通性,其中X.X.X.X需替换为实际的网关地址 ``` - **图 9** WLAN模组联网成功示意图 - - - ![](figure/截图.png) + **图 9** WLAN模组联网成功示意图 + ![](figure/WLAN模组联网成功示意图.png "WLAN模组联网成功示意图") diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-faqs.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-faqs.md index 6e2a41e5d904ea14a067f619875517f355a1b2e8..d19b1abe1828359f49f2e0e184cdaec4184c2910 100644 --- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-faqs.md +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-faqs.md @@ -73,7 +73,7 @@ 方法2:如果软件源中没有该软件,请从“www.zlib.net”下载版本代码,并离线安装。 - ![](figure/10.png) + ![](figure/download-zlib.png) 完成下载后,通过以下命令安装: @@ -134,7 +134,7 @@ 通过网页[https://pypi.org/project/pycrypto/\#files](https://pypi.org/project/pycrypto/#files),下载源码。 - ![](figure/zh-cn_image_0000001128470864.png) + ![](figure/Download-the-source-code.png) 将源码放置在Linux服务器中,解压,并安装“python3 setup.py install”。 @@ -165,7 +165,7 @@ 通过网页[https://pypi.org/project/ecdsa/\#files](https://pypi.org/project/ecdsa/#files),下载安装包。 - ![](figure/zh-cn_image_0000001128311072.png) + ![](figure/download-ecdsa.png) 将安装包放置Linux服务器中,并安装“pip3 install ecdsa-0.15-py2.py3-none-any.whl”。 @@ -196,7 +196,7 @@ 通过网页[https://pypi.org/project/six/\#files](https://pypi.org/project/six/#files),下载安装包。 - ![](figure/zh-cn_image_0000001174270699.png) + ![](figure/download-six.png) 将源码放置在Linux服务器中,并安装“pip3 install six-1.14.0-py2.py3-none-any.whl”。 @@ -253,7 +253,7 @@ - **可能原因2** - ![](figure/zh-cn_image_0000001128311070.png) + ![](figure/reason-2.png) - **解决办法** @@ -268,7 +268,7 @@ 例: - ![](figure/zh-cn_image_0000001174350623.png) + ![](figure/solution.png) ## 安装 kconfiglib时,遇到lsb\_release错误 diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-running.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-running.md index afb05fbff25c8ddb49473ae447e4e99a59bfe07c..ff35fa628d5067d03bdbae21ac8e392217242168 100644 --- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-running.md +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-running.md @@ -138,7 +138,7 @@ Call Stack 6 -- 3f5e24 addr:f78fc 3. 根据以上调用栈信息,可以定位WadRecvCB函数中出现了异常。 - ![](figure/zh-cn_image_0000001134641222.png) + ![](figure/WadRecvCB-function.png) 4. 完成代码排查及修改。 diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-setting.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-setting.md index bb42ece33d7589af139d4aa5cd26e3fd65c8f11f..1d02958589823f2b791ef201d9e6aafc557c1a9b 100644 --- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-setting.md +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-setting.md @@ -23,7 +23,7 @@ 各硬件连接关系如下图所示。 -**图 1** 硬件连线图 +**图 1** 硬件连线图 ![](figure/硬件连线图.png "硬件连线图") ### 软件要求 @@ -38,9 +38,9 @@ Hi3861开发板需要的工具如下表所示。

开发工具

用途

+

用途

获取途径

+

获取途径

源码

-

功能开发

-

参考源码获取

-

Python3.7+

+

源码

编译构建工具

+

功能开发

通过互联网获取

+

参考源码获取

gn

+

必要的库和工具

产生ninja编译脚本

+

编译所需的必要工具和库(如打包、镜像制作等)

https://repo.huaweicloud.com/harmonyos/compiler/gn/1717/linux/gn-linux-x86-1717.tar.gz

+

通过互联网获取

ninja

+

Python3.7+

执行ninja编译脚本

+

编译构建工具

https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar

+

通过互联网获取

-

LLVM

-

+

LLVM(仅OpenHarmony_v1.x分支/标签需要)

-

编译工具链

-

+

编译工具链

Master及OpenHarmony_v2.x分支/标签,请使用以下10.0.1版本:

-

https://repo.huaweicloud.com/harmonyos/compiler/clang/10.0.1-62608/linux/llvm.tar.gz

+

通过互联网获取

OpenHarmony_v1.x分支/标签,请使用以下9.0.0版本:

-

https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-36191/linux/llvm-linux-9.0.0-36191.tar

+

hb

hb

-

OpenHarmony编译构建命令行工具

+

OpenHarmony编译构建命令行工具

通过互联网获取

-

其他工具

-

编译构建中依赖的其他工具(如打包、镜像制作等)

-

通过互联网获取

+

通过互联网获取

代码编辑工具

V1.53及以上 64位版本。

+

V1.53及以上64位版本。

https://code.visualstudio.com/Download

编译构建工具

V3.7.4~V3.8.x 64位版本

+

V3.8.9及以上64位版本

推荐下载:https://www.python.org/downloads/release/python-388/

+

https://www.python.org/downloads/

Node.js

提供npm环境

v12.0.0及以上 64位版本

+

以下版本三选一:

+
  • V12.22.5及以上64位版本
  • V14.17.5及以上64版本
  • V16.6.0及以上64位版本

https://nodejs.org/zh-cn/download/

包管理工具

最新版

+

V1.3.0及以上

请参考安装hpm

OpenHarmony源码的编译、烧录、调试插件工具

v2.2 Beta1

+

V2.2 Beta2

https://device.harmonyos.com/cn/ide#download

+

https://device.harmonyos.com/cn/ide#download_beta

下载前,请使用华为开发者帐号登录,如未注册,请先注册华为开发者帐号

- - @@ -48,45 +48,45 @@ Hi3861开发板需要的工具如下表所示。 - - - - - - - - - - @@ -123,7 +123,7 @@ sudo apt-get install build-essential gcc g++ make zlib* libffi-dev scons -v ``` - **图 2** SCons安装成功界面,版本要求3.0.4以上 + **图 2** SCons安装成功界面,版本要求3.0.4以上 ![](figure/SCons安装成功界面-版本要求3-0-4以上.png "SCons安装成功界面-版本要求3-0-4以上") @@ -219,7 +219,7 @@ sudo apt-get install build-essential gcc g++ make zlib* libffi-dev ### 安装gcc\_riscv32(WLAN模组类编译工具链) >![](../public_sys-resources/icon-notice.gif) **须知:** ->- Hi3861平台仅支持使用libgcc运行时库的静态链接,不建议开发者使用libgcc运行时库的动态链接,会导致商业分发时被GPL V3污染。 +>- Hi3861平台仅支持使用libgcc运行时库的静态链接,不建议开发者使用libgcc运行时库的动态链接,以免产品需遵从GPLV3许可证。 >- 通过下述步骤2-15,我们编译好了gcc\_riscv32 镜像,提供给开发者[直接下载](https://repo.huaweicloud.com/harmonyos/compiler/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz)使用。直接下载 gcc\_riscv32 镜像的开发者可省略下述2-15步。 1. 打开Linux编译服务器终端。 @@ -353,6 +353,6 @@ sudo apt-get install build-essential gcc g++ make zlib* libffi-dev 2. 点击安装包,安装驱动程序。 3. 驱动安装完成后,重新插拔USB接口,串口信息显示如下图所示。 - ![](figure/zh-cn_image_0000001174350633.png) + ![](figure/serial-port-entry.png) diff --git a/zh-cn/device-dev/quick-start/quickstart-standard-burn.md b/zh-cn/device-dev/quick-start/quickstart-standard-burn.md index 341fa07dab218a29b8ce5f89176365d8248b2250..6f0ff12d00f2d1ebdfab89a1b18959edf186220e 100644 --- a/zh-cn/device-dev/quick-start/quickstart-standard-burn.md +++ b/zh-cn/device-dev/quick-start/quickstart-standard-burn.md @@ -1,13 +1,14 @@ -# 镜像烧录 +# 镜像烧录 + +- [前提条件](#section232415263110) + - [使用网口烧录](#section998903784810) -- [前提条件](#section63941724112115) -- [使用网口烧录](#section112807166589) 标准系统烧录,在V2.2 Beta1及以上版本支持。 Hi3516DV300支持烧录标准系统,其烧录方式包括USB烧录、网口烧录和串口烧录三种方式,其中: -- **Windows系统:支持USB烧录、网口烧录和串口烧录** +- **Windows系统:支持USB烧录、网口烧录和串口烧录**。 - **Linux系统:支持串口烧录和网口烧录。** 同一种烧录方式(如网口烧录),在Windows和Linux环境下的烧录操作完全一致,区别仅在于DevEco Device Tool环境搭建不同。 @@ -15,184 +16,53 @@ Hi3516DV300支持烧录标准系统,其烧录方式包括USB烧录、网口烧 >![](../public_sys-resources/icon-note.gif) **说明:** >当前Hi3516DV300开发板支持通过网口、USB、串口三种方式烧录OpenHarmony标准系统。本文以网口方式为例讲解烧录操作,其他两种烧录方式请参照[Hi3516DV300烧录指导](https://device.harmonyos.com/cn/docs/ide/user-guides/hi3516_upload-0000001052148681)。 -## 前提条件 +## 前提条件 + +在DevEco Device Tool中,选择**Import Project**打开待烧录文件所在文件夹,其中MCU选择**HiSilicon\_Arm\_Linux**下的Hi3516DV300,Framework选择“Hb”。 -在DevEco Device Tool中[打开一个工程](https://device.harmonyos.com/cn/docs/ide/user-guides/open_project-0000001071680043),该工程文件夹选择待烧录文件所在文件夹即可。其中开发板类型固定选择Hi3516DV300,Framework选择“Hb”。 +![](figure/hisilicon-arm-linux.png) -## 使用网口烧录 +### 使用网口烧录 -Hi3516DV300开发板使用网口录方式,支持Windows和Linux系统。 +Hi3516DV300开发板使用网口烧录方式,支持Windows和Linux系统。 1. 请连接好电脑和待烧录开发板,需要同时连接串口、网口和电源,具体可参考[Hi3516DV300开发板介绍](https://device.harmonyos.com/cn/docs/start/introduce/oem_minitinier_des_3516-0000001152041033)。 -2. 打开电脑的设备管理器,查看并记录对应的串口号。 +2. 打开电脑的设备管理器,查看并记录对应的串口号。 >![](../public_sys-resources/icon-note.gif) **说明:** >如果对应的串口异常,请根据[Hi3516DV300/Hi3518EV300开发板串口驱动安装指导](https://device.harmonyos.com/cn/docs/ide/user-guides/hi3516_hi3518-drivers-0000001050743695)安装USB转串口的驱动程序。 - ![](figure/zh-cn_image_0000001180513891.png) + ![](figure/record-the-serial-port-number-1.png) 3. 打开DevEco Device Tool,在Projects中,点击**Settings**打开工程配置界面。 - ![](figure/2021-01-27_170334-17.png) - -4. 在**Partition Configuration**页签中,按照下表内容填写烧录文件信息,包括: - - -

平台类型

开发工具

+

开发工具

用途

+

用途

获取途径

Linux服务器

编译基础软件包(仅ubuntu 20+需要)

+

编译基础软件包(仅ubuntu 20+需要)

编译依赖的基础软件包

+

编译依赖的基础软件包

通过互联网获取

Linux服务器

SCons3.0.4+

+

SCons3.0.4+

编译构建工具

+

编译构建工具

通过互联网获取

Linux服务器

python模块:setuptools、kconfiglib、pycryptodome、six、ecdsa

+

python模块:setuptools、kconfiglib、pycryptodome、six、ecdsa

编译构建工具

+

编译构建工具

通过互联网获取

Linux服务器

gcc riscv32

+

gcc riscv32

编译构建工具

+

编译构建工具

通过互联网获取

Windows工作台

CH341SER.EXE

+

CH341SER.EXE

USB转串口驱动

+

USB转串口驱动

http://www.wch.cn/search?q=ch340g&t=downloads

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Name

-

Binary

-

Memory

-

System

-

Address

-

Length

-

Board

-

Type

-

fastboot

-

选择“u-boot-hi3516dv300_emmc.bin”

-

emmc

-

none

-

0x000000

-

0x100000

-

固定选择“hi3516dv300”

-

NA

-

boot

-

选择“uImage”

-

emmc

-

none

-

0x100000

-

0xf00000

-

NA

-

updater

-

选择“updater.img”

-

emmc

-

ext3/4

-

0x1000000

-

0x1400000

-

NA

-

misc

-

空白,不用选择

-

emmc

-

none

-

0x2400000

-

0x100000

-

NA

-

system

-

选择“system.img”

-

emmc

-

ext3/4

-

0x2500000

-

0xceb00000

-

NA

-

vendor

-

选择“vendor.img”

-

emmc

-

ext3/4

-

0xd1000000

-

0x10000000

-

NA

-

userdata

-

选择“userdata.img”

-

emmc

-

ext3/4

-

0xe1000000

-

0x5b800000

-

NA

-
- - ![](figure/zh-cn_image_0000001180633813.png) - -5. 在“hi3516dv300”页签,设置烧录选项,包括upload\_port、upload\_partitions和upload\_protocol。 - - - upload\_port:选择步骤[2](#zh-cn_topic_0000001180633781_li1050616379507)中查询的串口号。 + ![](figure/settings.png) + +4. 在“hi3516dv300”页签,设置烧录选项,包括upload\_port、upload\_partitions和upload\_protocol。 + + - upload\_port:选择步骤[2](#zh-cn_topic_0000001056443961_li1050616379507)中查询的串口号。 - upload\_protocol:选择烧录协议,固定选择“hiburn-net”。 - - upload\_partitions:选择待烧录的文件,包括fastboot、boot、updater、misc、system、vendor和userdata。 + - upload\_partitions:选择待烧录的文件,默认情况下会同时烧录fastboot、boot、updater、misc、system、vendor和userdata。 - ![](figure/zh-cn_image_0000001134474510.png) + ![](figure/upload-options-26.png) -6. 检查和设置连接开发板后的网络适配器的IP地址信息,设置方法请参考[设置Hi3516DV300网口烧录的IP地址信息](https://device.harmonyos.com/cn/docs/ide/user-guides/set_ipaddress-0000001141825075)。 -7. 设置网口烧录的IP地址信息,设置如下选项: +5. 检查和设置连接开发板后的网络适配器的IP地址信息,设置方法请参考[设置Hi3516DV300网口烧录的IP地址信息](https://device.harmonyos.com/cn/docs/ide/user-guides/set_ipaddress-0000001141825075)。 +6. 设置网口烧录的IP地址信息,设置如下选项: - upload\_net\_server\_ip:选择步骤6中设置的IP地址信息。例如192.168.1.2 - upload\_net\_client\_mask:设置开发板的子网掩码,工具会自动根据选择的upload\_net\_server\_ip进行设置。例如255.255.255.0 - upload\_net\_client\_gw:设置开发板的网关,工具会自动根据选择的upload\_net\_server\_ip进行设置。例如192.168.1.1 - upload\_net\_client\_ip:设置开发板的IP地址,工具会自动根据选择的upload\_net\_server\_ip进行设置。例如192.168.1.3 - ![](figure/zh-cn_image_0000001180633847.png) + ![](figure/ip-address-information.png) -8. 所有的配置都修改完成后,在工程配置页签的顶部,点击**Save**进行保存。 -9. 启动烧录后,显示如下提示信息时,请重启开发板(下电再上电)。 +7. 所有的配置都修改完成后,在工程配置页签的顶部,点击**Save**进行保存。 +8. 启动烧录后,显示如下提示信息时,请重启开发板(下电再上电)。 - ![](figure/zh-cn_image_0000001134634288.png) + ![](figure/restart-the-development-board-2.png) -10. 重新上电后,启动烧录,界面提示如下信息时,表示烧录成功。 +9. 重新上电后,启动烧录,界面提示如下信息时,表示烧录成功。 - ![](figure/zh-cn_image_0000001180513893.png) + ![](figure/burning-succeeded-3.png) diff --git a/zh-cn/device-dev/quick-start/quickstart-standard-overview.md b/zh-cn/device-dev/quick-start/quickstart-standard-overview.md index e52757cbebaebcdceec7f56d089c0f3c4d88a65e..f300b424494c30aa565b3918c3b692d8c56cd533 100644 --- a/zh-cn/device-dev/quick-start/quickstart-standard-overview.md +++ b/zh-cn/device-dev/quick-start/quickstart-standard-overview.md @@ -12,17 +12,15 @@ 标准系统快速入门流程如下图所示,其中“搭建Ubuntu环境及编译”环节可根据实际情况选择docker方式或工具包方式其中一种即可。 -**图 1** 标准环境快速入门流程 +**图 1** 标准环境快速入门流程 ![](figure/标准环境快速入门流程.png "标准环境快速入门流程") ## 开发板简介 Hi3516DV300作为新一代行业专用Smart HD IP摄像机SOC,集成新一代ISP\(Image Signal Processor\)、H.265视频压缩编码器,同时集成高性能NNIE引擎,使得Hi3516DV300在低码率、高画质、智能处理和分析、低功耗等方面引领行业水平。 -**图 2** Hi3516单板正面外观图 - - -![](figure/3516正面-16.png) +**图 2** Hi3516单板正面外观图 +![](figure/Hi3516单板正面外观图-25.png "Hi3516单板正面外观图-25") ## 开发板规格 diff --git a/zh-cn/device-dev/quick-start/quickstart-standard-package-environment.md b/zh-cn/device-dev/quick-start/quickstart-standard-package-environment.md index 46b95a8669b8bec71eb938447446ba59e1c5f145..9102e743218bc79c51b588fce37c4edc557f6f9a 100644 --- a/zh-cn/device-dev/quick-start/quickstart-standard-package-environment.md +++ b/zh-cn/device-dev/quick-start/quickstart-standard-package-environment.md @@ -17,7 +17,7 @@ sudo apt-get update && sudo apt-get install binutils git git-lfs gnupg flex biso ``` >![](../public_sys-resources/icon-note.gif) **说明:** ->以上安装命令适用于Ubuntu18.04,其他版本请根据安装包名称采用对应的安装命令。 +>以上安装命令适用于Ubuntu18.04,其他版本请根据安装包名称采用对应的安装命令。其中Python要求安装Python 3.7及以上版本,此处以Python 3.8为例。 ## 获取标准系统源码 diff --git a/zh-cn/device-dev/quick-start/quickstart-standard-running.md b/zh-cn/device-dev/quick-start/quickstart-standard-running.md index 901652e083213359b24bcb3a746fc4c6f3bbedbf..22c78213f7af44e3ef451dc84b4ddb5f8c97f1eb 100644 --- a/zh-cn/device-dev/quick-start/quickstart-standard-running.md +++ b/zh-cn/device-dev/quick-start/quickstart-standard-running.md @@ -1,9 +1,6 @@ # 镜像运行 -- [镜像运行](#section153991115191314) -- [下一步](#section5600113114323) - -## 镜像运行 +- [\#ZH-CN\_TOPIC\_0000001142160948/section153991115191314](#section153991115191314) 烧录完成后通过以下步骤运行系统: @@ -12,11 +9,11 @@ 1. 在DevEco Device Tool中,点击Monitor,打开串口工具。 - ![](figure/zh-cn_image_0000001142616226.png) + ![](figure/open-the-serial-port-tool.png) 2. 重启开发板,在倒计时结束前,按任意键进入系统。 - ![](figure/1-18.gif) + ![](figure/press-any-key-to-enter-the-system.gif) 3. 通过以下两条命令设置启动参数。 @@ -28,7 +25,7 @@ setenv bootcmd "mmc read 0x0 0x80000000 0x800 0x4800; bootm 0x80000000"; ``` - ![](figure/启动.png) + ![](figure/start.png) 4. 保存参数设置。 @@ -36,7 +33,7 @@ save ``` - ![](figure/启动1.png) + ![](figure/Save-the-parameter-settings.png) 5. 重启开发板,完成系统启动。 @@ -44,10 +41,6 @@ reset ``` - ![](figure/启动2.png) - - -## 下一步 + ![](figure/start-the-system.png) -恭喜!您已经完成了OpenHarmony标准系统的快速入门,接下来可[开发一个小示例](../guide/device-clock-guide.md),进一步熟悉OpenHarmony的开发。 diff --git a/zh-cn/device-dev/quick-start/quickstart-standard-windows-environment.md b/zh-cn/device-dev/quick-start/quickstart-standard-windows-environment.md index 403201d52c1c575bd8702d1456b333c9a33778a9..f0ced44da372fac929539344772b89b988f6c689 100644 --- a/zh-cn/device-dev/quick-start/quickstart-standard-windows-environment.md +++ b/zh-cn/device-dev/quick-start/quickstart-standard-windows-environment.md @@ -7,7 +7,10 @@ - [安装hpm](#zh-cn_topic_0000001058091994_section173054793610) - [安装DevEco Device Tool插件](#zh-cn_topic_0000001058091994_section4336315185716) -系统要求:Windows 10 64位系统。 +系统要求: + +- Windows 10 64位系统。 +- 系统的用户名不能含有中文字符。 DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展,安装分为如下几步: @@ -43,7 +46,7 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展

编译构建工具

V3.8及以上64位版本

+

V3.8.9及以上64位版本

https://www.python.org/downloads/

提供npm环境

v12.0.0及以上64位版本

+

以下版本三选一:

+
  • V12.22.5及以上64位版本
  • V14.17.5及以上64版本
  • V16.6.0及以上64位版本

https://nodejs.org/zh-cn/download/

包管理工具

最新版

+

V1.3.0及以上

请参考安装hpm

OpenHarmony源码的编译、烧录、调试插件工具

v2.2 Beta2

+

V2.2 Beta2

https://device.harmonyos.com/cn/ide#download

+

https://device.harmonyos.com/cn/ide#download_beta

下载前,请使用华为开发者帐号登录,如未注册,请先注册华为开发者帐号