diff --git a/en/application-dev/reference/arkui-js/figures/en-us_image_0000001185033226.png b/en/application-dev/reference/arkui-js/figures/en-us_image_0000001185033226.png new file mode 100644 index 0000000000000000000000000000000000000000..7a49afcaad7ffb5266b63835f50f42f720665a31 Binary files /dev/null and b/en/application-dev/reference/arkui-js/figures/en-us_image_0000001185033226.png differ diff --git a/en/application-dev/ui/figures/en-us_image_0000001189744672.png b/en/application-dev/ui/figures/en-us_image_0000001189744672.png new file mode 100644 index 0000000000000000000000000000000000000000..926b023516156e8daa94afee4b9d2769d0e2547e Binary files /dev/null and b/en/application-dev/ui/figures/en-us_image_0000001189744672.png differ diff --git a/en/application-dev/ui/figures/en-us_image_0000001190463780.png b/en/application-dev/ui/figures/en-us_image_0000001190463780.png new file mode 100644 index 0000000000000000000000000000000000000000..30b7d2bb30c9f9a2cd8b3419285267b6be4f0143 Binary files /dev/null and b/en/application-dev/ui/figures/en-us_image_0000001190463780.png differ diff --git a/en/application-dev/ui/figures/en-us_image_0000001262954829.png b/en/application-dev/ui/figures/en-us_image_0000001262954829.png new file mode 100644 index 0000000000000000000000000000000000000000..a606cbe3c297f267e77a71816d21def7e3d51d2d Binary files /dev/null and b/en/application-dev/ui/figures/en-us_image_0000001262954829.png differ diff --git a/en/device-dev/Readme-EN.md b/en/device-dev/Readme-EN.md index 3f84a69d54746b0a839ff546c2dfc6536a13f089..ef05ff616b6163224cc4113dfb87aad509c54d4b 100644 --- a/en/device-dev/Readme-EN.md +++ b/en/device-dev/Readme-EN.md @@ -3,7 +3,7 @@ - [Device Development Overview](device-dev-guide.md) - Learn About OpenHarmony - [OpenHarmony Community](../OpenHarmony-Overview.md) - - [Glossary](glossary.md) + - [Glossary](../glossary.md) - [Release Notes](../release-notes/Readme.md) - Quick Start - [Mini and Small Systems](quick-start/quickstart-lite.md) diff --git a/en/device-dev/faqs/faqs-overview.md b/en/device-dev/faqs/faqs-overview.md index d14cbff86bd9ee4b5667b513850502be3b3d05f0..164025f20b6f15bcc50902e16905c7ed542cdb20 100644 --- a/en/device-dev/faqs/faqs-overview.md +++ b/en/device-dev/faqs/faqs-overview.md @@ -1,4 +1,4 @@ -# Overview of FAQs +# FAQs Overview FAQs are used to help developers solve problems frequently encountered during development. They cover a wide range of topics. @@ -9,25 +9,25 @@ FAQs are used to help developers solve problems frequently encountered during de ### Mini and Small Systems -- [What should I do if garbled characters and segmentation faults occur during hb installation?](../faqs/faqs-environment-building.md) +- [What should I do if garbled characters and segmentation faults occur during hb installation?](../faqs/faqs-environment-setup.md) -- [What should I do if the message "cannot import 'sysconfig' from 'distutils'" is displayed during hb installation?](../faqs/faqs-environment-building.md) +- [What should I do if the message "cannot import 'sysconfig' from 'distutils'" is displayed during hb installation?](../faqs/faqs-environment-setup.md) -- [What should I do if the message "module 'platform' has no attribute 'linux_distribution'" is displayed during hb installation?](../faqs/faqs-environment-building.md) +- [What should I do if the message "module 'platform' has no attribute 'linux_distribution'" is displayed during hb installation?](../faqs/faqs-environment-setup.md) -- [What should I do if the message "Could not find a version that satisfies the requirement ohos-build" is displayed during hb installation?](../faqs/faqs-environment-building.md) +- [What should I do if the message "Could not find a version that satisfies the requirement ohos-build" is displayed during hb installation?](../faqs/faqs-environment-setup.md) -- [What should I do if the message "configure: error: no acceptable C compiler found in $PATH" is displayed during Python 3 installation?](../faqs/faqs-environment-building.md) +- [What should I do if the message "configure: error: no acceptable C compiler found in $PATH" is displayed during Python 3 installation?](../faqs/faqs-environment-setup.md) -- [What should I do if the message "-bash: make: command not found" is displayed during Python 3 installation?](../faqs/faqs-environment-building.md) +- [What should I do if the message "-bash: make: command not found" is displayed during Python 3 installation?](../faqs/faqs-environment-setup.md) -- [What should I do if the message "zlib not available" is displayed during Python 3 installation?](../faqs/faqs-environment-building.md) +- [What should I do if the message "zlib not available" is displayed during Python 3 installation?](../faqs/faqs-environment-setup.md) -- [What should I do if the message "No module named 'Crypto'" is displayed during the build process?](../faqs/faqs-environment-building.md) +- [What should I do if the message "No module named 'Crypto'" is displayed during the build process?](../faqs/faqs-environment-setup.md) -- [What should I do when an error with lsb_release occurs during kconfiglib installation?](../faqs/faqs-environment-building.md) +- [What should I do when an error with lsb_release occurs during kconfiglib installation?](../faqs/faqs-environment-setup.md) -- [What should I do if the message "ImportError: No module named apt_pkg" is displayed during the execution of an unidentifiable command?](../faqs/faqs-environment-building.md) +- [What should I do if the message "ImportError: No module named apt_pkg" is displayed during the execution of an unidentifiable command?](../faqs/faqs-environment-setup.md) ## Compilation and Building @@ -116,16 +116,16 @@ FAQs are used to help developers solve problems frequently encountered during de ## Porting -- [How Do I Mount the Heap Memory to the Kernel?](../faqs/faqs-transplant.md) +- [How Do I Mount the Heap Memory to the Kernel?](../faqs/faqs-porting.md) ## Startup and Recovery -- [System Startup Interrupted Due to "parse failed!" Error](../faqs/faqs-init.md) +- [System Startup Interrupted Due to "parse failed!" Error](../faqs/faqs-startup.md) -- [System Restarted Repeatedly](../faqs/faqs-init.md) +- [System Restarted Repeatedly](../faqs/faqs-startup.md) -- [Failed to Call the SetParameter or GetParameter API with Correct Parameter Values](../faqs/faqs-init.md) +- [Failed to Call the SetParameter or GetParameter API with Correct Parameter Values](../faqs/faqs-startup.md) ## System Applications @@ -133,46 +133,46 @@ FAQs are used to help developers solve problems frequently encountered during de ### Utils -- [Failure in running the KV store on the LiteOS-A kernel (Hi3516 or Hi3518) due to incorrect path setting for the KV store](../faqs/faqs-system-using.md) +- [Failure in running the KV store on the LiteOS-A kernel (Hi3516 or Hi3518) due to incorrect path setting for the KV store](../faqs/faqs-system-applications.md) ### Visual Applications -- [Is there a global variable that can be accessed by all pages?](../faqs/faqs-system-using.md) +- [Is there a global variable that can be accessed by all pages?](../faqs/faqs-system-applications.md) -- [How do I obtain DOM elements?](../faqs/faqs-system-using.md) +- [How do I obtain DOM elements?](../faqs/faqs-system-applications.md) -- [How do I pass values between pages?](../faqs/faqs-system-using.md) +- [How do I pass values between pages?](../faqs/faqs-system-applications.md) -- [How do I scroll a list to an item?](../faqs/faqs-system-using.md) +- [How do I scroll a list to an item?](../faqs/faqs-system-applications.md) -- [Does the component support multiple lines?](../faqs/faqs-system-using.md) +- [Does the component support multiple lines?](../faqs/faqs-system-applications.md) -- [Why is a component not displayed?](../faqs/faqs-system-using.md) +- [Why is a component not displayed?](../faqs/faqs-system-applications.md) -- [How do I implement scrolling on a page?](../faqs/faqs-system-using.md) +- [How do I implement scrolling on a page?](../faqs/faqs-system-applications.md) -- [Why do not the left and top attributes take effect?](../faqs/faqs-system-using.md) +- [Why do not the left and top attributes take effect?](../faqs/faqs-system-applications.md) -- [Why does not dynamic binding take effect?](../faqs/faqs-system-using.md) +- [Why does not dynamic binding take effect?](../faqs/faqs-system-applications.md) -- [How do I implement relative and absolute positioning?](../faqs/faqs-system-using.md) +- [How do I implement relative and absolute positioning?](../faqs/faqs-system-applications.md) -- [How do I display or hide a component?](../faqs/faqs-system-using.md) +- [How do I display or hide a component?](../faqs/faqs-system-applications.md) -- [What are the precautions for using the Margin attribute?](../faqs/faqs-system-using.md) +- [What are the precautions for using the Margin attribute?](../faqs/faqs-system-applications.md) -- [What are the precautions for event subscription?](../faqs/faqs-system-using.md) +- [What are the precautions for event subscription?](../faqs/faqs-system-applications.md) -- [What are the precautions for using dynamic binding?](../faqs/faqs-system-using.md) +- [What are the precautions for using dynamic binding?](../faqs/faqs-system-applications.md) -- [How does the loop attribute take effect for ?](../faqs/faqs-system-using.md) +- [How does the loop attribute take effect for ?](../faqs/faqs-system-applications.md) -- [What are the precautions for using an array?](../faqs/faqs-system-using.md) +- [What are the precautions for using an array?](../faqs/faqs-system-applications.md) ### hdc -- [Why does hdc_std fail to connect to a device?](../faqs/faqs-system-using.md) +- [Why does hdc_std fail to connect to a device?](../faqs/faqs-system-applications.md) -- [hdc_std fail to run](../faqs/faqs-system-using.md) +- [hdc_std fail to run](../faqs/faqs-system-applications.md) diff --git a/en/device-dev/faqs/faqs.md b/en/device-dev/faqs/faqs.md index e3206e139e8e1f60328f145b1fe69978d5cd5f50..30d98fdb8c641e646626d7e4b9c0a42abe01e691 100644 --- a/en/device-dev/faqs/faqs.md +++ b/en/device-dev/faqs/faqs.md @@ -2,7 +2,7 @@ -- **[Overview of FAQs](faqs-overview.md)** +- **[FAQs Overview](faqs-overview.md)** - **[Environment Setup](faqs-environment-setup.md)** diff --git a/en/device-dev/kernel/kernel-standard-mm.md b/en/device-dev/kernel/kernel-standard-mm.md index 8009b6337a658386a89982efbfa662cefa341b14..e9e248174ff7f4b8cd2ae6d2152aea5d2f62af0d 100644 --- a/en/device-dev/kernel/kernel-standard-mm.md +++ b/en/device-dev/kernel/kernel-standard-mm.md @@ -1,3 +1,4 @@ # Memory Management -- **[Enhanced Swap] (kernel-standard-mm-eswap.md)** +- **[Enhanced SWAP](kernel-standard-mm-eswap.md)** + diff --git a/en/device-dev/kernel/kernel-standard.md b/en/device-dev/kernel/kernel-standard.md index 9f1780d5b146732cfc018c90703a47c72ae05173..3eff0592d9c5869fa638e9f5d15ef3b6db2edd3a 100644 --- a/en/device-dev/kernel/kernel-standard.md +++ b/en/device-dev/kernel/kernel-standard.md @@ -1,4 +1,4 @@ -# Kernel for Standard Systems +# Kernel for the Standard System - **[Linux Kernel Overview](kernel-standard-overview.md)** @@ -7,4 +7,4 @@ - **[Compiling and Building the Linux Kernel](kernel-standard-build.md)** -- **[Enhanced Kernel Features] (kernel-standard-enhanced-features.md)** +- **[Enhanced Kernel Features](kernel-standard-enhanced-features.md)** diff --git a/en/device-dev/porting/porting-bes2600w-on-minisystem-display-demo.md b/en/device-dev/porting/porting-bes2600w-on-minisystem-display-demo.md index 651407e8a549870d39f555ed9f7e614fe26d3488..0b46c948c81919ff969b3f2c321c157cb23c5b96 100644 --- a/en/device-dev/porting/porting-bes2600w-on-minisystem-display-demo.md +++ b/en/device-dev/porting/porting-bes2600w-on-minisystem-display-demo.md @@ -73,11 +73,11 @@ kernel_version = "3.0.0" --- Kernel version, which corresponds to Run the `hb set` command, enter the project root directory, and press `Enter`. The `hb` command traverses all `config.json` files in the `//vendor//` directory and provides product compilation options. In the `config.json` file, `product_name` indicates the product name, `device_company` and `board` are used to locate the `//device/board//` directory and find the matching `/config.gni` file. If multiple file matches are found, it indicates that the board has been adapted to multiple kernels. In this case, `kernel_type` and `kernel_version` in the `config.json` file can be used to uniquely match the `config.gni` file and thereby determine the board with which kernel needs to be compiled and adapted. If the information shown below is displayed, the `hb set` configuration is correct. - ![hb set](figure/bes2600_hb_set.png) + ![hb set](figures/bes2600_hb_set.png) ​ You can run the `hb env` command to view the selected precompilation environment variables. -![hb env](figure/bes2600_hb_env.png) +![hb env](figures/bes2600_hb_env.png) Before running the `hb build` command, complete the LiteOS-M kernel adaptation. For details, see [Kernel Porting](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/porting/porting-bes2600w-on-minisystem-display-demo.md#%E5%86%85%E6%A0%B8%E7%A7%BB%E6%A4%8D). @@ -263,7 +263,7 @@ In this example, the configuration file of `defconfig` is saved in `$(PRODUCT_PA When the configuration is complete, run the `make menuconfig` command in the `kernel/liteos_m` directory to select `SoC Series`/`SoC`/`Board`. -![board make menuconfig](figure/bes2600_board_make_menuconfig.png) +![board make menuconfig](figures/bes2600_board_make_menuconfig.png) The result is automatically saved in `$(PRODUCT_PATH)/kernel_configs/debug.config` and will be exported when `make menuconfig` is executed. @@ -432,7 +432,7 @@ static int32_t FsDriverInit(struct HdfDeviceObject *object) In the mini system, adapting the C library is a complex process. For details, see *Solution to Smooth Switchover Between musl and newlib for LiteOS-M Kernel*. The toolchain uses the `newlib` C library of the [gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2](https://gitee.com/link?target=https%3A%2F%2Fdeveloper.arm.com%2F-%2Fmedia%2FFiles%2Fdownloads%2Fgnu-rm%2F10.3-2021.10%2Fgcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2). In light of this, the `newlib` C library is used for system porting. Select `newlib` in `make menuconfig` of the kernel, as shown below. -![image-20211212191013553](figure/bes2600_newlib_make_menuconfig.png) +![image-20211212191013553](figures/bes2600_newlib_make_menuconfig.png) #### malloc Adaptation diff --git a/en/device-dev/porting/porting-chip-board-overview.md b/en/device-dev/porting/porting-chip-board-overview.md index 43e6352e9f8679cd987768a81acd7cc54d058de9..d2cb9a35d996a846b926327cbbbcde8a3659ac1a 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 +# Porting Overview ## Porting Process @@ -10,7 +10,7 @@ After the minimum system is ported, you can port the board-level system by: 4. Verifying service functions **Figure 1** Process for board-level driver adaptation -![process-for-board-level-driver-adaptation](figures/process-for-board-level-driver-adaptation) +![process-for-board-level-driver-adaptation](figures/process-for-board-level-driver-adaptation.png) ## Board-Level Directory Specifications diff --git a/en/device-dev/porting/porting-chip-board.md b/en/device-dev/porting/porting-chip-board.md index 0018646d943032fffef255c3d6bc513d0b42c14c..3776faeedf617c422ac7974c728af8f62a34e470 100644 --- a/en/device-dev/porting/porting-chip-board.md +++ b/en/device-dev/porting/porting-chip-board.md @@ -1,6 +1,6 @@ # Board-Level OS Porting -- **[Overview](porting-chip-board-overview.md)** +- **[Porting Overview](porting-chip-board-overview.md)** - **[Board-Level Driver Adaptation](porting-chip-board-driver.md)** diff --git a/en/device-dev/porting/porting-chip-kernel-adjustment.md b/en/device-dev/porting/porting-chip-kernel-adjustment.md index f1aca7b9503178b5a9d43a57528ed9ea76c8177c..0fe4f81cc54b315f2736e10259c9dbb71ac51afd 100644 --- a/en/device-dev/porting/porting-chip-kernel-adjustment.md +++ b/en/device-dev/porting/porting-chip-kernel-adjustment.md @@ -12,7 +12,7 @@ Basic adaptation consists of the following steps: **Figure 1** Startup process -![](figure/startup-process.png) +![](figures/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. @@ -34,6 +34,7 @@ The following table shows some typical configuration items: **Table 1** Typical configuration items +

Item

Description

diff --git a/en/device-dev/porting/porting-chip-kernel-overview.md b/en/device-dev/porting/porting-chip-kernel-overview.md index 7c8f1e457caabab74ff5a84e9efcc9d60c61dc13..00c50ec8944875ca6491391b25d12574906f792e 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 +# Porting Overview ## Porting Scenario @@ -16,8 +16,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/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.md b/en/device-dev/porting/porting-chip-kernel.md index 92a8b05ed0a95f0747a16b34afaddb258fa2bbb1..7b2a628f3481ac80a59be513df869d91e9acb298 100644 --- a/en/device-dev/porting/porting-chip-kernel.md +++ b/en/device-dev/porting/porting-chip-kernel.md @@ -1,6 +1,6 @@ # Kernel Porting -- **[Overview](porting-chip-kernel-overview.md)** +- **[Porting Overview](porting-chip-kernel-overview.md)** - **[Basic Kernel Adaptation](porting-chip-kernel-adjustment.md)** diff --git a/en/device-dev/porting/porting-linux-kernel.md b/en/device-dev/porting/porting-linux-kernel.md index 68f7b696fdc2ce2e663475e3e5712ca731a05476..e678980689031f38ce5c74efa5cfa89435e512cd 100644 --- a/en/device-dev/porting/porting-linux-kernel.md +++ b/en/device-dev/porting/porting-linux-kernel.md @@ -12,7 +12,7 @@ For easy description, we divide the OpenHarmony architecture into two parts: OpenHarmony = Kernel mode layer + User mode layer -![](figure/technical-architecture.png) +![](figures/technical-architecture.png) The kernel mode layer is the OpenHarmony kernel layer \(purple part in the figure\). It consists of the kernel, such as Linux Kernel and LiteOS, and features, such as Hardware Driver Foundation \(HDF\), running in the kernel mode. @@ -35,7 +35,7 @@ Therefore, the OpenHarmony kernel mode layer includes the following: - OpenHarmony basic kernel-mode code - OpenHarmony kernel-mode features, such as HDF -![](figure/openharmony_kernel.png) +![](figures/openharmony_kernel.png) The standard LTS Linux kernel and third-party SoC chip platform code constitute the basis of a third-party Linux kernel. The OpenHarmony kernel mode layer can be composed of either of the following: @@ -175,7 +175,7 @@ For details about how to use the logs, see [Hilog\_lite](https://gitee.com/open The configuration \(in **Device Drivers** \> **HDF driver framework support**\) is as follows: - ![](figure/menuconfig.png) + ![](figures/menuconfig.png) ### Building the Image diff --git a/en/device-dev/porting/porting-smallchip-driver-oom.md b/en/device-dev/porting/porting-smallchip-driver-oom.md index 46ccf47b9d5eb1c4932aca068bf5344c3e5869b1..ea579c6746607029bc6d994f979d54fd18b137c7 100644 --- a/en/device-dev/porting/porting-smallchip-driver-oom.md +++ b/en/device-dev/porting/porting-smallchip-driver-oom.md @@ -157,7 +157,7 @@ The WLAN driver is divided into two parts. One of the parts manages WLAN devices **Figure 1** OpenHarmony WLAN driver architecture -![](figure/hdf_wifi.png) +![](figures/hdf_wifi.png) As shown in [Figure 1](#fig155920160203), the part on the left manages WLAN devices, and the part on the right manages WLAN traffic. The HDF WLAN framework abstracts these two parts. The porting process of the driver can be considered as the implementation of the APIs required by the two parts. These APIs are described as follows: diff --git a/en/device-dev/porting/porting-smallchip-driver-overview.md b/en/device-dev/porting/porting-smallchip-driver-overview.md index 117cd129bfdf88cd855693439c6542aef427212e..3a4fd33171a66dcb44d3266daf8ce41206742330 100644 --- a/en/device-dev/porting/porting-smallchip-driver-overview.md +++ b/en/device-dev/porting/porting-smallchip-driver-overview.md @@ -1,9 +1,9 @@ -# Overview +# Porting 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/openharmony-driver-classification.png "openharmony-driver-classification") +![](figures/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.md b/en/device-dev/porting/porting-smallchip-driver.md index 57442da187da532394cd377020b4566e86727368..04eea1a6abd5ad0f7dcb8a54c96cd156fc8946a1 100644 --- a/en/device-dev/porting/porting-smallchip-driver.md +++ b/en/device-dev/porting/porting-smallchip-driver.md @@ -1,6 +1,6 @@ # Driver Porting -- **[Overview](porting-smallchip-driver-overview.md)** +- **[Porting Overview](porting-smallchip-driver-overview.md)** - **[Platform Driver Porting](porting-smallchip-driver-plat.md)** diff --git a/en/device-dev/porting/porting-smallchip-kernel-a.md b/en/device-dev/porting/porting-smallchip-kernel-a.md index 48204ad8b8e666bf327466f8f841c0a44dba3a32..4762f301ffb784ce9778c870b92ea1d4ed2413f9 100644 --- a/en/device-dev/porting/porting-smallchip-kernel-a.md +++ b/en/device-dev/porting/porting-smallchip-kernel-a.md @@ -27,7 +27,7 @@ The LiteOS Cortex-A initialization process consists of seven steps: The figure below shows the overall initialization process. **Figure 1** Overall initialization process -![](figure/overall-initialization-process.png "overall-initialization-process") +![](figures/overall-initialization-process.png "overall-initialization-process") As can be seen from preceding figure, kernel basic adaptation involves the following parts: @@ -108,7 +108,7 @@ 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 2** Service startup process - ![](figure/service-startup-process.png "service-startup-process") + ![](figures/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](#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. @@ -116,7 +116,7 @@ As can be seen from preceding figure, kernel basic adaptation involves the follo >Modules at the same layer cannot depend on each other. **Figure 3** Kernel startup framework - ![](figure/kernel-startup-framework.jpg "kernel-startup-framework") + ![](figures/kernel-startup-framework.jpg "kernel-startup-framework") **Table 2** Startup framework layers diff --git a/en/device-dev/porting/porting-smallchip-kernel-linux.md b/en/device-dev/porting/porting-smallchip-kernel-linux.md index a3a9c1dab04e7bd8052b21a2576bfaaf71572842..354b0430f39fb265e07230b71d749f8aa09ef90c 100644 --- a/en/device-dev/porting/porting-smallchip-kernel-linux.md +++ b/en/device-dev/porting/porting-smallchip-kernel-linux.md @@ -54,7 +54,7 @@ You can use the Bootloader provided by the chipset vendor or open-source U-Boot 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/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") +![](figures/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: @@ -91,12 +91,12 @@ 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/log-indicating-that-the-init-process-is-started-properly.png "log-indicating-that-the-init-process-is-started-properly") + ![](figures/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/information-printed-after-the-ls-command-is-executed-in-the-shell.png "information-printed-after-the-ls-command-is-executed-in-the-shell") + ![](figures/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-thirdparty-cmake.md b/en/device-dev/porting/porting-thirdparty-cmake.md index 5c6ff8e7a0a1dc30174c9c50641beb3a77f9d19a..7956e702ae20df460ab4026420557d8a625276da 100755 --- a/en/device-dev/porting/porting-thirdparty-cmake.md +++ b/en/device-dev/porting/porting-thirdparty-cmake.md @@ -218,12 +218,12 @@ 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-hi3518-running.md). + Using Hi3516D V300 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-hi3516-running.md). The following screen is displayed after a successful login to the OS. **Figure 1** Successful startup of OpenHarmony - ![](figure/successful-startup-of-openharmony.png "successful-startup-of-openharmony") + ![](figures/successful-startup-of-openharmony.png "successful-startup-of-openharmony") 2. Mount the **nfs** directory and put the executable file **cctest** into the **test** directory \(listed in [Table 2](#table1452412391911)\) to the **nfs** directory. 3. Perform the test cases. diff --git a/en/device-dev/porting/standard-system-porting-guide.md b/en/device-dev/porting/standard-system-porting-guide.md index c5a8cf6d902f884d3d284ee6055c626fbe8234b1..57531dbcabd48356bb8d67c1e8887edd702e4dad 100644 --- a/en/device-dev/porting/standard-system-porting-guide.md +++ b/en/device-dev/porting/standard-system-porting-guide.md @@ -277,7 +277,7 @@ For details about driver development, see [TOUCHSCREEN](../driver/driver-periph 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") +![](figures/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**. diff --git a/en/device-dev/quick-start/quickstart-ide-lite-env-setup-win-ubuntu.md b/en/device-dev/quick-start/quickstart-ide-lite-env-setup-win-ubuntu.md index 8c482fb6e0fe688c52e6dcca1dfeda2ed9a53380..5505b7a89788aafaf1a4ed41326792bf62e4f871 100644 --- a/en/device-dev/quick-start/quickstart-ide-lite-env-setup-win-ubuntu.md +++ b/en/device-dev/quick-start/quickstart-ide-lite-env-setup-win-ubuntu.md @@ -24,7 +24,7 @@ The setup procedure varies, depending on whether you need a GUI. If you need a G 1. Make sure the Ubuntu shell environment is **bash**. 1. Run the following command and check whether the command output is **bash**. If the command output is not **bash**, go to step 2. - + ``` ls -l /bin/sh ``` @@ -32,7 +32,7 @@ The setup procedure varies, depending on whether you need a GUI. If you need a G ![en-us_image_0000001226764302](figures/en-us_image_0000001226764302.png) 2. Start the command-line tool, run the following command, enter your password, and select **No** to set **Ubuntu shell** to **bash**. - + ``` sudo dpkg-reconfigure dash ``` @@ -44,13 +44,13 @@ The setup procedure varies, depending on whether you need a GUI. If you need a G 3. Decompress the DevEco Device Tool software package and assign permission on the folder obtained from the decompression. 1. Go to the directory where the DevEco Device Tool software package is stored and run the following command to decompress the software package. In the command, change **devicetool-linux-tool-3.0.0.400.zip** to the actual software package name. - + ``` unzip devicetool-linux-tool-3.0.0.400.zip ``` 2. Open the folder of the decompressed software package and run the following command to grant the execute permission on the installation file. In the command, change **devicetool-linux-tool-3.0.0.400.sh** to the actual installation file name. - + ``` chmod u+x devicetool-linux-tool-3.0.0.400.sh ``` @@ -60,7 +60,7 @@ The setup procedure varies, depending on whether you need a GUI. If you need a G > ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE** > During the installation, the setup wizard automatically checks whether Python 3.8 or 3.9 is installed. If Python 3.8 or 3.9 is not installed, the setup wizard displays the "Do you want to continue?" message; enter **Y** to allow the setup wizard to automatically install Python. - + ``` sudo ./devicetool-linux-tool-3.0.0.400.sh ``` @@ -126,19 +126,19 @@ To remotely access the Ubuntu environment through Windows and enjoy the benefits > ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE** > If the command fails to be executed and the system displays a message indicating that the openssh-server and openssh-client depend on different versions, install the openssh-client of the required version (for example, **sudo apt-get install openssh-client=1:8.2p1-4**) as prompted on the command-line interface (CLI) and run the command again to install the openssh-server. - + ``` sudo apt-get install openssh-server ``` 2. Run the following command to start the SSH service: - + ``` sudo systemctl start ssh ``` 3. Run the following command to obtain the IP address of the current user for remote access to the Ubuntu environment from Windows: - + ``` ifconfig ``` @@ -148,7 +148,7 @@ To remotely access the Ubuntu environment through Windows and enjoy the benefits ### Installing Remote SSH -1. Open Visual Studio Code in Windows, click ![en-us_image_0000001239080359](figures/en-us-cn_image_0000001239080359.png), and search for **remote-ssh** in the Extension Marketplace. +1. Open Visual Studio Code in Windows, click ![en-us_image_0000001239080359](figures/en-us_image_0000001239080359.png), and search for **remote-ssh** in the Extension Marketplace. ![en-us_image_0000001193920448](figures/en-us_image_0000001193920448.png) @@ -187,7 +187,7 @@ To remotely access the Ubuntu environment through Windows and enjoy the benefits After the preceding operations are complete, you can remotely connect to the Ubuntu environment through Windows for development. However, you need to frequently enter the remote connection password. To eliminate this need, you can use the SSH public key. 1. Open the Git bash CLI and run the following command to generate an SSH public key. During command execution, perform operations as prompted. Set **username** and **ip** to the user name and IP address you use for connecting to the Ubuntu system. - + ``` ssh-keygen -t rsa ssh-copy-id -i ~/.ssh/id_rsa.pub username@ip diff --git a/en/device-dev/quick-start/quickstart-ide-standard-env-setup-win-ubuntu.md b/en/device-dev/quick-start/quickstart-ide-standard-env-setup-win-ubuntu.md index e394e476263d107815b0f6da6a02ad8f5a2b2353..affb9ae21b952f76b1e992e959630493abc90e43 100644 --- a/en/device-dev/quick-start/quickstart-ide-standard-env-setup-win-ubuntu.md +++ b/en/device-dev/quick-start/quickstart-ide-standard-env-setup-win-ubuntu.md @@ -25,7 +25,7 @@ The setup procedure varies, depending on whether you need a GUI. If you need a G 1. Make sure the Ubuntu shell environment is **bash**. 1. Run the following command and check whether the command output is **bash**. If the command output is not **bash**, go to step 2. - + ``` ls -l /bin/sh ``` @@ -33,7 +33,7 @@ The setup procedure varies, depending on whether you need a GUI. If you need a G ![en-us_image_0000001226764302](figures/en-us_image_0000001226764302.png) 2. Start the command-line tool, run the following command, enter your password, and select **No** to set **Ubuntu shell** to **bash**. - + ``` sudo dpkg-reconfigure dash ``` @@ -45,12 +45,12 @@ The setup procedure varies, depending on whether you need a GUI. If you need a G 3. Decompress the DevEco Device Tool software package and assign permission on the folder obtained from the decompression. 1. Go to the directory where the DevEco Device Tool software package is stored and run the following command to decompress the software package. In the command, change **devicetool-linux-tool-3.0.0.400.zip** to the actual software package name. - + ``` unzip devicetool-linux-tool-3.0.0.400.zip ``` 2. Open the folder of the decompressed software package and run the following command to grant the execute permission on the installation file. In the command, change **devicetool-linux-tool-3.0.0.400.sh** to the actual installation file name. - + ``` chmod u+x devicetool-linux-tool-3.0.0.400.sh ``` @@ -60,7 +60,7 @@ The setup procedure varies, depending on whether you need a GUI. If you need a G > ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE** > During the installation, the setup wizard automatically checks whether Python 3.8 or 3.9 is installed. If Python 3.8 or 3.9 is not installed, the setup wizard displays the "Do you want to continue?" message; enter **Y** to allow the setup wizard to automatically install Python. - + ``` sudo ./devicetool-linux-tool-3.0.0.400.sh ``` @@ -126,19 +126,19 @@ To remotely access the Ubuntu environment through Windows and enjoy the benefits > ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE** > If the command fails to be executed and the system displays a message indicating that the openssh-server and openssh-client depend on different versions, install the openssh-client of the required version (for example, **sudo apt-get install openssh-client=1:8.2p1-4**) as prompted on the command-line interface (CLI) and run the command again to install the openssh-server. - + ``` sudo apt-get install openssh-server ``` 2. Run the following command to start the SSH service: - + ``` sudo systemctl start ssh ``` 3. Run the following command to obtain the IP address of the current user for remote access to the Ubuntu environment from Windows: - + ``` ifconfig ``` @@ -148,7 +148,7 @@ To remotely access the Ubuntu environment through Windows and enjoy the benefits ### Installing Remote SSH -1. Open Visual Studio Code in Windows, click ![en-us_image_0000001239080359](figures/en-us-cn_image_0000001239080359.png), and search for **remote-ssh** in the Extension Marketplace. +1. Open Visual Studio Code in Windows, click ![en-us_image_0000001239080359](figures/en-us_image_0000001239080359.png), and search for **remote-ssh** in the Extension Marketplace. ![en-us_image_0000001193920448](figures/en-us_image_0000001193920448.png) @@ -187,7 +187,7 @@ To remotely access the Ubuntu environment through Windows and enjoy the benefits After the preceding operations are complete, you can remotely connect to the Ubuntu environment through Windows for development. However, you need to frequently enter the remote connection password. To eliminate this need, you can use the SSH public key. 1. Open the Git bash CLI and run the following command to generate an SSH public key. During command execution, perform operations as prompted. Set **username** and **ip** to the user name and IP address you use for connecting to the Ubuntu system. - + ``` ssh-keygen -t rsa ssh-copy-id -i ~/.ssh/id_rsa.pub username@ip diff --git a/en/device-dev/quick-start/quickstart-lite-ide-directory.md b/en/device-dev/quick-start/quickstart-lite-ide-directory.md index ba40d1a3798c96010c8ebd16a78d2ea9ed474013..88773504a4830ba8b23f3265f197630b853d8d74 100644 --- a/en/device-dev/quick-start/quickstart-lite-ide-directory.md +++ b/en/device-dev/quick-start/quickstart-lite-ide-directory.md @@ -11,7 +11,7 @@ - [Burning](quickstart-ide-lite-steps-hi3861-burn.md) - [Networking](quickstart-ide-lite-steps-hi3861-netconfig.md) - [Debugging and Verification](quickstart-ide-lite-steps-hi3861-debug.md) - - [Running](quickstart-ide-lite-steps-hi3816-running.md) + - [Running](quickstart-ide-lite-steps-hi3861-running.md) - Hi3516 Development Board - [Writing a Hello World Program](quickstart-ide-lite-steps-hi3516-application-framework.md) - [Building](quickstart-ide-lite-steps-hi3516-building.md) diff --git a/en/device-dev/subsystems/Readme-EN.md b/en/device-dev/subsystems/Readme-EN.md index a2d2508e6e57b0767afdd331410b42613f597445..7944e2584de50c8fac855e10095d1533d7b90ab2 100644 --- a/en/device-dev/subsystems/Readme-EN.md +++ b/en/device-dev/subsystems/Readme-EN.md @@ -2,7 +2,7 @@ - [Compilation and Building](subsys-build.md) - [Building Guidelines for Mini and Small Systems](subsys-build-mini-lite.md) - - [Building Guidelines for Standard Systems](subsys-build-standard-large.md) + - [Building Guidelines for the Standard System](subsys-build-standard-large.md) - [Build System Coding Specifications and Best Practices](subsys-build-gn-coding-style-and-best-practice.md) - [Building the Kconfig Visual Configuration](subsys-build-gn-kconfig-visual-config-guid.md) - [Distributed Remote Startup](subsys-remote-start.md) diff --git a/en/website.md b/en/website.md index 3ec0bdc640ac5c513e1b7e2a01acaa5981bacd38..a8f292a9e62802211c0be117912b786205ede054 100644 --- a/en/website.md +++ b/en/website.md @@ -1,32 +1,501 @@ -# Learn About OpenHarmony - -- [OpenHarmony Project](OpenHarmony-Overview.md) -- [Glossary](device-dev/glossary/glossary.md) -- OpenHarmony Release Notes - - OpenHarmony 3.x Releases - - [OpenHarmony v3.1 Release (2022-03-30)](release-notes/OpenHarmony-v3.1-release.md) - - [OpenHarmony v3.1 Beta (2021-12-31)](release-notes/OpenHarmony-v3.1-beta.md) - - [OpenHarmony v3.0.1 LTS (2022-01-12)](release-notes/OpenHarmony-v3.0.1-LTS.md) - - [OpenHarmony v3.0 LTS (2021-09-30)](release-notes/OpenHarmony-v3.0-LTS.md) - - - OpenHarmony 2.x Releases - - [OpenHarmony v2.2 beta2 (2021-08-04)](release-notes/OpenHarmony-v2.2-beta2.md) - - [OpenHarmony 2.0 Canary (2021-06-01)](release-notes/OpenHarmony-2-0-Canary.md) - - - OpenHarmony 1.x Releases - - [OpenHarmony v1.1.4 LTS (2022-02-11)](release-notes/OpenHarmony-v1-1-4-LTS.md) - - [OpenHarmony v1.1.3 LTS (2021-09-30)](release-notes/OpenHarmony-v1-1-3-LTS.md) - - [OpenHarmony v1.1.2 LTS (2021-08-04)](release-notes/OpenHarmony-v1.1.2-LTS.md) - - [OpenHarmony 1.1.1 LTS (2021-06-22)](release-notes/OpenHarmony-1-1-1-LTS.md) - - [OpenHarmony 1.1.0 LTS (2021-04-01)](release-notes/OpenHarmony-1-1-0-LTS.md) - - [OpenHarmony 1.0 (2020-09-10)](release-notes/OpenHarmony-1-0.md) -- Contribution - - [How to Contribute](contribute/how-to-contribute.md) - - [Code of Conduct](contribute/code-of-conduct.md) - - [Code Contribution](contribute/code-contribution.md) - - [Contribution Process](contribute/contribution-process.md) - - [Auto-Test](readme/test.md) - - [Documentation Contribution](contribute/documentation-contribution.md) - - [Writing Instructions](contribute/writing-instructions.md) - - [Communication in Community](contribute/communication-in-community.md) - - [FAQs](contribute/FAQ.md) \ No newline at end of file +# OpenHarmony Device Development Documentation +- [Device Development Overview](device-dev-guide.md) + +- Getting Started + + - Getting Started with Mini and Small Systems (IDE Mode) + - [Mini and Small System Overview](quick-start/quickstart-ide-lite-overview.md) + - Environment Preparation + - [Setting Up the Windows+Ubuntu Hybrid Development Environment](quick-start/quickstart-ide-lite-env-setup-win-ubuntu.md) + - [Obtaining Source Code](quick-start/quickstart-ide-lite-sourcecode-acquire.md) + - [Creating a Source Code Project](quick-start/quickstart-ide-lite-create-project.md) + - Running a Hello World Program + - Hi3861 Development Board + - [Writing a Hello World Program](quick-start/quickstart-ide-lite-steps-hi3861-application-framework.md) + - [Building](quick-start/quickstart-ide-lite-steps-hi3861-building.md) + - [Burning](quick-start/quickstart-ide-lite-steps-hi3861-burn.md) + - [Networking](quick-start/quickstart-ide-lite-steps-hi3861-netconfig.md) + - [Debugging and Verification](quick-start/quickstart-ide-lite-steps-hi3861-debug.md) + - [Running](quick-start/quickstart-ide-lite-steps-hi3861-running.md) + - Hi3516 Development Board + - [Writing a Hello World Program](quick-start/quickstart-ide-lite-steps-hi3516-application-framework.md) + - [Building](quick-start/quickstart-ide-lite-steps-hi3516-building.md) + - [Burning](quick-start/quickstart-ide-lite-steps-hi3516-burn.md) + - [Running](quick-start/quickstart-ide-lite-steps-hi3516-running.md) + - Appendix + - Introduction to Development Boards + - [Introduction to the Hi3861 Development Board](quick-start/quickstart-ide-lite-introduction-hi3861.md) + - [Introduction to the Hi3516 Development Board](quick-start/quickstart-ide-lite-introduction-hi3516.md) + - [Getting Started with Mini and Small Systems (Installation Package Mode)](quick-start/quickstart-lite-package-directory.md) + + - Getting Started with Standard System (IDE Mode) + - [Standard System Overview](quick-start/quickstart-ide-standard-overview.md) + - Environment Preparation + - [Setting Up the Windows+Ubuntu Hybrid Development Environment](quick-start/quickstart-ide-standard-env-setup-win-ubuntu.md) + - [Obtaining Source Code](quick-start/quickstart-ide-standard-sourcecode-acquire.md) + - [Creating a Source Code Project](quick-start/quickstart-ide-standard-create-project.md) + - Running a Hello World Program + - Hi3516 Development Board + - [Writing a Hello World Program](quick-start/quickstart-ide-standard-running-hi3516-create.md) + - [Building](quick-start/quickstart-ide-standard-running-hi3516-build.md) + - [Burning](quick-start/quickstart-ide-standard-running-hi3516-burning.md) + - [Running](quick-start/quickstart-ide-standard-running-hi3516-running.md) + - RK3568 Development Board + - [Writing a Hello World Program](quick-start/quickstart-ide-standard-running-rk3568-create.md) + - [Building](quick-start/quickstart-ide-standard-running-rk3568-build.md) + - [Burning](quick-start/quickstart-ide-standard-running-rk3568-burning.md) + - [Running](quick-start/quickstart-ide-standard-running-rk3568-running.md) + - Appendix + - Introduction to Development Boards + - [Introduction to the Hi3516 Development Board](quick-start/quickstart-ide-standard-board-introduction-hi3516.md) + - [Introduction to the RK3568 Development Board](quick-start/quickstart-ide-standard-board-introduction-rk3568.md) + - [Getting Started with Standard System (Installation Package Mode)](quick-start/quickstart-standard-package-directory.md) + + - [Obtaining Source Code](get-code/sourcecode-acquire.md) + +- Compatibility and Security + + - [Privacy Protection](security/security-privacy-protection.md) + - [Security Guidelines](security/security-guidelines-overall.md) + +- Porting + + - Mini System SoC Porting Guide + + - Porting Preparations + - [Before You Start](porting/porting-chip-prepare-knows.md) + - [Building Adaptation Process](porting/porting-chip-prepare-process.md) + - Kernel Porting + - [Porting Overview](porting/porting-chip-kernel-overview.md) + - [Basic Kernel Adaptation](porting/porting-chip-kernel-adjustment.md) + - [Kernel Porting Verification](porting/porting-chip-kernel-verify.md) + - Board-Level OS Porting + - [Porting Overview](porting/porting-chip-board-overview.md) + - [Board-Level Driver Adaptation](porting/porting-chip-board-driver.md) + - [Implementation of APIs at the HAL](porting/porting-chip-board-hal.md) + - [System Modules](porting/porting-chip-board-component.md) + - [lwIP Module Adaptation](porting/porting-chip-board-lwip.md) + - [Third-party Module Adaptation](porting/porting-chip-board-bundle.md) + - [XTS](porting/porting-chip-board-xts.md) + - [FAQs](porting/porting-chip-faqs.md) + + - Small System SoC Porting Guide + + - Porting Preparations + - [Before You Start](porting/porting-smallchip-prepare-needs.md) + - [Compilation and Building](porting/porting-smallchip-prepare-building.md) + - Kernel Porting + - [LiteOS Cortex-A](porting/porting-smallchip-kernel-a.md) + - [Linux Kernel](porting/porting-smallchip-kernel-linux.md) + - Driver Porting + - [Porting Overview](porting/porting-smallchip-driver-overview.md) + - [Platform Driver Porting](porting/porting-smallchip-driver-plat.md) + - [Device Driver Porting](porting/porting-smallchip-driver-oom.md) + + - Standard System SoC Porting Guide + + - [Standard System Porting Guide](porting/standard-system-porting-guide.md) + - [A Method for Rapidly Porting the OpenHarmony Linux Kernel](porting/porting-linux-kernel.md) + + - [Third-Party Library Porting Guide for Mini and Small Systems](porting/porting-thirdparty.md) + - [Overview](porting/porting-thirdparty-overview.md) + - [Porting a Library Built Using CMake](porting/porting-thirdparty-cmake.md) + - [Porting a Library Built Using Makefile](porting-thirdparty-makefile.md) + + - [Mini System SoC Porting Cases](porting/porting-bes2600w-on-minisystem-display-demo.md) + +- Subsystem Development + + - Kernel + - Kernel for Mini System + - [Kernel Overview](kernel/kernel-mini-overview.md) + - Basic Kernel + - [Interrupt Management](kernel/kernel-mini-basic-interrupt.md) + - [Task Management](kernel/kernel-mini-basic-task.md) + - Memory Management + - [Basic Concepts](kernel/kernel-mini-basic-memory-basic.md) + - [Static Memory](kernel/kernel-mini-basic-memory-static.md) + - [Dynamic Memory](kernel/kernel-mini-basic-memory-dynamic.md) + - Kernel Communication Mechanisms + - [Event](kernel/kernel-mini-basic-ipc-event.md) + - [Mutex](kernel/kernel-mini-basic-ipc-mutex.md) + - [Queue](kernel/kernel-mini-basic-ipc-queue.md) + - [Semaphore](kernel/kernel-mini-basic-ipc-sem.md) + - [Time Management](kernel/kernel-basic-mini-time.md) + - [Software Timer](kernel/kernel-mini-basic-soft.md) + - Extended Components + - [C++ Support](kernel/kernel-mini-extend-support.md) + - [CPUP](kernel/kernel-mini-extend-cpup.md) + - [Dynamic Loading](kernel/kernel-mini-extend-dynamic-loading.md) + - File System + - [FAT](kernel/kernel-mini-extend-file-fat.md) + - [LittleFS](kernel/kernel-mini-extend-file-lit.md) + - Kernel Debugging + - Memory Debugging + - [Memory Information Statistics](kernel/kernel-mini-memory-debug-mes.md) + - [Memory Leak Check](kernel/kernel-mini-imemory-debug-det.md) + - [Memory Corruption Check](kernel/kernel-mini-memory-debug-cet.md) + - [Exception Debugging](kernel/kernel-mini-memory-exception.md) + - [Trace](kernel/kernel-mini-memory-trace.md) + - [LMS](kernel/kernel-mini-memory-lms.md) + - Appendix + - [Kernel Coding Specification](kernel/kernel-mini-appx-code.md) + - Basic Data Structure + - [Doubly Linked List](kernel/kernel-mini-appx-data-list.md) + - Standard Libraries + - [CMSIS Support](kernel/kernel-mini-appx-lib-cmsis.md) + - [POSIX Support](kernel/kernel-mini-appx-lib-posix.md) + - Kernel for the Small System + - [Kernel Overview](kernel/kernel-small-overview.md) + - Kernel Startup + - [Startup in Kernel Mode](kernel/kernel-small-start-kernel.md) + - [Startup in User Mode](kernel/kernel-small-start-user.md) + - Basic Kernel + - [Interrupt and Exception Handling](kernel/kernel-small-basic-interrupt.md) + - Process Management + - [Process Management](kernel/kernel-small-basic-process-process.md) + - [Task](kernel/kernel-small-basic-process-thread.md) + - [Scheduler](kernel/kernel-small-basic-process-scheduler.md) + - Memory Management + - [Heap Memory Management](kernel/kernel-small-basic-memory-heap.md) + - [Physical Memory Management](kernel/kernel-small-basic-memory-physical.md) + - [Virtual Memory Management](kernel/kernel-small-basic-memory-virtual.md) + - [Virtual-to-Physical Mapping](kernel/kernel-small-basic-inner-reflect.md) + - Kernel Communication Mechanisms + - [Event](kernel/kernel-small-basic-trans-event.md) + - [Semaphore](kernel/kernel-small-basic-trans-semaphore.md) + - [Mutex](kernel/kernel-small-basic-trans-mutex.md) + - [Queue](kernel/kernel-small-basic-trans-queue.md) + - [RW Lock](kernel/kernel-small-basic-trans-rwlock.md) + - [Futex](kernel/kernel-small-basic-trans-user-mutex.md) + - [Signal](kernel/kernel-small-basic-trans-user-signal.md) + - [Time Management](kernel/kernel-small-basic-time.md) + - [Software Timer](kernel/kernel-small-basic-softtimer.md) + - [Atomic Operation](kernel/kernel-small-basic-atomic.md) + - Extended Components + - [System Call](kernel/kernel-small-bundles-system.md) + - [Dynamic Loading and Linking](kernel/kernel-small-bundles-linking.md) + - [Virtual Dynamic Shared Object](kernel/kernel-small-bundles-share.md) + - [LiteIPC](kernel/kernel-small-bundles-ipc.md) + - File Systems + - [Virtual File System](kernel/kernel-small-bundles-fs-virtual.md) + - Supported File Systems + - [FAT](kernel/kernel-small-bundles-fs-support-fat.md) + - [JFFS2](kernel/kernel-small-bundles-fs-support-jffs2.md) + - [NFS](kernel/kernel-small-bundles-fs-support-nfs.md) + - [Ramfs](kernel/kernel-small-bundles-fs-support-ramfs.md) + - [procfs](kernel/kernel-small-bundles-fs-support-procfs.md) + - [File System Adaptation](kernel/kernel-small-bundles-fs-new.md) + - Debugging and Tools + - Shell + - [Introduction to the Shell](kernel/kernel-small-debug-shell-overview.md) + - [Shell Command Development Guidelines](kernel/kernel-small-debug-shell-guide.md) + - [Shell Command Programming Example](kernel/kernel-small-debug-shell-build.md) + - Shell Command Reference + - System Commands + - [cpup](kernel/kernel-small-debug-shell-cmd-cpup.md) + - [date](kernel/kernel-small-debug-shell-cmd-date.md) + - [dmesg](kernel/kernel-small-debug-shell-cmd-dmesg.md) + - [exec](kernel/kernel-small-debug-shell-cmd-exec.md) + - [free](kernel/kernel-small-debug-shell-cmd-free.md) + - [help](kernel/kernel-small-debug-shell-cmd-help.md) + - [hwi](kernel/kernel-small-debug-shell-cmd-hwi.md) + - [kill](kernel/kernel-small-debug-shell-cmd-kill.md) + - [log](kernel/kernel-small-debug-shell-cmd-log.md) + - [memcheck](kernel/kernel-small-debug-shell-cmd-memcheck.md) + - [oom](kernel/kernel-small-debug-shell-cmd-oom.md) + - [pmm](kernel/kernel-small-debug-shell-cmd-pmm.md) + - [reset](kernel/kernel-small-debug-shell-cmd-reset.md) + - [sem](kernel/kernel-small-debug-shell-cmd-sem.md) + - [stack](kernel/kernel-small-debug-shell-cmd-stack.md) + - [su](kernel/kernel-small-debug-shell-cmd-su.md) + - [swtmr](kernel/kernel-small-debug-shell-cmd-swtmr.md) + - [systeminfo](kernel/kernel-small-debug-shell-cmd-sysinfo.md) + - [task](kernel/kernel-small-debug-shell-cmd-task.md) + - [uname](kernel/kernel-small-debug-shell-cmd-uname.md) + - [vmm](kernel/kernel-small-debug-shell-cmd-vmm.md) + - [watch](kernel/kernel-small-debug-shell-cmd-watch.md) + - [reboot](kernel/kernel-small-debug-shell-cmd-reboot.md) + - [top](kernel/kernel-small-debug-shell-cmd-top.md) + - File Commands + - [cat](kernel/kernel-small-debug-shell-file-cat.md) + - [cd](kernel/kernel-small-debug-shell-file-cd.md) + - [chgrp](kernel/kernel-small-debug-shell-file-chgrp.md) + - [chmod](kernel/kernel-small-debug-shell-file-chmod.md) + - [chown](kernel/kernel-small-debug-shell-file-chown.md) + - [cp](kernel/kernel-small-debug-shell-file-cp.md) + - [format](kernel/kernel-small-debug-shell-file-format.md) + - [ls](kernel/kernel-small-debug-shell-file-ls.md) + - [lsfd](kernel/kernel-small-debug-shell-file-lsfd.md) + - [mkdir](kernel/kernel-small-debug-shell-file-mkdir.md) + - [mount](kernel/kernel-small-debug-shell-file-mount.md) + - [partinfo](kernel/kernel-small-debug-shell-file-partinfo.md) + - [partition](kernel/kernel-small-debug-shell-file-partition.md) + - [pwd](kernel/kernel-small-debug-shell-file-pwd.md) + - [rm](kernel/kernel-small-debug-shell-file-rm.md) + - [rmdir](kernel/kernel-small-debug-shell-file-rmdir.md) + - [statfs](kernel/kernel-small-debug-shell-file-statfs.md) + - [sync](kernel/kernel-small-debug-shell-file-sync.md) + - [touch](kernel/kernel-small-debug-shell-file-touch.md) + - [writeproc](kernel/kernel-small-debug-shell-file-write.md) + - [umount](kernel/kernel-small-debug-shell-file-umount.md) + - [du](kernel/kernel-small-debug-shell-file-du.md) + - [mv](kernel/kernel-small-debug-shell-file-mv.md) + - Network Commands + - [arp](kernel/kernel-small-debug-shell-net-arp.md) + - [dhclient](kernel/kernel-small-debug-shell-net-dhclient.md) + - [ifconfig](kernel/kernel-small-debug-shell-net-ifconfig.md) + - [ipdebug](kernel/kernel-small-debug-shell-net-ipdebug.md) + - [netstat](kernel/kernel-small-debug-shell-net-netstat.md) + - [ntpdate](kernel/kernel-small-debug-shell-net-ntpdate.md) + - [ping](kernel/kernel-small-debug-shell-net-ping.md) + - [ping6](kernel/kernel-small-debug-shell-net-ping6.md) + - [telnet](kernel/kernel-small-debug-shell-net-telnet.md) + - [tftp](kernel/kernel-small-debug-shell-net-tftp.md) + - [Magic Key](kernel/kernel-small-debug-shell-magickey.md) + - [User-Mode Exception Information](kernel/kernel-small-debug-shell-error.md) + - [Trace](kernel/kernel-small-debug-trace.md) + - [perf](kernel/kernel-mini-memory-perf.md) + - [LMS](kernel/kernel-small-memory-lms.md) + - Process Commissioning + - [CPUP](kernel/kernel-small-debug-process-cpu.md) + - Kernel-Mode Memory Debugging + - [Memory Information Statistics](kernel/kernel-small-debug-memory-info.md) + - [Memory Leak Check](kernel/kernel-small-debug-memory-leak.md) + - [Memory Corruption Check](kernel/kernel-small-debug-memory-corrupt.md) + - User-Mode Memory Debugging + - [Basic Concepts](kernel/kernel-small-debug-user-concept.md) + - [Working Principles](kernel/kernel-small-debug-user-function.md) + - Usage + - [API Description](kernel/kernel-small-debug-user-guide-api.md) + - How to Use + - [Calling APIs](kernel/kernel-small-debug-user-guide-use-api.md) + - [Using the CLI](kernel/kernel-small-debug-user-guide-use-cli.md) + - [Typical Memory Problems](kernel/kernel-small-debug-user-faqs.md) + - Other Kernel Debugging Methods + - [Dying Gasp](kernel/kernel-small-debug-trace-other-lastwords.md) + - [Common Fault Locating Methods](kernel/kernel-small-debug-trace-other-faqs.md) + - Appendix + - Basic Data Structure + - [Doubly Linked List](kernel/kernel-small-apx-dll.md) + - [Bitwise Operation](kernel/kernel-small-apx-bitwise.md) + - [Standard Library](kernel/kernel-small-apx-library.md) + - Kernel for the Standard System + - [Linux Kernel Overview](kernel/kernel-standard-overview.md) + - [Applying Patches on Development Boards](kernel/kernel-standard-patch.md) + - [Compiling and Building the Linux Kernel](kernel/kernel-standard-build.md) + - Enhanced Kernel Features + - [Enhanced SWAP](kernel/kernel-standard-mm-eswap.md) + - Task Scheduling + - [Related Thread Group](kernel/kernel-standard-sched-rtg.md) + - [Lightweight CPU Isolation](kernel/kernel-standard-sched-cpuisolation.md) + - Drivers + - HDF + - [HDF Overview](driver/driver-hdf-overview.md) + - [Driver Development](driver/driver-hdf-development.md) + - [Driver Service Management](driver/driver-hdf-servicemanage.md) + - [Driver Message Mechanism Management](driver/driver-hdf-message-management.md) + - [Driver Configuration Management](driver/driver-hdf-manage.md) + - [HDF Development Example](driver/driver-hdf-sample.md) + - Platform Driver Development + - [ADC](driver/driver-platform-adc-develop.md) + - [GPIO](driver/driver-platform-gpio-develop.md) + - [HDMI](driver/driver-platform-hdmi-develop.md) + - [I2C](driver/driver-platform-i2c-develop.md) + - [I3C](driver/driver-platform-i3c-develop.md) + - [MIPI CSI](driver/driver-platform-mipicsi-develop.md) + - [MIPI DSI](driver/driver-platform-mipidsi-develop.md) + - [MMC](driver/driver-platform-mmc-develop.md) + - [PIN](driver/driver-platform-pin-develop.md) + - [PWM](driver/driver-platform-pwm-develop.md) + - [Regulator](driver/driver-platform-regulator-develop.md) + - [RTC](driver/driver-platform-rtc-develop.md) + - [SDIO](driver/driver-platform-sdio-develop.md) + - [SPI](driver/driver-platform-spi-develop.md) + - [UART](driver/driver-platform-uart-develop.md) + - [Watchdog](driver/driver-platform-watchdog-develop.md) + - Platform Driver Usage + - [ADC](driver/driver-platform-adc-des.md) + - [GPIO](driver/driver-platform-gpio-des.md) + - [HDMI](driver/driver-platform-hdmi-des.md) + - [I2C](driver/driver-platform-i2c-des.md) + - [I3C](driver/driver-platform-i3c-des.md) + - [MIPI CSI](driver/driver-platform-mipicsi-des.md) + - [MIPI DSI](driver/driver-platform-mipidsi-des.md) + - [PWM](driver/driver-platform-pwm-des.md) + - [Regulator](driver/driver-platform-regulator-des.md) + - [RTC](driver/driver-platform-rtc-des.md) + - [SDIO](driver/driver-platform-sdio-des.md) + - [SPI](driver/driver-platform-spi-des.md) + - [UART](driver/driver-platform-uart-des.md) + - [Watchdog](driver/driver-platform-watchdog-des.md) + - Peripheral Driver Usage + - [LCD](driver/driver-peripherals-lcd-des.md) + - [Touchscreen](driver/driver-peripherals-touch-des.md) + - [Sensor](driver/driver-peripherals-sensor-des.md) + - [WLAN](driver/driver-peripherals-external-des.md) + - [Audio](driver/driver-peripherals-audio-des.md) + - [USB](driver/driver-peripherals-usb-des.md) + - [Camera](driver/driver-peripherals-camera-des.md) + - Compilation and Building + - [Building Guidelines for Mini and Small Systems](subsystems/subsys-build-mini-lite.md) + - [Building Guidelines for the Standard System](subsystems/subsys-build-standard-large.md) + - [Build System Coding Specifications and Best Practices](subsystems/subsys-build-gn-coding-style-and-best-practice.md) + - [Building the Kconfig Visual Configuration](subsystems/subsys-build-gn-kconfig-visual-config-guid.md) + - [Distributed Remote Startup](subsystems/subsys-remote-start.md) + - Graphics + - [Graphics](subsystems/subsys-graphics-overview.md) + - [Development Guidelines on Container Components](subsystems/subsys-graphics-container-guide.md) + - [Development Guidelines on Layout Container Components](subsystems/subsys-graphics-layout-guide.md) + - [Development Guidelines on Common Components](subsystems/subsys-graphics-common-guide.md) + - [Development Guidelines on Animators](subsystems/subsys-graphics-animation-guide.md) + - Multimedia + - [Camera](subsystems/subsys-multimedia-camera.md) + - [Overview](subsystems/subsys-multimedia-camera-overview.md) + - [Development Guidelines on Photographing](subsystems/subsys-multimedia-camera-photo-guide.md) + - [Development Guidelines on Video Recording](subsystems/subsys-multimedia-camera-record-guide.md) + - [Development Guidelines on Previewing](subsystems/subsys-multimedia-camera-preview-guide.md) + - [Audio/Video](subsystems/subsys-multimedia-video.md) + - [Overview](subsystems/subsys-multimedia-video-overview.md) + - [Development Guidelines on Media Playback](subsystems/subsys-multimedia-video-play-guide.md) + - [Development Guidelines on Media Recording](subsystems/subsys-multimedia-video-record-guide.md) + - Utils + - [Utils Overview](subsystems/subsys-utils-overview.md) + - [Utils Development Guidelines](subsystems/subsys-utils-guide.md) + - [Utils FAQ](subsystems/subsys-utils-faqs.md) + - AI Framework + - [AI Engine Framework](subsystems/subsys-aiframework-guide.md) + - [Development Environment](subsystems/subsys-aiframework-envbuild.md) + - [Technical Specifications](subsystems/subsys-aiframework-tech.md) + - [Code Management](subsystems/subsys-aiframework-tech-codemanage.md) + - [Naming](subsystems/subsys-aiframework-tech-name.md) + - [API Development](subsystems/subsys-aiframework-tech-interface.md) + - [Development Guidelines](subsystems/subsys-aiframework-devguide.md) + - [SDK](subsystems/subsys-aiframework-devguide-sdk.md) + - [Plug-in](subsystems/subsys-aiframework-devguide-plugin.md) + - [Configuration File](subsystems/subsys-aiframework-devguide-conf.md) + - [Development Examples](subsystems/subsys-aiframework-demo.md) + - [KWS SDK](subsystems/subsys-aiframework-demo-sdk.md) + - [KWS Plug-in](subsystems/subsys-aiframework-demo-plugin.md) + - [KWS Configuration File](subsystems/subsys-aiframework-demo-conf.md) + - Data Management + - [RDB](subsystems/subsys-data-relational-database.md) + - [RDB Overview](subsystems/subsys-data-relational-database-overview.md) + - [RDB Development](subsystems/subsys-data-relational-database-guide.md) + - [Lightweight Data Store](subsystems/subsys-data-storage.md) + - [Lightweight Data Store Overview](subsystems/subsys-data-storage-overview.md) + - [Lightweight Data Store Development](subsystems/subsys-data-storage-guide.md) + - Sensor + - [Sensor Overview](subsystems/subsys-sensor-overview.md) + - [Sensor Usage Guidelines](subsystems/subsys-sensor-guide.md) + - [Sensor Usage Example](subsystems/subsys-sensor-demo.md) + - USB + - [USB Overview](subsystems/subsys-usbservice-overview.md) + - [USB Usage Guidelines](subsystems/subsys-usbservice-guide.md) + - [USB Usage Example](subsystems/subsys-usbservice-demo.md) + - Application Framework + - [Overview](subsystems/subsys-application-framework-overview.md) + - [Setting Up a Development Environment](subsystems/subsys-application-framework-envbuild.md) + - [Development Guidelines](subsystems/subsys-application-framework-guide.md) + - [Development Example](subsystems/subsys-application-framework-demo.md) + - [OTA Update](subsystems/subsys-ota-guide.md) + - Telephony + - [Telephone Overview](subsystems/subsys-tel-overview.md) + - [Telephony Development](subsystems/subsys-tel-guide.md) + - Security + - [Overview](subsystems/subsys-security-overview.md) + - [Development on Application Signature Verification](subsystems/subsys-security-sigverify.md) + - [Development on Application Permission Management](subsystems/subsys-security-rightmanagement.md) + - [Development on IPC Authentication](subsystems/subsys-security-communicationverify.md) + - [Development on Device Security Level Management](subsystems/subsys-security-devicesecuritylevel.md) + - Startup + - [Startup](subsystems/subsys-boot-overview.md) + - [init Module](subsystems/subsys-boot-init.md) + - [appspawn Module](subsystems/subsys-boot-appspawn.md) + - [appspawn Module for the Standard System](subsystems/subsys-boot-appspawn-standard.md) + - [bootstrap Module](subsystems/subsys-boot-bootstrap.md) + - [syspara Module](subsystems/subsys-boot-syspara.md) + - [FAQs](subsystems/subsys-boot-faqs.md) + - [Reference](subsystems/subsys-boot-ref.md) + - DFX + - [DFX Overview](subsystems/subsys-dfx-overview.md) + - [HiLog Development](subsystems/subsys-dfx-hilog-rich.md) + - [HiLog\_Lite Development](subsystems/subsys-dfx-hilog-lite.md) + - [HiTrace Development](subsystems/subsys-dfx-hitrace.md) + - [HiCollie Development](subsystems/subsys-dfx-hicollie.md) + - [HiSysEvent Development](subsystems/subsys-dfx-hisysevent.md) + - [HiSysEvent Logging Configuration](subsystems/subsys-dfx-hisysevent-logging-config.md) + - [HiSysEvent Logging](subsystems/subsys-dfx-hisysevent-logging.md) + - [HiSysEvent Listening](subsystems/subsys-dfx-hisysevent-listening.md) + - [HiSysEvent Query](subsystems/subsys-dfx-hisysevent-query.md) + - [HiSysEvent Tool Usage](subsystems/subsys-dfx-hisysevent-tool.md) + +- Featured Topics + - HPM Part + - [HPM Part Overview](hpm-part/hpm-part-about.md) + - [HPM Part Development](hpm-part/hpm-part-development.md) + - [HPM Part Reference](hpm-part/hpm-part-reference.md) + +- Device Development Examples + + - Mini- and Small-System Devices + - WLAN-connected Products + - [LED Peripheral Control](guide/device-wlan-led-control.md) + - [Third-Party SDK Integration](guide/device-wlan-sdk.md) + - Cameras without a Screen + - Camera Control + - [Overview](guide/device-iotcamera-control-overview.md) + - Development Examples + - [Development Guidelines](guide/device-iotcamera-control-demo-photodevguide.md) + - [Video Recording](guide/device-iotcamera-control-demo-videodevguide.md) + - [Use Case](guide/device-iotcamera-control-example.md) + - Cameras with a Screen + - Screen and Camera Control + - [Overview](guide/device-camera-control-overview.md) + - Development Examples + - [Photographing](guide/device-camera-control-demo-photoguide.md) + - [Video Recording](guide/device-camera-control-demo-videoguide.md) + - [Previewing](guide/device-camera-control-demo-previewguide.md) + - [Use Case](guide/device-camera-control-example.md) + - Visual Application Development + - [Overview](guide/device-camera-visual-overview.md) + - [Preparations](guide/device-camera-visual-prepare.md) + - [Adding Pages](guide/device-camera-visual-addpage.md) + - [Building the Home Page](guide/device-camera-visual-firstpage.md) + - [Building the Details Page](guide/device-camera-visual-details.md) + - [Debugging and Packaging](guide/device-camera-visual-debug.md) + - [Running on the Device](guide/device-camera-visual-run.md) + - [FAQs](guide/device-camera-visual-faqs.md) + - Standard-System Devices + - [Development Guidelines on Clock Apps](guide/device-clock-guide.md) + - [Development Example for Platform Drivers](guide/device-driver-demo.md) + - [Development Example for Peripheral Drivers](guide/device-outerdriver-demo.md) + +- Debugging + + - [Test Subsystem](subsystems/subsys-testguide-test.md) + - R&D Tools + - [bytrace](subsystems/subsys-toolchain-bytrace-guide.md) + - [hdc\_std](subsystems/subsys-toolchain-hdc-guide.md) + - [hiperf](subsystems/subsys-toolchain-hiperf.md) + +- XTS + + - [XTS](subsystems/subsys-xts-guide.md) + +- Tools + + - [Docker Environment](get-code/gettools-acquire.md) + - [IDE](get-code/gettools-ide.md) + +- Reference + + - FAQs + - [FAQs Overview](faqs/faqs-overview.md) + - [Environment Setup](faqs/faqs-environment-setup.md) + - [Compilation and Building Subsystem](faqs-building.md) + - [Burning](faqs/faqs-burning.md) + - [Kernel](faqs/faqs-kernel.md) + - [Porting](faqs/faqs-porting.md) + - [Startup](faqs/faqs-startup.md) + - [System Applications](faqs/faqs-system-applications.md)