saveenv
@@ -118,12 +191,9 @@ Burn images to the Hi3518EV300 board over the serial port.
> **NOTICE:**
>**go 0x40000000** \(optional\) indicates that the command is fixed in the startup parameters by default and the board automatically starts after it is reset. If you want to manually start the board, press **Enter** in the countdown phase of the U-boot startup to interrupt the automatic startup.
- **Figure 7** Startup parameter settings
- 
-
3. If **hisilicon \#** is displayed during the startup, run the **reset** command. After the system automatically starts and **OHOS** is displayed, run the **./bin/camera\_app** command and then press **Enter**. The system is started successfully if information shown in the following figure is displayed.
- **Figure 8** Successful system startup and program execution
+ **Figure 2** Successful system startup and program execution

diff --git a/docs-en/quick-start/developing-the-first-example-program-running-on-hi3861.md b/docs-en/quick-start/developing-the-first-example-program-running-on-hi3861.md
index bc01e3820de773e8e0845e050e34006d2fdc4c57..ca67662bd5bc886cdef4569e5e9ac1727c99e87a 100755
--- a/docs-en/quick-start/developing-the-first-example-program-running-on-hi3861.md
+++ b/docs-en/quick-start/developing-the-first-example-program-running-on-hi3861.md
@@ -1,18 +1,21 @@
# Developing the First Example Program Running on Hi3861
-This example shows how to use attention \(AT\) commands to complete WLAN module networking.
+- [Acquiring Source Code](#section1545225464016)
+- [Compiling Source Code](#section1736014117148)
+- [Burning Images](#section1610612214150)
+- [Connecting WLAN Module to the Internet](#section168257461059)
+
+This example shows how to connect the WLAN module to the gateway using attention \(AT\) commands.
## Acquiring Source Code
-You need to acquire [Hi3861 source code](https://repo.huaweicloud.com/harmonyos/os/1.0/code-1.0.tar.gz) and download it on a Linux server. For more methods, see [Source Code Acquisition](../get-code/source-code-acquisition.md).
+You need to acquire [Hi3861 source code](https://repo.huaweicloud.com/harmonyos/os/1.0/code-1.0.tar.gz), download it on a Linux server, and decompress it. For more obtaining methods, see [Source Code Acquisition](../get-code/source-code-acquisition.md).
## Compiling Source Code
This section describes how to compile the WLAN module on a Linux server.
-1. Use the OpenHarmony IDE DevEco to connect to a Linux server. \(The IDE DevEco integrates the capabilities of terminal tools. For details about how to use the tool, see [User Guide](https://device.harmonyos.com/en/docs/ide/user-guides/service_introduction-0000001050166905).\)
-
- Click **View** and then **Terminal** to start the IDE terminal tool.
+1. Open the HUAWEI DevEco Device Tool and choose **View** \> **Terminal**.
**Figure 1** Starting the IDE terminal tool
@@ -38,7 +41,11 @@ This section describes how to compile the WLAN module on a Linux server.
**Figure 4** Successful building

-4. Check whether the following files are generated in the **out/wifiiot** directory.
+4. Run the following command to check whether the following files are generated in the **./out/wifiiot/** directory:
+
+ ```
+ ls -l out/wifiiot
+ ```
**Figure 5** Directory for storing compilation files
@@ -48,23 +55,25 @@ This section describes how to compile the WLAN module on a Linux server.
## Burning Images
-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 [User Guide](https://device.harmonyos.com/en/docs/ide/user-guides/service_introduction-0000001050166905).
+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).
-1. Use a USB cable to connect to the Windows workstation and WLAN module. \(Before the connection to the WLAN module, download the USB-to-serial driver from [http://www.wch.cn/search?q=ch340g&t=downloads](http://www.wch.cn/search?q=ch340g&t=downloads) and install it.\) In addition, query the COM port on the device manager, for example, CH340 \(COM11\) which provides functions of code burning, log printing, and AT commands execution.
+1. Use a USB cable to connect the Windows workstation to the Hi3861 development board.
+2. Download and install the [USB-to-serial port driver](http://www.wch-ic.com/downloads/CH341SER_EXE.html).
+3. Query the COM port on the device manager, for example, CH340\(COM11\). The serial port integrates functions such as code burning, log printing, and AT commands execution.
**Figure 6** COM port of the device manager

-2. Enter the burning configuration page.
+4. Enter the burning configuration page.
**Figure 7** Basic configurations for image burning

-3. Configure basic parameters.
+5. Set basic parameters.
- 1. Set a proper baud rate. A higher baud rate indicates a faster burning speed. Here **921600** is recommended.
+ 1. Set a proper baud rate. A higher baud rate indicates a faster burning speed. Here the default value **921600** is recommended.
2. Select a data bit. The default value of **Data bit** for the WLAN module is **8**.
3. Select the version package path **./out/wifiiot/Hi3861\_wifiiot\_app\_allinone.bin** and **Hiburn** mode.
4. Click **Save** to save configurations.
@@ -77,17 +86,17 @@ You can use the DevEco tool to perform the image burning of the Hi3861 WLAN modu

-4. On the DevEco, click **Burn**  and select the serial port **COM11**.
+6. On the DevEco, click **Burn**  and select the serial port **COM11**.
**Figure 10** Starting a burning

-5. After the serial port is selected, **Connecting, please reset device...** is shown below the **TERMINAL** tab, indicating that the module is in the to-be-burnt state.
+7. After the serial port is selected, **Connecting, please reset device...** is shown below the **TERMINAL** tab, indicating that the module is in the to-be-burnt state.
**Figure 11** Burning process

-6. Press the **Reset** key on the module to start burning. **Execution Successful** displayed below the **TERMINAL** tab indicates the burning is complete.
+8. Press the **Reset** key on the module to start burning. **Execution Successful** displayed below the **TERMINAL** tab indicates the burning is complete.
**Figure 12** Burning completed
@@ -99,32 +108,24 @@ You can use the DevEco tool to perform the image burning of the Hi3861 WLAN modu
After completing version building and burning, do as follows to connect the WLAN module to the Internet using AT commands.
-> **NOTE:**
->- The DevEco serial port connection function is to be launched soon, so stay tuned.
->- In this example, the serial port tool IPOP is used for demonstration. You can obtain this tool from the Internet.
+1. Keep Windows workstation connected to the WLAN module and click **Serial port** at the bottom of DevEco to view the configuration page.
-1. Use a USB cable to connect the Windows workstation to the Hi3861 development board. Ensure that the serial port to be connected is **COM11**, as shown in the following figure.
+ **Figure 13** Opening the DevEco serial port
+ 
- **Figure 13** COM port of the device manager
-
-
- 
-
-2. On the Windows workstation, use IPOP to connect to the serial port \(COM11\) of the WLAN module, set the baud rate to **115200**, select **Newline**, and ensure that the entered string ends with **\\r\\n** to avoid AT command input failures.
-
- **Figure 14** IPOP connection configuration
-
+2. Select the serial port and set parameters. Enter the actual serial port number. Here the serial port number is **COM11**; the default values of Baud rate, Data bit, and Stop bit are used; **1** is used as the end-line character since a valid input AT command must end with **\\r\\n**.
- 
+ **Figure 14** Setting serial port parameters
+ 
3. Reset the WLAN module. The message **ready to OS start** is displayed on the terminal page, indicating that the WLAN module is started successfully.
**Figure 15** Successful resetting of the WLAN module
- 
+ 
-4. Run the following AT commands in sequence via the IPOP serial terminal to start the STA mode, connect to the specified AP, and enable Dynamic Host Configuration Protocol \(DHCP\).
+4. 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\).
```
AT+STARTSTA - Start the STA mode.
@@ -145,6 +146,6 @@ After completing version building and burning, do as follows to connect the WLAN
**Figure 16** Successful networking of the WLAN module
- 
+ 
diff --git a/docs-en/quick-start/developing-the-second-example-program-running-on-hi3861.md b/docs-en/quick-start/developing-the-second-example-program-running-on-hi3861.md
index e6dea83f27f5d44c29e023b0765a1fe83f642885..420f628b5f78c5025e24b85678c72f6b9ee67354 100755
--- a/docs-en/quick-start/developing-the-second-example-program-running-on-hi3861.md
+++ b/docs-en/quick-start/developing-the-second-example-program-running-on-hi3861.md
@@ -1,10 +1,17 @@
# Developing the Second Example Program Running on Hi3861
-This example shows how to compile a simple service and print **Hello World**.
+- [Modifying Source Code](#section9360141181414)
+- [Debugging and Verification](#section1621064881419)
+- [printf](#section1246911301217)
+- [Locating Exceptions Using the asm File](#section197271353219)
+- [Viewing Execution Result](#section18115713118)
+- [Follow-up Learning](#section9712145420182)
+
+This example shows how to compile a simple service and print **Hello World** to help you preliminarily understand how to run OpenHarmony on Hi3861.
## Modifying Source Code
-The source code needs to be modified when fixing bugs or compiling a new service. The following describes how to modify the source code when compiling a new service.
+The source code needs to be modified when fixing bugs or compiling a new service. The following describes how to modify the source code when compiling a new service, for example, **my\_first\_app**.
1. Determine the directory structure.
@@ -26,7 +33,7 @@ The source code needs to be modified when fixing bugs or compiling a new service
2. Compile the service code.
- Create the service entry function **HelloWorld** in **hello\_world.c** and implement service logic. Use the SYS\_RUN\(\) of the OpenHarmony **bootstrap** module to start services. \(**SYS\_RUN** is defined in the **ohos\_init.h** file.\)
+ Create the **hello\_world.c** file in **./applications/sample/wifi-iot/app/my\_first\_app**. Then, create the service entry function **HelloWorld** in **hello\_world.c** and implement service logic. Use the SYS\_RUN\(\) of the OpenHarmony **bootstrap** module to start services. \(**SYS\_RUN** is defined in the **ohos\_init.h** file.\)
```
#include
@@ -42,7 +49,7 @@ The source code needs to be modified when fixing bugs or compiling a new service
3. Compile the **BUILD.gn** file for building services into a static library.
- The **BUILD.gn** file consists of three parts, including target, source file, and header file path. You need to fill in all of these parts. Take **my\_first\_app** as an example, you need to create **./applications/sample/wifi-iot/app/my\_first\_app/BUILD.gn** and complete the following configurations:
+ Create the **BUILD.gn** file in **./applications/sample/wifi-iot/app/my\_first\_app** and fill in three parts \(target, source file, and header file path\) of the **BUILD.gn** file.
```
static_library("myapp") {
@@ -134,7 +141,7 @@ To parse the call stack information, the **Hi3861\_wifiiot\_app.asm** file is
## Viewing Execution Result
-After the sample code is compiled, burnt, run, and debugged, the following information is displayed:
+After the sample code is compiled, burnt, run, and debugged, the following information is displayed on the serial port interface:
```
ready to OS start
diff --git a/docs-en/quick-start/faqs-1.md b/docs-en/quick-start/faqs-1.md
new file mode 100644
index 0000000000000000000000000000000000000000..244ae7f59bd8e256aacef438ca13459a76379b63
--- /dev/null
+++ b/docs-en/quick-start/faqs-1.md
@@ -0,0 +1,172 @@
+# FAQs
+
+- [What should I do when the images failed to be burnt over the selected serial port?](#section627268185113)
+- [What should I do when Windows-based PC failed to be connected to the board?](#section195391036568)
+- [What should I do when the image failed to be burnt?](#section571164016565)
+- [What should I do when the message indicating Python cannot be found is displayed during compilation and building?](#section1039835245619)
+- [What should I do when no command output is displayed?](#section14871149155911)
+
+## What should I do when the images failed to be burnt over the selected serial port?
+
+- **Symptom**
+
+ **Error: Opening COMxx: Access denied** is displayed after clicking **Burn** and selecting a serial port.
+
+ **Figure 1** Failed to open the serial port
+ 
+
+- **Possible Causes**
+
+ The serial port has been used.
+
+- **Solutions**
+
+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
+ 
+
+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
+ 
+
+3. Click **Burn**, select the serial port, and start burning images again.
+
+ **Figure 4** Restarting burning
+
+
+ 
+
+
+## What should I do when Windows-based PC failed to be connected to the board?
+
+- **Symptom**
+
+ 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
+ 
+
+- **Possible Causes**
+
+ The board is disconnected from the Windows-based PC.
+
+ Windows Firewall does not allow Visual Studio Code to access the network.
+
+- **Solutions**
+
+1. Check whether the network cable is properly connected.
+2. Click **Windows Firewall**.
+
+ **Figure 6** 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
+ 
+
+4. Select the Visual Studio Code application
+
+ **Figure 8** 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
+ 
+
+
+## What should I do when the image failed to be burnt?
+
+- **Symptom**
+
+ The burning status is not displayed after clicking **Burn** and selecting a serial port.
+
+- **Possible Causes**
+
+ The IDE is not restarted after the DevEco plug-in is installed.
+
+- **Solutions**
+
+ Restart the IDE.
+
+
+## What should I do when the message indicating Python cannot be found is displayed during compilation and building?
+
+- **Symptom**
+
+ 
+
+
+- **Possible Cause 1**: Python is not installed.
+- **Solutions**
+
+ Install the Python environment by referring to [Installing a Python Environment](setting-up-a-development-environment.md#section126831816258).
+
+- **Possible Cause 2: **The soft link that points to the Python does not exist in the usr/bin directory.
+
+ 
+
+- **Solutions**
+
+ Run the following commands:
+
+ ```
+ # cd /usr/bin/
+ # which python3
+ # ln -s /usr/local/bin/python3 python
+ # python --version
+ ```
+
+ Example:
+
+ 
+
+
+## What should I do when no command output is displayed?
+
+- **Symptom**
+
+ The serial port shows that the connection has been established. After the board is restarted, nothing is displayed when you press **Enter**.
+
+- **Possible Cause 1**
+
+ The serial port is connected incorrectly.
+
+- **Solutions**
+
+ 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](developing-the-first-example-program-running-on-hi3516.md#l177d08e77bd441d38991da9be4572a74) in the **Running an Image** section to change the serial port number.
+
+
+- **Possible Cause 2**
+
+ The U-boot of the board is damaged.
+
+- **Solutions**
+
+ 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:
+
+
+1. Obtain the U-boot file.
+
+ > **NOTICE:**
+ >The U-boot file of the two boards can be obtained from the following paths, respectively.
+ >- Hi3516DV300: vendor\\hisi\\hi35xx\\hi3516dv300\\uboot\\out\\boot\\u-boot-hi3516dv300.bin
+ >- Hi3518EV300: vendor\\hisi\\hi35xx\\hi3518ev300\\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.
+
+ 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
+ 
+
+
diff --git a/docs-en/quick-start/faqs-3.md b/docs-en/quick-start/faqs-3.md
new file mode 100644
index 0000000000000000000000000000000000000000..2cc29b696542deb60dd79aa57288fbb7c93bd07c
--- /dev/null
+++ b/docs-en/quick-start/faqs-3.md
@@ -0,0 +1,175 @@
+# FAQs
+
+- [What should I do when the images failed to be burnt over the selected serial port?](#section1498892119619)
+- [What should I do when Windows-based PC failed to be connected to the board?](#section8512971816)
+- [What should I do when the image failed to be burnt?](#section1767804111198)
+- [What should I do when the message indicating Python cannot be found is displayed during compilation and building?](#en-us_topic_0000001053466255_section1039835245619)
+- [What should I do when no command output is displayed?](#en-us_topic_0000001053466255_section14871149155911)
+
+## What should I do when the images failed to be burnt over the selected serial port?
+
+- **Symptom**
+
+ **Error: Opening COMxx: Access denied** is displayed after clicking **Burn** and selecting a serial port.
+
+ **Figure 1** Failed to open the serial port
+ 
+
+- **Possible Causes**
+
+ The serial port has been used.
+
+- **Solutions**
+
+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
+ 
+
+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
+ 
+
+3. Click **Burn**, select the serial port, and start burning images again.
+
+ **Figure 4** Restarting burning
+
+
+ 
+
+
+## What should I do when Windows-based PC failed to be connected to the board?
+
+- **Symptom**
+
+ 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
+ 
+
+- **Possible Causes**
+
+ The board is disconnected from the Windows-based PC.
+
+ Windows Firewall does not allow Visual Studio Code to access the network.
+
+- **Solutions**
+
+1. Check whether the network cable is properly connected.
+2. Click **Windows Firewall**.
+
+ **Figure 6** 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
+ 
+
+4. Select the Visual Studio Code application
+
+ **Figure 8** 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
+ 
+
+
+## What should I do when the image failed to be burnt?
+
+- **Symptom**
+
+ The burning status is not displayed after clicking **Burn** and selecting a serial port.
+
+- **Possible Causes**
+
+ The IDE is not restarted after the DevEco plug-in is installed.
+
+- **Solutions**
+
+ Restart the IDE.
+
+
+## What should I do when the message indicating Python cannot be found is displayed during compilation and building?
+
+- **Symptom**
+
+ 
+
+
+- **Possible Cause 1**
+
+ Python is not installed.
+
+- **Solutions**
+
+ Install the Python environment by referring to [Installing a Python Environment](setting-up-a-development-environment-2.md#section918195118487).
+
+- **Possible Cause 2**
+
+ 
+
+- **Solutions**
+
+ Run the following commands:
+
+ ```
+ # cd /usr/bin/
+ # which python3
+ # ln -s /usr/local/bin/python3 python
+ # python --version
+ ```
+
+ Example:
+
+ 
+
+
+## What should I do when no command output is displayed?
+
+- **Symptom**
+
+ The serial port shows that the connection has been established. After the board is restarted, nothing is displayed when you press **Enter**.
+
+- **Possible Cause 1**
+
+ The serial port is connected incorrectly.
+
+- **Solutions**
+
+ 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](developing-the-first-example-program-running-on-hi3518.md#li744118533233) in the **Running an Image** section to change the serial port number.
+
+
+- **Possible Cause 2**
+
+ The U-boot of the board is damaged.
+
+- **Solutions**
+
+ 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:
+
+
+1. Obtain the U-boot file.
+
+ > **NOTICE:**
+ >The U-boot file of the two boards can be obtained from the following paths, respectively.
+ >- Hi3516DV300: vendor\\hisi\\hi35xx\\hi3516dv300\\uboot\\out\\boot\\u-boot-hi3516dv300.bin
+ >- Hi3518EV300: vendor\\hisi\\hi35xx\\hi3518ev300\\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.
+
+ 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
+ 
+
+
diff --git a/docs-en/quick-start/faqs.md b/docs-en/quick-start/faqs.md
index a8fb9deaf46bde688f259f939317f859808fb2ef..e786e969e620f7078e6b66728ff5bef9fc4b6f97 100755
--- a/docs-en/quick-start/faqs.md
+++ b/docs-en/quick-start/faqs.md
@@ -1,224 +1,286 @@
# FAQs
-1. What should I do when the message **configure: error: no acceptable C compiler found in $PATH** is displayed during Python 3 installation?
- - **Symptom**
+- [What should I do when the message is displayed during Python 3 installation?](#section1221016541119)
+- [What should I do when the message is displayed during Python 3 installation?](#section1913477181213)
+- [What should I do when the message is displayed during Python 3 installation?](#section108211415131210)
+- [What should I do when the message is displayed during Python 3 installation?](#section2062268124)
+- [What should I do when the message is displayed during compilation and building?](#section982315398121)
+- [What should I do when the message is displayed during compilation and building?](#section102035451216)
+- [What should I do when the message is displayed during compilation and building?](#section4498158162320)
+- [What should I do when the message is displayed during compilation and building?](#section11181036112615)
+- [What should I do when the message indicating Python cannot be found is displayed during compilation and building?](#section1571810194619)
+- [What should I do when an error with occurs during installation?](#section691681635814)
- 
+## What should I do when the message **configure: error: no acceptable C compiler found in $PATH** is displayed during Python 3 installation?
- - **Possible Causes**
+- **Symptom**
- **gcc** is not installed.
+ The following error occurs during Python3 installation:
- - **Solutions**
+ ```
+ configure: error: no acceptable C compiler found in $PATH. See 'config.log' for more details
+ ```
- 1. Run the **apt-get install gcc** command to install **gcc** online.
+- **Possible Causes**
- 2. After the installation, reinstall Python 3.
+ **gcc** is not installed.
+- **Solutions**
-2. What should I do when the message **-bash: make: command not found** is displayed during Python 3 installation?
- - **Symptom**
+ 1. Run the **apt-get install gcc** command to install **gcc** online.
- 
+ 2. After the installation, reinstall Python 3.
- - **Possible Causes**
- **make** is not installed.
+## What should I do when the message **-bash: make: command not found** is displayed during Python 3 installation?
- - **Solutions**
+- **Symptom**
- 1. Run the **apt-get install make** command to install **make** online.
+ The following error occurs during Python3 installation:
- 2. After the installation, reinstall Python 3.
+ ```
+ -bash: make: command not found
+ ```
+- **Possible Causes**
-3. What should I do when the message **zlib not available** is displayed during Python 3 installation?
- - **Symptom**
+ **make** is not installed.
- 
+- **Solutions**
- - **Possible Causes**
+ 1. Run the **apt-get install make** command to install **make** online.
- **zlib** is not installed.
+ 2. After the installation, reinstall Python 3.
- - **Solutions**
- Solution 1: Run the **apt-get install zlib** command to install **zlib** online.
+## What should I do when the message **zlib not available** is displayed during Python 3 installation?
- Solution 2: If the software source does not contain **zlib**, download the source code from [http://www.zlib.net/](http://www.zlib.net/).
+- **Symptom**
- 
+ The following error occurs during Python3 installation:
- Then run the following commands to install **zlib** offline:
+ ```
+ zipimport.ZipImportError: can't decompress data; zlib not avaliable
+ ```
- ```
- # tar xvf zlib-1.2.11.tar.gz
- # cd zlib-1.2.11
- # ./configure
- # make && make install
- ```
+- **Possible Causes**
- After the installation, reinstall Python 3.
+ **zlib** is not installed.
+- **Solutions**
-4. What should I do when the message **No module named '\_ctypes'** is displayed during Python 3 installation?
- - **Symptom**
+ Solution 1: Run the **apt-get install zlib** command to install **zlib** online.
- 
+ Solution 2: If the software source does not contain **zlib**, download the source code from [http://www.zlib.net/](http://www.zlib.net/).
+ 
- - **Possible Causes**
+ Then run the following commands to install **zlib** offline:
- **libffi** and **libffi-devel** are not installed.
+ ```
+ # tar xvf zlib-1.2.11.tar.gz
+ # cd zlib-1.2.11
+ # ./configure
+ # make && make install
+ ```
+ After the installation, reinstall Python 3.
- - **Solutions**
- 1. Run the **apt-get install libffi\* -y** command to install **libffi** and **libffi-devel** online.
+## What should I do when the message **No module named '\_ctypes'** is displayed during Python 3 installation?
- 2. After the installation, reinstall Python 3.
+- **Symptom**
+ The following error occurs during Python3 installation:
-5. What should I do when the message **No module named 'Crypto'** is displayed during compilation and building?
- - **Symptom**
+ ```
+ ModuleNotFoundError: No module named '_ctypes'
+ ```
- 
+- **Possible Causes**
- - **Possible Causes**
+ **libffi** and **libffi-devel** are not installed.
- **Crypto** is not installed.
+- **Solutions**
- - **Solutions**
+ 1. Run the **apt-get install libffi\* -y** command to install **libffi** and **libffi-devel** online.
- Solution 1: Run the **pip3 install Crypto** command to install **Crypto** online.
+ 2. After the installation, reinstall Python 3.
- Solution 2: Install **Crypto** offline.
- - Download the source code from [https://pypi.org/project/pycrypto/\#files](https://pypi.org/project/pycrypto/#files).
+## What should I do when the message **No module named 'Crypto'** is displayed during compilation and building?
- 
+- **Symptom**
- - 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.
+ The following error occurs during compilation and building:
+ ```
+ ModuleNotFoundError: No module named 'Crypto'
+ ```
-6. What should I do when the message **No module named 'ecdsa'** is displayed during compilation and building?
- - **Symptom**
- 
+- **Possible Causes**
+ **Crypto** is not installed.
- - **Possible Causes**
- **ecdsa** is not installed.
+- **Solutions**
+ Solution 1: Run the **pip3 install Crypto** command to install **Crypto** online.
- - **Solutions**
+ Solution 2: Install **Crypto** offline.
- Solution 1: Run the **pip3 install ecdsa** command to install **ecdsa** online.
+ - Download the source code from [https://pypi.org/project/pycrypto/\#files](https://pypi.org/project/pycrypto/#files).
- Solution 2: Install **ecdsa** offline.
+ 
- - Download the installation package from [https://pypi.org/project/ecdsa/\#files](https://pypi.org/project/ecdsa/#files).
+ - 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.
- 
- - 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.
+## What should I do when the message **No module named 'ecdsa'** is displayed during compilation and building?
+- **Symptom**
-7. What should I do when the message **Could not find a version that satisfies the requirement six\>=1.9.0** is displayed during compilation and building?
- - **Symptom**
+ The following error occurs during compilation and building:
- 
+ ```
+ ModuleNotFoundError: No module named 'ecdsa'
+ ```
- - **Possible Causes**
+- **Possible Causes**
- **six** is not installed.
+ **ecdsa** is not installed.
- - **Solutions**
+- **Solutions**
- Solution 1: Run the **pip3 install six** command to install **six** online.
+ Solution 1: Run the **pip3 install ecdsa** command to install **ecdsa** online.
- Solution 2: Install **six** offline.
+ Solution 2: Install **ecdsa** offline.
- - Download the installation package from [https://pypi.org/project/six/\#files](https://pypi.org/project/six/#files).
+ - Download the installation package from [https://pypi.org/project/ecdsa/\#files](https://pypi.org/project/ecdsa/#files).
- 
+ 
- - 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.
+ - 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.
-8. What should I do when the message **cannot find -lgcc** is displayed during compilation and building?
- - **Symptom**
+## What should I do when the message **Could not find a version that satisfies the requirement six\>=1.9.0** is displayed during compilation and building?
- 
+- **Symptom**
+ The following error occurs during compilation and building:
- - **Possible Causes**
+ ```
+ Could not find a version that satisfies the requirment six>=1.9.0
+ ```
- The PATH is incorrectly written by **gcc\_riscv32**, as shown in the following figure. There is an extra slash \(/\).
- 
+- **Possible Causes**
+ **six** is not installed.
- - **Solutions**
- Modify the PATH by deleting the slash \(/\).
+- **Solutions**
- 
+ Solution 1: Run the **pip3 install six** command to install **six** online.
+ Solution 2: Install **six** offline.
-9. What should I do when the message indicating Python cannot be found is displayed during compilation and building?
- - **Symptom**
+ - Download the installation package from [https://pypi.org/project/six/\#files](https://pypi.org/project/six/#files).
- 
+ 
+ - 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.
- - **Possible Cause 1:** Python is not installed.
- - **Solutions**
- Install Python by referring to [Installing a Python Environment](setting-up-a-development-environment.md#section126831816258).
+## What should I do when the message **cannot find -lgcc** is displayed during compilation and building?
- - **Possible Cause 2:** The soft link that points to the Python does not exist in the **usr/bin** directory.
+- **Symptom**
- 
+ The following error occurs during compilation and building:
- - **Solutions**
+ ```
+ riscv32-unknown-elf-ld: cannot find -lgcc
+ ```
- Run the following commands:
- ```
- # cd /usr/bin/
- # which python3
- # ln -s /usr/local/bin/python3 python
- # python --version
- ```
+- **Possible Causes**
- Example:
+ The PATH is incorrectly written by **gcc\_riscv32**. There is an extra slash \(/\).
- 
+ ```
+ ~/gcc_riscv32/bin/:/data/toolchain/
+ ```
-10. What should I do when an error with **lsb\_release** occurs during **kconfiglib** installation?
- - **Symptom**
+- **Solutions**
- The following error information is displayed during **kconfiglib** installation:
+ Modify the PATH by deleting the slash \(/\).
- "subprocess.CalledProcessError: Command '\('lsb\_release', '-a'\)' returned non-zero exit status 1."
+ ```
+ ~/gcc_riscv32/bin:/data/toolchain/
+ ```
- - **Possible Causes**
- The Python version matched with the **lsb\_release** module is different from the current Python version.
+## What should I do when the message indicating Python cannot be found is displayed during compilation and building?
- - **Solutions**
+- **Symptom**
- Run the **find / -name lsb\_release** command, for example, **sudo rm -rf /usr/bin/lsb\_release** to locate and delete **lsb\_release**.
+ The following error occurs during compilation and building:
+ ```
+ -bash: /usr/bin/python: No such file or directory
+ ```
+
+
+- **Possible Cause 1:** Python is not installed.
+- **Solutions**
+
+ Install Python by referring to [Installing a Python Environment](setting-up-a-development-environment.md#section126831816258).
+
+- **Possible Cause 2:** The soft link that points to the Python does not exist in the **usr/bin** directory.
+
+ 
+
+- **Solutions**
+
+ Run the following commands to add a soft link:
+
+ ```
+ # cd /usr/bin/
+ # which python3
+ # ln -s /usr/local/bin/python3 python
+ # python --version
+ ```
+
+ Example:
+
+ 
+
+
+## What should I do when an error with **lsb\_release** occurs during **kconfiglib** installation?
+
+- **Symptom**
+
+ The following error occurs during **kconfiglib** installation:
+
+ ```
+ subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.
+ ```
+
+- **Possible Causes**
+
+ The Python version matched with the **lsb\_release** module is different from the current Python version.
+
+- **Solutions**
+
+ Run the **find / -name lsb\_release** command, for example, **sudo rm -rf /usr/bin/lsb\_release** to locate and delete **lsb\_release**.
diff --git a/docs-en/quick-start/figures/3.png b/docs-en/quick-start/figures/3.png
new file mode 100644
index 0000000000000000000000000000000000000000..3b767f744e6e05e12017fdf155957511814931b7
Binary files /dev/null and b/docs-en/quick-start/figures/3.png differ
diff --git "a/docs-en/quick-start/figures/3516\346\255\243\351\235\242.png" "b/docs-en/quick-start/figures/3516\346\255\243\351\235\242.png"
new file mode 100644
index 0000000000000000000000000000000000000000..1ccb47f20022261cc291e8b435f263c00e8d4a27
Binary files /dev/null and "b/docs-en/quick-start/figures/3516\346\255\243\351\235\242.png" differ
diff --git "a/docs-en/quick-start/figures/3861\346\255\243\351\235\242.png" "b/docs-en/quick-start/figures/3861\346\255\243\351\235\242.png"
new file mode 100644
index 0000000000000000000000000000000000000000..ed771826a71507b493cccdd35f58865769b40220
Binary files /dev/null and "b/docs-en/quick-start/figures/3861\346\255\243\351\235\242.png" differ
diff --git "a/docs-en/quick-start/figures/3861\350\203\214\351\235\242.png" "b/docs-en/quick-start/figures/3861\350\203\214\351\235\242.png"
new file mode 100644
index 0000000000000000000000000000000000000000..8a4060e64fdd059143a3ec1adb9ee6937fa4af84
Binary files /dev/null and "b/docs-en/quick-start/figures/3861\350\203\214\351\235\242.png" differ
diff --git a/docs-en/quick-start/figures/4.png b/docs-en/quick-start/figures/4.png
new file mode 100644
index 0000000000000000000000000000000000000000..8ab67d9dc25c3fbb4c6d1ae1c719adfdc4d82bfe
Binary files /dev/null and b/docs-en/quick-start/figures/4.png differ
diff --git a/docs-en/quick-start/figures/changjian1.png b/docs-en/quick-start/figures/changjian1.png
new file mode 100644
index 0000000000000000000000000000000000000000..208a4fbace342514f59f0000c4d50f5dc9321f0f
Binary files /dev/null and b/docs-en/quick-start/figures/changjian1.png differ
diff --git a/docs-en/quick-start/figures/chuankou1-1.png b/docs-en/quick-start/figures/chuankou1-1.png
new file mode 100644
index 0000000000000000000000000000000000000000..485cb3054c0c08edd6738256f27ad629ce65e1d7
Binary files /dev/null and b/docs-en/quick-start/figures/chuankou1-1.png differ
diff --git a/docs-en/quick-start/figures/en-us_image_0000001056648688.png b/docs-en/quick-start/figures/en-us_image_0000001056648688.png
new file mode 100644
index 0000000000000000000000000000000000000000..6237ab89e03d496aa9ce4b043a7bd05c37f79b36
Binary files /dev/null and b/docs-en/quick-start/figures/en-us_image_0000001056648688.png differ
diff --git a/docs-en/quick-start/figures/en-us_image_0000001057097113.png b/docs-en/quick-start/figures/en-us_image_0000001057097113.png
new file mode 100644
index 0000000000000000000000000000000000000000..6d3b3e755e0cb412c67d232c84823423a7e7b0a6
Binary files /dev/null and b/docs-en/quick-start/figures/en-us_image_0000001057097113.png differ
diff --git a/docs-en/quick-start/figures/en-us_image_0000001057194144.png b/docs-en/quick-start/figures/en-us_image_0000001057194144.png
new file mode 100644
index 0000000000000000000000000000000000000000..5df511ab77558fa4acaa3f990190fc0ff6d9034e
Binary files /dev/null and b/docs-en/quick-start/figures/en-us_image_0000001057194144.png differ
diff --git a/docs-en/quick-start/figures/en-us_image_0000001057235010.png b/docs-en/quick-start/figures/en-us_image_0000001057235010.png
new file mode 100644
index 0000000000000000000000000000000000000000..09f33e3992c0c1d78713eea949e4b9a19f5802ec
Binary files /dev/null and b/docs-en/quick-start/figures/en-us_image_0000001057235010.png differ
diff --git a/docs-en/quick-start/figures/en-us_image_0000001057311476.png b/docs-en/quick-start/figures/en-us_image_0000001057311476.png
new file mode 100644
index 0000000000000000000000000000000000000000..6d3b3e755e0cb412c67d232c84823423a7e7b0a6
Binary files /dev/null and b/docs-en/quick-start/figures/en-us_image_0000001057311476.png differ
diff --git a/docs-en/quick-start/figures/en-us_image_0000001057354060.png b/docs-en/quick-start/figures/en-us_image_0000001057354060.png
new file mode 100644
index 0000000000000000000000000000000000000000..a8042b42e6a08be77279791dd16d3a8883b85759
Binary files /dev/null and b/docs-en/quick-start/figures/en-us_image_0000001057354060.png differ
diff --git a/docs-en/quick-start/figures/en-us_image_0000001057392985.png b/docs-en/quick-start/figures/en-us_image_0000001057392985.png
new file mode 100644
index 0000000000000000000000000000000000000000..97166251067bd31ba7b1af39d35f9af86af088d1
Binary files /dev/null and b/docs-en/quick-start/figures/en-us_image_0000001057392985.png differ
diff --git a/docs-en/quick-start/figures/en-us_image_0000001057543065.png b/docs-en/quick-start/figures/en-us_image_0000001057543065.png
new file mode 100644
index 0000000000000000000000000000000000000000..41d999023ac3a293da559e18c204abe156a19206
Binary files /dev/null and b/docs-en/quick-start/figures/en-us_image_0000001057543065.png differ
diff --git a/docs-en/quick-start/figures/en-us_image_0000001057621705.png b/docs-en/quick-start/figures/en-us_image_0000001057621705.png
new file mode 100644
index 0000000000000000000000000000000000000000..381c3db41d6ef82b7074a5c9bcdfb3ad82795fb9
Binary files /dev/null and b/docs-en/quick-start/figures/en-us_image_0000001057621705.png differ
diff --git a/docs-en/quick-start/figures/en-us_image_0000001057911116.png b/docs-en/quick-start/figures/en-us_image_0000001057911116.png
new file mode 100644
index 0000000000000000000000000000000000000000..92e17f1fa91594ad5df1a07aa1bcfaf509480784
Binary files /dev/null and b/docs-en/quick-start/figures/en-us_image_0000001057911116.png differ
diff --git a/docs-en/quick-start/figures/en-us_image_0000001057952739.png b/docs-en/quick-start/figures/en-us_image_0000001057952739.png
new file mode 100644
index 0000000000000000000000000000000000000000..727cdebbdf5ada0098243d7e253c4b2be11b688d
Binary files /dev/null and b/docs-en/quick-start/figures/en-us_image_0000001057952739.png differ
diff --git a/docs-en/quick-start/figures/en-us_image_0000001058192356.png b/docs-en/quick-start/figures/en-us_image_0000001058192356.png
new file mode 100644
index 0000000000000000000000000000000000000000..92e17f1fa91594ad5df1a07aa1bcfaf509480784
Binary files /dev/null and b/docs-en/quick-start/figures/en-us_image_0000001058192356.png differ
diff --git a/docs-en/quick-start/figures/en-us_image_0000001058781464.png b/docs-en/quick-start/figures/en-us_image_0000001058781464.png
new file mode 100644
index 0000000000000000000000000000000000000000..9284df45bb1415d84f0325df85b4eb5c223281e8
Binary files /dev/null and b/docs-en/quick-start/figures/en-us_image_0000001058781464.png differ
diff --git a/docs-en/quick-start/figures/en-us_image_0000001058781525.png b/docs-en/quick-start/figures/en-us_image_0000001058781525.png
new file mode 100644
index 0000000000000000000000000000000000000000..1b002b247b704150040e90ecb149d782ba8db3a8
Binary files /dev/null and b/docs-en/quick-start/figures/en-us_image_0000001058781525.png differ
diff --git a/docs-en/quick-start/figures/en-us_image_0000001058939672.png b/docs-en/quick-start/figures/en-us_image_0000001058939672.png
new file mode 100644
index 0000000000000000000000000000000000000000..b6bc36af5339ea5a4f67640e69836965b3776e17
Binary files /dev/null and b/docs-en/quick-start/figures/en-us_image_0000001058939672.png differ
diff --git a/docs-en/quick-start/figures/hardware-connections-0.png b/docs-en/quick-start/figures/hardware-connections-0.png
index c4636401a20e37794d8ec28dc173e9308b2b72db..b5dfc506b818515555959aa29a297185d816ff0b 100755
Binary files a/docs-en/quick-start/figures/hardware-connections-0.png and b/docs-en/quick-start/figures/hardware-connections-0.png differ
diff --git a/docs-en/quick-start/figures/network-and-firewall-setting.png b/docs-en/quick-start/figures/network-and-firewall-setting.png
index a5dad3f46c2ce473a845f9be66dcbd9b021a6eff..9487849c5f8a860e9680016ff3657404b2c0ad6e 100755
Binary files a/docs-en/quick-start/figures/network-and-firewall-setting.png and b/docs-en/quick-start/figures/network-and-firewall-setting.png differ
diff --git a/docs-en/quick-start/figures/opening-the-deveco-serial-port.png b/docs-en/quick-start/figures/opening-the-deveco-serial-port.png
new file mode 100644
index 0000000000000000000000000000000000000000..2a375124a6b7fa03d463d869b788980865ab557d
Binary files /dev/null and b/docs-en/quick-start/figures/opening-the-deveco-serial-port.png differ
diff --git a/docs-en/quick-start/figures/serial-port-displayed-after-the-u-boot-is-burnt-2.png b/docs-en/quick-start/figures/serial-port-displayed-after-the-u-boot-is-burnt-2.png
new file mode 100644
index 0000000000000000000000000000000000000000..ad4fd618860ca9f79e9bdc39436c3b2f9cdb72de
Binary files /dev/null and b/docs-en/quick-start/figures/serial-port-displayed-after-the-u-boot-is-burnt-2.png differ
diff --git a/docs-en/quick-start/figures/setting-serial-port-parameters.png b/docs-en/quick-start/figures/setting-serial-port-parameters.png
new file mode 100644
index 0000000000000000000000000000000000000000..179b1e29bcdd3af8c1947d1f72c90b469c320aa8
Binary files /dev/null and b/docs-en/quick-start/figures/setting-serial-port-parameters.png differ
diff --git "a/docs-en/quick-start/figures/usb\347\203\247\345\275\225-6.png" "b/docs-en/quick-start/figures/usb\347\203\247\345\275\225-6.png"
new file mode 100644
index 0000000000000000000000000000000000000000..8b6380d17ee95c006b4d146b32720cc283201359
Binary files /dev/null and "b/docs-en/quick-start/figures/usb\347\203\247\345\275\225-6.png" differ
diff --git "a/docs-en/quick-start/figures/\347\237\251\345\275\242\345\244\207\344\273\275-292.png" "b/docs-en/quick-start/figures/\347\237\251\345\275\242\345\244\207\344\273\275-292.png"
new file mode 100644
index 0000000000000000000000000000000000000000..fcc5050822e05cfb73bd887aa61cd7d4a60ac5ad
Binary files /dev/null and "b/docs-en/quick-start/figures/\347\237\251\345\275\242\345\244\207\344\273\275-292.png" differ
diff --git "a/docs-en/quick-start/figures/\347\275\221\345\217\243\347\203\247\345\275\225-1.png" "b/docs-en/quick-start/figures/\347\275\221\345\217\243\347\203\247\345\275\225-1.png"
new file mode 100644
index 0000000000000000000000000000000000000000..6cff00f679b886b7a9215f2517ba0f833e0ea1d8
Binary files /dev/null and "b/docs-en/quick-start/figures/\347\275\221\345\217\243\347\203\247\345\275\225-1.png" differ
diff --git a/docs-en/quick-start/hi3516-development-board.md b/docs-en/quick-start/hi3516-development-board.md
index e03fae9be0a47ea282d738c60345ddc4b4bc4641..84a7c72ea89a19d2bf4da280d60d8769c1fdc760 100755
--- a/docs-en/quick-start/hi3516-development-board.md
+++ b/docs-en/quick-start/hi3516-development-board.md
@@ -2,12 +2,12 @@
- **[Introduction to the Hi3516 Development Board](introduction-to-the-hi3516-development-board.md)**
-- **[Setting up a Hi3516 Board Environment](setting-up-a-hi3516-board-environment.md)**
+- **[Setting up a Development Environment](setting-up-a-development-environment-0.md)**
- **[Developing the First Example Program Running on Hi3516](developing-the-first-example-program-running-on-hi3516.md)**
- **[Developing the First Driver Running on Hi3516](developing-the-first-driver-running-on-hi3516.md)**
-- **[FAQs](faqs-0.md)**
+- **[FAQs](faqs-1.md)**
diff --git a/docs-en/quick-start/hi3518-development-board.md b/docs-en/quick-start/hi3518-development-board.md
index dee1bba33a80b6fb90e99e91428508ecc67a9ae0..7f63f4296d23bea5ba036c7ad4253efb503421bf 100755
--- a/docs-en/quick-start/hi3518-development-board.md
+++ b/docs-en/quick-start/hi3518-development-board.md
@@ -2,10 +2,10 @@
- **[Introduction to the Hi3518 Development Board](introduction-to-the-hi3518-development-board.md)**
-- **[Setting Up a Development Environment](setting-up-a-development-environment-1.md)**
+- **[Setting Up a Development Environment](setting-up-a-development-environment-2.md)**
-- **[Developing the First Example Program running on Hi3518](developing-the-first-example-program-running-on-hi3518.md)**
+- **[Developing the First Example Program Running on Hi3518](developing-the-first-example-program-running-on-hi3518.md)**
-- **[FAQs](faqs-2.md)**
+- **[FAQs](faqs-3.md)**
diff --git a/docs-en/quick-start/introduction-to-the-hi3516-development-board.md b/docs-en/quick-start/introduction-to-the-hi3516-development-board.md
index 002047c9f779f905a152de6c9e0d1ca25855cba0..3a825d4b836ec3e4b0c87d52bb18be4846a19197 100755
--- a/docs-en/quick-start/introduction-to-the-hi3516-development-board.md
+++ b/docs-en/quick-start/introduction-to-the-hi3516-development-board.md
@@ -1,11 +1,16 @@
# Introduction to the Hi3516 Development Board
+- [Hi3516](#section047719215429)
+- [Development Board Specifications](#section15192203316533)
+
## Hi3516
Hi3516DV300 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 latest 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 Hi3516 board
-
+**Figure 1** Front view of the Hi3516DV300 board
+
+
+
## Development Board Specifications
diff --git a/docs-en/quick-start/introduction-to-the-hi3518-development-board.md b/docs-en/quick-start/introduction-to-the-hi3518-development-board.md
index 88eabfeda015606b4bdd99518c41c78aaa8158e3..9a4250be86efeb9cc451209a50065729e4dc67a9 100755
--- a/docs-en/quick-start/introduction-to-the-hi3518-development-board.md
+++ b/docs-en/quick-start/introduction-to-the-hi3518-development-board.md
@@ -1,5 +1,8 @@
# Introduction to the Hi3518 Development Board
+- [Hi3518](#section14862341445)
+- [Development Board Specifications](#section765112478446)
+
## Hi3518
Hi3518EV300 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 latest 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.
diff --git a/docs-en/quick-start/introduction-to-the-hi3861-development-board.md b/docs-en/quick-start/introduction-to-the-hi3861-development-board.md
index d7b4511674eff9805335bf43a3f74fe6f17dab4c..dd9b4064be063158bc958d2acaa9f4a507cdb7db 100755
--- a/docs-en/quick-start/introduction-to-the-hi3861-development-board.md
+++ b/docs-en/quick-start/introduction-to-the-hi3861-development-board.md
@@ -1,5 +1,10 @@
# Introduction to the Hi3861 Development Board
+- [Hi3861](#section187215231809)
+- [Resources and Constraints](#section82610215014)
+- [Development Board Specifications](#section169054431017)
+- [Key Features](#section1317173016507)
+
This document describes how to quickly start with the Hi3861 WLAN module, including the development environment setup, version compiling and building, device burning, source code modification, debugging and verification. Following this guide, you can start developing services with the basic understanding of the Hi3861 WLAN module.
## Hi3861
@@ -7,12 +12,16 @@ This document describes how to quickly start with the Hi3861 WLAN module, includ
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
-
+
+
+
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
-
+
+
+
- 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.
diff --git a/docs-en/quick-start/setting-up-a-development-environment-0.md b/docs-en/quick-start/setting-up-a-development-environment-0.md
new file mode 100644
index 0000000000000000000000000000000000000000..7345f35e9847381a29008459ab30c9ff5f1cd7e4
--- /dev/null
+++ b/docs-en/quick-start/setting-up-a-development-environment-0.md
@@ -0,0 +1,569 @@
+# Setting up a Development Environment
+
+- [Environment Requirements](#section179175261196)
+- [Hardware](#section185788208272)
+- [Software](#section3343841379)
+- [Build Tools for Linux](#section20374218687)
+- [Development Tools for Windows](#section11161833102716)
+- [Installing the Basic Compilation Environment](#section497484245614)
+- [Connecting to a Linux Server](#section73731485127)
+- [Changing Linux Shell to Bash](#section11741048173311)
+- [Installing a Python Environment](#section16270312203916)
+- [Installing a File Packing Tool](#section755831544314)
+- [Installing Compilation Tools](#section7227629152013)
+- [Installing gn](#section1737610811213)
+- [Installing ninjah](#section103777819124)
+- [Installing the LLVM Toolchain](#section11613193644213)
+- [Installing hc-gen](#section139624410163)
+- [Installing the JVM](#section1413015314289)
+- [Installing the HAP Packing Tool](#section137261201916)
+- [Installing the HAP Signature Tool](#section6880458114617)
+- [Installing the IDE Development Tool](#section1995840162515)
+
+## Environment Requirements
+
+## Hardware
+
+- Linux server
+- Windows workstation \(host computer\)
+- Hi3516DV300 IoT camera development board
+- USB-to-serial cable and network cable \(The Windows workstation is connected to Hi3516DV300 development board through the USB-to-serial cable and network cable.\)
+
+[Figure 1](#fa54d47112b684c65b3dbf1779413545a) shows the hardware connections.
+
+**Figure 1** Hardware connections
+
+
+
+
+## Software
+
+**Table 1** Platforms required for the Hi3516DV300 development board
+
+
+Hardware
+ |
+Software
+ |
+Description
+ |
+Remarks
+ |
+
+
+Linux compile server
+ |
+Operating system
+ |
+Ubuntu 16.04 64-bit or later is used for the Linux OS, and bash is used as the shell.
+ NOTE: Common software such as samba and vim is installed in the OS by default. Adaptation is required to support Linux file sharing.
+
+ |
+You can develop programs on the Windows workstation or on the Linux server through remote login.
+ |
+
+Windows workstation
+ |
+Operating system
+ |
+Windows XP/Windows7/Windows10
+ |
+
+USB-to-Serial adapter driver
+ |
+http://www.hihope.org/download/AllDocuments
+Driver name: USB-to-Serial Comm Port.exe
+ |
+
+
+
+
+## Build Tools for Linux
+
+The following table describes the common tools required for Linux and how to obtain them.
+
+**Table 2** Development tools and obtaining methods
+
+
+
+
+## Development Tools for Windows
+
+**Table 3** Development tools for the Windows workstation
+
+
+Development Tool
+ |
+Description
+ |
+How to Obtain
+ |
+
+
+Visual Studio Code
+ |
+Edits codes.
+ |
+https://code.visualstudio.com/
+ |
+
+HUAWEI DevEco Device Tool
+ |
+Functions as the integrated development environment (IDE) to provide code compilation, burning, and debugging. C and C++ languages are supported.
+ NOTE: HUAWEI DevEco Device Tool is a one-stop IDE provided by OpenHarmony for smart device developers. You can customize OpenHarmony components on it as required, HUAWEI DevEco Device Tool is deployed on Visual Studio Code as a plug-in.
+
+ |
+https://device.harmonyos.com/en/ide
+ |
+
+
+
+
+## Installing the Basic Compilation Environment
+
+## Connecting to a Linux Server
+
+Using PuTTY to log in to a Linux server from a PC running Windows
+
+1. Open [PuTTY](https://www.putty.org/), enter the IP address of the Linux server, and click **Open**.
+
+ **Figure 2** PuTTY configuration
+ 
+
+2. Click **Yes** in the PuTTY **Security Alert** dialog box.
+3. Enter the account and password.
+
+ **Figure 3** Login
+ 
+
+4. The login is successful.
+
+ **Figure 4** Successful login
+ 
+
+
+## Changing Linux Shell to Bash
+
+Run the following command to check whether bash is used as the shell:
+
+```
+ls -l /bin/sh
+```
+
+If **/bin/sh -\> bash** is not displayed, do as follows to change shell to bash.
+
+**Method 1:** Run the following command on the device and then click **No**.
+
+```
+sudo dpkg-reconfigure dash
+```
+
+**Method 2:** Run the **rm -rf /bin/sh** command to delete sh and then run the sudo **ln -s /bin/bash /bin/sh** command to create a new soft link.
+
+```
+sudo rm -rf /bin/sh
+sudo ln -s /bin/bash /bin/sh
+```
+
+## Installing a Python Environment
+
+1. Start a Linux server.
+2. Run the following command to check the Python version \(Python 3.7 or later is required\):
+
+ ```
+ python3 --version
+ ```
+
+ Do as follows to install Python, for example, Python 3.8.
+
+ 1. Run the following command to 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, download the installation package and install Python.
+
+ 1. Run the following command to install Python environment dependencies \(gcc, g++, make, zlib, libffi\):
+
+ ```
+ sudo apt-get install gcc && sudo apt-get install g++ && sudo apt-get install make && sudo apt-get install zlib* && sudo apt-get install libffi-dev
+ ```
+
+ 1. Obtain the [Python3.8.5 installation package](https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz), save it to the Linux server, and run the following command:
+
+ ```
+ tar -xvzf Python-3.8.5.tgz && cd Python-3.8.5 && sudo ./configure && sudo make && sudo make install
+ ```
+
+
+
+3. After Python is installed, link the Python path to **/usr/bin/python**:
+
+ Run the following command to check whether Python is soft linked to Python3:
+
+ ```
+ python --version
+ ```
+
+ If the command output is not **python 3.8.5**, run the following command to check the directory where Python3.8 is stored:
+
+ ```
+ which python3.8
+ ```
+
+ Replace **python3.8-path** in the following command with the output path of the **which python3.8** command.
+
+ ```
+ cd /usr/bin && sudo rm python && sudo ln -s python3.8-path python && python --version
+ ```
+
+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
+ ```
+
+
+5. Run the following command to install setuptools:
+
+ ```
+ pip3 install setuptools
+ ```
+
+6. Install the GUI menuconfig tool \(Kconfiglib\). You are advised to install Kconfiglib 13.2.0 or later.
+ - **Command line:**
+
+ ```
+ sudo pip3 install kconfiglib
+ ```
+
+
+ - **Installation package:**
+ 1. Download the .whl file \(for example, **kconfiglib-13.2.0-py2.py3-none-any.whl**\).
+
+ Download path: [https://pypi.org/project/kconfiglib\#files](https://pypi.org/project/kconfiglib#files)
+
+
+ 1. Run the following command to install the .whl file:
+
+ ```
+ sudo pip3 install kconfiglib-13.2.0-py2.py3-none-any.whl
+ ```
+
+
+
+
+## Installing a File Packing Tool
+
+1. Start a Linux server.
+2. Run the following command to install **dosfstools**:
+
+ ```
+ sudo apt-get install dosfstools
+ ```
+
+3. Run the following command to install **mtools**:
+
+ ```
+ sudo apt-get install mtools
+ ```
+
+4. Run the following command to install **mtd-utils**:
+
+ ```
+ sudo apt-get install mtd-utils
+ ```
+
+
+## Installing Compilation Tools
+
+> **NOTICE:**
+>- If you obtain the source code using an HPM component or HPM CLI tool, compilation tools like **gn**, **ninja**, **LLVM**, and **hc-gen** are not required.
+>- \(Recommended\) If you obtain the source code through an image site or a code repository, compilation tools like **gn**, **ninja**, **LLVM**, and **hc-gen** need to be installed.
+> When installing **gn**, **ninja**, **LLVM**, and **hc-gen**, ensure that the environment variable paths of the compilation tools are unique.
+
+## Installing gn
+
+1. Start a Linux server.
+2. Download [gn](https://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar).
+3. Run the following command to decompress the gn installation package to **\~/gn**.
+
+ ```
+ tar -xvf gn.1523.tar -C ~/
+ ```
+
+4. Set an environment variable by performing the following steps. Open the **\~/.bashrc** file in Vim first.
+
+ ```
+ vim ~/.bashrc
+ ```
+
+ Copy the following command to the last line of the **.bashrc** file, save the file, and exit.
+
+ ```
+ export PATH=~/gn:$PATH
+ ```
+
+5. Run the following command to validate the environment variable.
+
+ ```
+ source ~/.bashrc
+ ```
+
+
+## Installing ninjah
+
+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. Run the following command to decompress the ninja installation package to **\~/ninja**.
+
+ ```
+ tar -xvf ninja.1.9.0.tar -C ~/
+ ```
+
+4. Set an environment variable by performing the following steps. Open the **\~/.bashrc** file in Vim first.
+
+ ```
+ vim ~/.bashrc
+ ```
+
+ Copy the following command to the last line of the **.bashrc** file, save the file, and exit.
+
+ ```
+ export PATH=~/ninja:$PATH
+ ```
+
+5. Run the following command to validate the environment variable.
+
+ ```
+ source ~/.bashrc
+ ```
+
+
+## Installing the LLVM Toolchain
+
+1. Start a Linux server.
+2. Download [LLVM](http://tools.harmonyos.com/mirrors/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar).
+3. Run the following command to decompress the LLVM installation package to **\~/llvm**:
+
+ ```
+ tar -xvf llvm-linux-9.0.0-34042.tar -C ~/
+ ```
+
+4. Set an environment variable by performing the following steps. Open the **\~/.bashrc** file in Vim first.
+
+ ```
+ 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. Run the following command to validate the environment variable:
+
+ ```
+ source ~/.bashrc
+ ```
+
+
+## Installing hc-gen
+
+1. Start a Linux server.
+2. Download [hc-gen](https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar).
+3. Run the following command to decompress the hc-gen installation package to **\~/hc-gen** on the Linux server:
+
+ ```
+ tar -xvf hc-gen-0.65-linux.tar -C ~/
+ ```
+
+4. Set an environment variable by performing the following steps. Open the **\~/.bashrc** file in Vim first.
+
+ ```
+ vim ~/.bashrc
+ ```
+
+ Copy the following command to the last line of the **.bashrc** file, save the file, and exit.
+
+ ```
+ export PATH=~/hc-gen:$PATH
+ ```
+
+5. Run the following command to validate the environment variable:
+
+ ```
+ source ~/.bashrc
+ ```
+
+
+## Installing the JVM
+
+1. Start a Linux server.
+2. Run the following command to install the Java Runtime Environment \(JRE\):
+
+ ```
+ sudo apt-get install default-jre
+ ```
+
+3. Run the following command to install the Java Development Kit \(JDK\):
+
+ ```
+ sudo apt-get install default-jdk
+ ```
+
+
+## Installing the HAP Packing Tool
+
+The HAP packing tool is used for packaging system applications during the compilation of OpenHarmony. To install this tool, perform the following operations:
+
+1. Start a Linux server.
+2. Install the JVM before using the HAP packing tool.
+3. [Download the HAP packing tool](https://repo.huaweicloud.com/harmonyos/develop_tools/hmos_app_packing_tool.jar).
+4. Copy **hmos\_app\_packing\_tool.jar** to the **\~/developtools** directory on the Linux server.
+5. Set an environment variable by performing the following steps. Open the **\~/.bashrc** file in Vim first.
+
+ ```
+ vim ~/.bashrc
+ ```
+
+ Copy the following command to the last line of the **.bashrc** file, save the file, and exit.
+
+ ```
+ export PATH=~/developtools:$PATH
+ ```
+
+6. Run the following command to validate the environment variable:
+
+ ```
+ source ~/.bashrc
+ ```
+
+
+## Installing the HAP Signature Tool
+
+The HAP signature tool is used for signing system applications that have been packaged during the compilation of OpenHarmony. To install this tool, perform the following operations:
+
+1. Start a Linux server.
+2. [Download the HAP signature tool](https://repo.huaweicloud.com/harmonyos/develop_tools/hapsigntoolv2.jar).
+3. Copy **hapsigntoolv2.jar** to the **\~/developtools** directory on the Linux server.
+4. Set an environment variable by performing the following steps. Open the **\~/.bashrc** file in Vim first.
+
+ ```
+ vim ~/.bashrc
+ ```
+
+ Copy the following command to the last line of the **.bashrc** file, save the file, and exit.
+
+ ```
+ export PATH=~/developtools:$PATH
+ ```
+
+5. Run the following command to validate the environment variable:
+
+ ```
+ source ~/.bashrc
+ ```
+
+
+## Installing the IDE Development Tool
+
+The OpenHarmony IDE Development Tool \(HUAWEI DevEco Device Tool\) integrates the capabilities of terminal tools. For details about how to install the tool, see [Preparations ](https://device.harmonyos.com/en/docs/ide/user-guides/tool_install-0000001050164976)and [Importing and Configuring a Project](https://device.harmonyos.com/en/docs/ide/user-guides/import_project-0000001050164980).
+
diff --git a/docs-en/quick-start/setting-up-a-development-environment-2.md b/docs-en/quick-start/setting-up-a-development-environment-2.md
new file mode 100644
index 0000000000000000000000000000000000000000..4ecabaec95b7abc0196cf20ddb732960666ad656
--- /dev/null
+++ b/docs-en/quick-start/setting-up-a-development-environment-2.md
@@ -0,0 +1,497 @@
+# Setting Up a Development Environment
+
+- [Environment Requirements](#section1724111409282)
+- [Hardware](#section185788208272)
+- [Software](#section383442213405)
+- [Build Tools for Linux](#section11111412465)
+- [Development Tools for Windows](#section11161833102716)
+- [Installing the Basic Compilation Environment](#section7813043104310)
+- [Connecting to a Linux Server](#section111021456154718)
+- [Changing Linux Shell to Bash](#section980212574810)
+- [Installing a Python Environment](#section918195118487)
+- [Installing a File Packing Tool](#section145881557185214)
+- [Installing Compilation Tools](#section7227629152013)
+- [Installing gn](#section119641436125219)
+- [Installing ninjah](#section96781928145213)
+- [Installing the LLVM Toolchain](#section667822819521)
+- [Installing hc-gen](#section201517625210)
+- [Installing the IDE Development Tool](#section188621583120)
+
+## Environment Requirements
+
+## Hardware
+
+- Linux server
+- Windows workstation \(host computer\)
+- Hi3518EV300 IoT camera development board
+- USB-to-serial cable and network cable \(The Windows workstation is connected to the Hi3518EV300 development board through the USB-to-serial cable and network cable.\)
+
+ [Figure 1](#fig8211468392) shows the hardware connections.
+
+
+**Figure 1** Hardware connections
+
+
+## Software
+
+**Table 1** Platforms required for the Hi3518EV300 development board
+
+
+Hardware
+ |
+Software
+ |
+Description
+ |
+Remarks
+ |
+
+
+Linux compile server
+ |
+Operating system
+ |
+Ubuntu 16.04 64-bit or later is used for the Linux OS, and bash is used as the shell.
+ NOTE: Common software such as samba and vim is installed in the OS by default. Adaptation is required to support Linux file sharing.
+
+ |
+You can develop programs on the Windows workstation or on the Linux server through remote login.
+ |
+
+Windows workstation
+
+ |
+Operating system
+ |
+Windows XP/Windows7/Windows10
+ |
+
+USB-to-Serial adapter driver
+ |
+http://www.hihope.org/download/AllDocuments
+Driver name: USB-to-Serial Comm Port.exe
+ |
+
+
+
+
+## Build Tools for Linux
+
+The following table describes the common tools required for Linux and how to obtain them.
+
+**Table 2** Development tools and obtaining methods
+
+
+
+
+## Development Tools for Windows
+
+**Table 3** Development tools for the Windows workstation
+
+
+Development Tool
+ |
+Description
+ |
+How to Obtain
+ |
+
+
+Visual Studio Code
+ |
+Edits codes.
+ |
+https://code.visualstudio.com/
+ |
+
+HUAWEI DevEco Device Tool
+ |
+Functions as the integrated development environment (IDE) to provide code compilation, burning, and debugging. C and C++ languages are supported.
+ NOTE: HUAWEI DevEco Device Tool is a one-stop IDE provided by OpenHarmony for smart device developers. You can customize OpenHarmony components on it as required, HUAWEI DevEco Device Tool is deployed on Visual Studio Code as a plug-in.
+
+ |
+https://device.harmonyos.com/en/ide
+ |
+
+
+
+
+## Installing the Basic Compilation Environment
+
+## Connecting to a Linux Server
+
+Using PuTTY to log in to a Linux server from a PC running Windows
+
+1. Open [PuTTY](https://www.putty.org/), enter the IP address of the Linux server, and click **Open**.
+
+ **Figure 2** PuTTY configuration
+ 
+
+2. Click **Yes** in the PuTTY **Security Alert** dialog box.
+3. Enter the account and password.
+
+ **Figure 3** Login
+ 
+
+4. The login is successful.
+
+ **Figure 4** Successful login
+ 
+
+
+## Changing Linux Shell to Bash
+
+Run the following command to check whether bash is used as the shell:
+
+```
+ls -l /bin/sh
+```
+
+If **/bin/sh -\> bash** is not displayed, do as follows to change shell to bash.
+
+**Method 1:** Run the following command on the device and then click **No**.
+
+```
+sudo dpkg-reconfigure dash
+```
+
+**Method 2:** Run the **rm -rf /bin/sh** command to delete sh and then run the sudo **ln -s /bin/bash /bin/sh** command to create a new soft link.
+
+```
+sudo rm -rf /bin/sh
+sudo ln -s /bin/bash /bin/sh
+```
+
+## Installing a Python Environment
+
+1. Start a Linux server.
+2. Run the following command to check the Python version \(Python 3.7 or later is required\):
+
+ ```
+ python3 --version
+ ```
+
+ Do as follows to install Python, for example, Python 3.8.
+
+ 1. Run the following command to 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, download the installation package and install Python.
+
+ 1. Run the following command to install Python environment dependencies \(gcc, g++, make, zlib, libffi\):
+
+ ```
+ sudo apt-get install gcc && sudo apt-get install g++ && sudo apt-get install make && sudo apt-get install zlib* && sudo apt-get install libffi-dev
+ ```
+
+ 1. Obtain the [Python3.8.5 installation package](https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz), save it to the Linux server, and run the following command:
+
+ ```
+ tar -xvzf Python-3.8.5.tgz && cd Python-3.8.5 && sudo ./configure && sudo make && sudo make install
+ ```
+
+
+
+3. After Python is installed, link the Python path to **/usr/bin/python**:
+
+ Run the following command to check whether Python is soft linked to Python3:
+
+ ```
+ python --version
+ ```
+
+ If the command output is not **python 3.8.5**, run the following command to check the directory where Python3.8 is stored:
+
+ ```
+ which python3.8
+ ```
+
+ Replace **python3.8-path** in the following command with the output path of the **which python3.8** command.
+
+ ```
+ cd /usr/bin && sudo rm python && sudo ln -s python3.8-path python && python --version
+ ```
+
+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
+ ```
+
+
+5. Run the following command to install setuptools:
+
+ ```
+ pip3 install setuptools
+ ```
+
+6. Install the GUI menuconfig tool \(Kconfiglib\). You are advised to install Kconfiglib 13.2.0 or later.
+ - **Command line:**
+
+ ```
+ sudo pip3 install kconfiglib
+ ```
+
+
+ - **Installation package:**
+ 1. Download the .whl file \(for example, **kconfiglib-13.2.0-py2.py3-none-any.whl**\).
+
+ Download path: [https://pypi.org/project/kconfiglib\#files](https://pypi.org/project/kconfiglib#files)
+
+
+ 1. Run the following command to install the .whl file:
+
+ ```
+ sudo pip3 install kconfiglib-13.2.0-py2.py3-none-any.whl
+ ```
+
+
+
+
+## Installing a File Packing Tool
+
+1. Start a Linux server.
+2. Run the following command to install **dosfstools**:
+
+ ```
+ sudo apt-get install dosfstools
+ ```
+
+3. Run the following command to install **mtools**:
+
+ ```
+ sudo apt-get install mtools
+ ```
+
+4. Run the following command to install **mtd-utils**:
+
+ ```
+ sudo apt-get install mtd-utils
+ ```
+
+
+## Installing Compilation Tools
+
+> **NOTICE:**
+>- If you obtain the source code using an HPM component or HPM CLI tool, compilation tools like **gn**, **ninja**, **LLVM**, and **hc-gen** are not required.
+>- \(Recommended\) If you obtain the source code through an image site or a code repository, compilation tools like **gn**, **ninja**, **LLVM**, and **hc-gen** need to be installed.
+> When installing **gn**, **ninja**, **LLVM**, and **hc-gen**, ensure that the environment variable paths of the compilation tools are unique.
+
+## Installing gn
+
+1. Start a Linux server.
+2. Download [gn](https://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar).
+3. Run the following command to decompress the gn installation package to **\~/gn**.
+
+ ```
+ tar -xvf gn.1523.tar -C ~/
+ ```
+
+4. Set an environment variable by performing the following steps. Open the **\~/.bashrc** file in Vim first.
+
+ ```
+ vim ~/.bashrc
+ ```
+
+ Copy the following command to the last line of the **.bashrc** file, save the file, and exit.
+
+ ```
+ export PATH=~/gn:$PATH
+ ```
+
+5. Run the following command to validate the environment variable.
+
+ ```
+ source ~/.bashrc
+ ```
+
+
+## Installing ninjah
+
+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. Run the following command to decompress the ninja installation package to **\~/ninja**.
+
+ ```
+ tar -xvf ninja.1.9.0.tar -C ~/
+ ```
+
+4. Set an environment variable by performing the following steps. Open the **\~/.bashrc** file in Vim first.
+
+ ```
+ vim ~/.bashrc
+ ```
+
+ Copy the following command to the last line of the **.bashrc** file, save the file, and exit.
+
+ ```
+ export PATH=~/ninja:$PATH
+ ```
+
+5. Run the following command to validate the environment variable.
+
+ ```
+ source ~/.bashrc
+ ```
+
+
+## Installing the LLVM Toolchain
+
+1. Start a Linux server.
+2. Download [LLVM](http://tools.harmonyos.com/mirrors/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar).
+3. Run the following command to decompress the LLVM installation package to **\~/llvm**:
+
+ ```
+ tar -xvf llvm-linux-9.0.0-34042.tar -C ~/
+ ```
+
+4. Set an environment variable by performing the following steps. Open the **\~/.bashrc** file in Vim first.
+
+ ```
+ 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. Run the following command to validate the environment variable:
+
+ ```
+ source ~/.bashrc
+ ```
+
+
+## Installing hc-gen
+
+1. Start a Linux server.
+2. Download [hc-gen](https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar).
+3. Run the following command to decompress the hc-gen installation package to **\~/hc-gen** on the Linux server:
+
+ ```
+ tar -xvf hc-gen-0.65-linux.tar -C ~/
+ ```
+
+4. Set an environment variable by performing the following steps. Open the **\~/.bashrc** file in Vim first.
+
+ ```
+ vim ~/.bashrc
+ ```
+
+ Copy the following command to the last line of the **.bashrc** file, save the file, and exit.
+
+ ```
+ export PATH=~/hc-gen:$PATH
+ ```
+
+5. Run the following command to validate the environment variable:
+
+ ```
+ source ~/.bashrc
+ ```
+
+
+## Installing the IDE Development Tool
+
+The OpenHarmony IDE Development Tool \(HUAWEI DevEco Device Tool\) integrates the capabilities of terminal tools. For details about how to install the tool, see [Preparations ](https://device.harmonyos.com/en/docs/ide/user-guides/tool_install-0000001050164976)and [Importing and Configuring a Project](https://device.harmonyos.com/en/docs/ide/user-guides/import_project-0000001050164980).
+
diff --git a/docs-en/quick-start/setting-up-a-development-environment.md b/docs-en/quick-start/setting-up-a-development-environment.md
index 1c925af1ffc5a7589354add74a06ef9566d9c384..e0073077122a67ad6e0f7837fa5ea6f2ff45896a 100755
--- a/docs-en/quick-start/setting-up-a-development-environment.md
+++ b/docs-en/quick-start/setting-up-a-development-environment.md
@@ -1,5 +1,21 @@
# Setting Up a Development Environment
+- [Environment Requirements](#section466851916410)
+- [Hardware](#section07318322310)
+- [Software](#section182305581332)
+- [Build Tools for Linux](#section20374218687)
+- [Development Tools for Windows](#section11161833102716)
+- [Installing Basic Compilation Environment](#section497484245614)
+- [Connecting to a Linux Server](#section15541530155711)
+- [Changing Linux Shell to Bash](#section182814544221)
+- [Installing a Python Environment](#section126831816258)
+- [Installing Scons](#section2462246562)
+- [Installing Compilation Tools](#section7227629152013)
+- [Installing gn](#section2024354014506)
+- [Installing ninjah](#section182441140185010)
+- [Installing gcc\_riscv32 \(Compilation Toolchain for WLAN Module\)](#section2014123416523)
+- [Installing the IDE Development Tool](#section1995840162515)
+
## Environment Requirements
## Hardware
@@ -141,10 +157,10 @@ The following table describes the tools required for setting up the general envi
NOTE: HUAWEI DevEco Device Tool is a one-stop integrated development environment (IDE) provided for developers of OpenHarmony-based smart devices. It supports C and C++ languages and is installed in Visual Studio Code as a plug-in.
|
-https://device.harmonyos.com/cn/ide
+ | https://device.harmonyos.com/en/ide
|
-