@@ -222,6 +222,6 @@ Driver development based on the HDF involves driver implementation and driver co
> DEVICE_PRELOAD_INVALID
> } DevicePreload;
> ```
> If the **preload** field in the configuration file is set to **0** (DEVICE\_PRELOAD\_ENABLE), the driver is loaded by default during the system boot process. If **preload** is set to **1** (DEVICE\_PRELOAD\_ENABLE\_STEP2), the driver is loaded after a quick start is complete if the system supports quick start. If the system does not support quick start, the value **1** has the same meaning as DEVICE\_PRELOAD\_ENABLE. If **preload** is set to **2** (DEVICE\_PRELOAD\_DISABLE), the driver is dynamically loaded instead of being loaded during the system boot process. When a user-mode process requests the driver service (for details, see [Driver Message Mechanism Management](driver-hdf-news.md)), the HDF attempts to dynamically load the driver if the driver service does not exist.
> If the **preload** field in the configuration file is set to **0** (DEVICE\_PRELOAD\_ENABLE), the driver is loaded by default during the system boot process. If **preload** is set to **1** (DEVICE\_PRELOAD\_ENABLE\_STEP2), the driver is loaded after a quick start is complete if the system supports quick start. If the system does not support quick start, the value **1** has the same meaning as DEVICE\_PRELOAD\_ENABLE. If **preload** is set to **2** (DEVICE\_PRELOAD\_DISABLE), the driver is dynamically loaded instead of being loaded during the system boot process. When a user-mode process requests the driver service (for details, see [Driver Message Mechanism Management](driver-hdf-message-managements.md)), the HDF attempts to dynamically load the driver if the driver service does not exist.
>- Sequential loading \(drivers must be loaded by default\)
> In the configuration file, the **priority** field \(the value is an integer ranging from 0 to 200\) indicates the priority of the host and driver. For drivers in different hosts, a smaller host priority value indicates a higher driver loading priority; for drivers in the same host, a smaller driver priority value indicates a higher driver loading priority.
@@ -6,109 +6,109 @@ FAQs are used to help developers solve problems frequently encountered during de
### Mini and Small Systems<a name="section197234983111"></a>
-[What should I do if garbled characters and segmentation faults occur during hb installation?](environment-setup.md#section36351051193919)
-[What should I do if the message "cannot import 'sysconfig' from 'distutils'" is displayed during hb installation?](environment-setup.md#section48221013144011)
-[What should I do if the message "module 'platform' has no attribute 'linux\_distribution'" is displayed during hb installation?](environment-setup.md#section10307193044111)
-[What should I do if the message "Could not find a version that satisfies the requirement ohos-build" is displayed during hb installation?](environment-setup.md#section8692735427)
-[What should I do when the message configure: error: no acceptable C compiler found in $PATH is displayed during Python 3 installation?](environment-setup.md#section870082884217)
-[What should I do when the message -bash: make: command not found is displayed during Python 3 installation?](environment-setup.md#section198707170455)
-[What should I do when the message zlib not available is displayed during Python 3 installation?](environment-setup.md#section85401445204518)
-[What should I do when the message No module named '\_ctypes' is displayed during Python 3 installation?](environment-setup.md#section12202694460)
-[What should I do when an error with lsb\_release occurs during kconfiglib installation?](environment-setup.md#section5803174135115)
-[What should I do if the message "ImportError: No module named apt\_pkg" is displayed during the execution of an unidentifiable command?](environment-setup.md#section510820516515)
-[What should I do if garbled characters and segmentation faults occur during hb installation?](faqs-environment-setup.md#section36351051193919)
-[What should I do if the message "cannot import 'sysconfig' from 'distutils'" is displayed during hb installation?](faqs-environment-setup.md#section48221013144011)
-[What should I do if the message "module 'platform' has no attribute 'linux\_distribution'" is displayed during hb installation?](faqs-environment-setup.md#section10307193044111)
-[What should I do if the message "Could not find a version that satisfies the requirement ohos-build" is displayed during hb installation?](faqs-environment-setup.md#section8692735427)
-[What should I do when the message configure: error: no acceptable C compiler found in $PATH is displayed during Python 3 installation?](faqs-environment-setup.md#section870082884217)
-[What should I do when the message -bash: make: command not found is displayed during Python 3 installation?](faqs-environment-setup.md#section198707170455)
-[What should I do when the message zlib not available is displayed during Python 3 installation?](faqs-environment-setup.md#section85401445204518)
-[What should I do when the message No module named '\_ctypes' is displayed during Python 3 installation?](faqs-environment-setup.md#section12202694460)
-[What should I do when an error with lsb\_release occurs during kconfiglib installation?](faqs-environment-setup.md#section5803174135115)
-[What should I do if the message "ImportError: No module named apt\_pkg" is displayed during the execution of an unidentifiable command?](faqs-environment-setup.md#section510820516515)
## Compilation and Building<a name="section18826114693810"></a>
### Mini and Small Systems<a name="section693410399"></a>
-[Invalid -- w Option](compilation-and-building-subsystem.md#section67961431372)
-[Library ncurses Not Found](compilation-and-building-subsystem.md#section199631617371)
-[mcopy not Found](compilation-and-building-subsystem.md#section937435175)
-[No riscv File or Directory](compilation-and-building-subsystem.md#section1115535018713)
-[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?](compilation-and-building-subsystem.md#section1917790845)
-[What should I do when the message cannot find -lgcc is displayed during compilation and building?](compilation-and-building-subsystem.md#section141771701647)
-[What should I do when the message indicating Python cannot be found is displayed during compilation and building?](compilation-and-building-subsystem.md#section51781202415)
-[What should I do when the message indicating Python 3 cannot be found is displayed during compilation and building?](compilation-and-building-subsystem.md#section1917950148)
-[Invalid -- w Option](faqs-building.md#section67961431372)
-[Library ncurses Not Found](faqs-building.md#section199631617371)
-[mcopy not Found](faqs-building.md#section937435175)
-[No riscv File or Directory](faqs-building.md#section1115535018713)
-[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?](faqs-building.md#section1917790845)
-[What should I do when the message cannot find -lgcc is displayed during compilation and building?](faqs-building.md#section141771701647)
-[What should I do when the message indicating Python cannot be found is displayed during compilation and building?](faqs-building.md#section51781202415)
-[What should I do when the message indicating Python 3 cannot be found is displayed during compilation and building?](faqs-building.md#section1917950148)
## Burning<a name="section6556741113712"></a>
### Mini and Small Systems<a name="section1029933713812"></a>
-["Error: Opening COMxx: Access denied" Is Displayed After a Serial Port Is Selected for Burning](burning.md#section18988185615914)
-["Error: Opening COMxx: Access denied" Is Displayed After a Serial Port Is Selected for Burning](faqs-burning.md#section18988185615914)
-[What should I do when the image failed to be burnt?](burning.md#section1370982513317)
-[What should I do when no command output is displayed?](burning.md#section183421944953)
-[What should I do when Windows-based PC failed to be connected to the board?](burning.md#section1215410450215)
-[What should I do when the image failed to be burnt?](faqs-burning.md#section1370982513317)
-[What should I do when no command output is displayed?](faqs-burning.md#section183421944953)
-[What should I do when Windows-based PC failed to be connected to the board?](faqs-burning.md#section1215410450215)
-[What third-party components are supported by OpenHarmony?](kernel.md#section74138185411)
-[What should I do if the key length verification fails when OpenSSL is used on OpenHarmony?](kernel.md#section10564614135516)
-[Does setsockopt support SO\_RCVBUF and SO\_SNDBUF?](kernel.md#section2093373215556)
-[What third-party components are supported by OpenHarmony?](faqs-kernel.md#section74138185411)
-[What should I do if the key length verification fails when OpenSSL is used on OpenHarmony?](faqs-kernel.md#section10564614135516)
-[Does setsockopt support SO\_RCVBUF and SO\_SNDBUF?](faqs-kernel.md#section2093373215556)
### Compilation and Linking<a name="section080219574225"></a>
-[How do I run an application developed by ARM Linux on LiteOS-A?](kernel.md#section1164175713557)
-[What system is used for OpenHarmony compilation? What compiler is used?](kernel.md#section132287223567)
-[For a third-party component that is independently compiled into a static library and used on LiteOS-M, what should I do when the component's global variable value is incorrect or the system is suspended after the component's function is called?](kernel.md#section15189154225619)
-[What should I do if the message "use VFP register arguments, xxx.o does not" is displayed when LiteOS-A generates a target executable file?](kernel.md#section193571012578)
-[What should I do when calling clock\_gettime obtains an incorrect time?](kernel.md#section8973152015717)
-[How do I run an application developed by ARM Linux on LiteOS-A?](faqs-kernel.md#section1164175713557)
-[What system is used for OpenHarmony compilation? What compiler is used?](faqs-kernel.md#section132287223567)
-[For a third-party component that is independently compiled into a static library and used on LiteOS-M, what should I do when the component's global variable value is incorrect or the system is suspended after the component's function is called?](faqs-kernel.md#section15189154225619)
-[What should I do if the message "use VFP register arguments, xxx.o does not" is displayed when LiteOS-A generates a target executable file?](faqs-kernel.md#section193571012578)
-[What should I do when calling clock\_gettime obtains an incorrect time?](faqs-kernel.md#section8973152015717)
## Porting<a name="section129331824154313"></a>
-[How Do I Mount the Heap Memory to the Kernel?](porting.md#section21471536184914)
-[How Do I Mount the Heap Memory to the Kernel?](faqs-porting.md#section21471536184914)
## Startup and Recovery<a name="section83501764443"></a>
-[System startup interrupted due to "parse failed!" error](startup-and-recovery.md#section835662214302)
-[System automatically restarted again and again](startup-and-recovery.md#section3857921143117)
-[Failed to call the SetParameter or GetParameter API with correct parameter values](startup-and-recovery.md#section548818116328)
-[System startup interrupted due to "parse failed!" error](faqs-startup-and-recovery.md#section835662214302)
-[System automatically restarted again and again](faqs-startup-and-recovery.md#section3857921143117)
-[Failed to call the SetParameter or GetParameter API with correct parameter values](faqs-startup-and-recovery.md#section548818116328)
## System Services<a name="section19567132114455"></a>
### Utils<a name="section3214181711465"></a>
-[1. Failure in running the KV store on the LiteOS-A kernel \(Hi3516 or Hi3518\) due to incorrect path setting for the KV store](system-applications.md#section16520347131511)
-[1. Failure in running the KV store on the LiteOS-A kernel \(Hi3516 or Hi3518\) due to incorrect path setting for the KV store](faqs-system-applications.md#section16520347131511)
This use case takes **camera\_sample**\(contained in the source code\) as an example for photographing, recording, and previewing on the development board.
- You can obtain source code of the sample from **applications/sample/camera/media/camera\_sample.cpp**.
- Before running the sample camera, you need to compile, burn, and run the image. For details, see [Hi3516 Development Board](../quick-start/oem_minitinier_des_3516.md#section26131214194212).
- Before running the sample camera, you need to compile, burn, and run the image. For details, see [Hi3516 Development Board](../quick-start/quickstart-lite-introduction-hi3516#section26131214194212).
>After the development board is started, the home screen is loaded and displayed above the media layer by default. To prevent covering **camera\_sample**, you should remove the home screen during compilation or packaging.
# Running on the Device<a name="EN-US_TOPIC_0000001054809161"></a>
Before you install the application and run it on the development board, install the DevEco Device Tool by following operations provided in [HUAWEI DevEco Device Tool User Guide](https://device.harmonyos.com/en/docs/ide/user-guides/service_introduction-0000001050166905). Burn OpenHarmony into the development board, and run it on the board. For details about how to compile, burn, and run an image, see the [Hi3516 Development Board](../quick-start/oem_minitinier_des_3516.md#section26131214194212). After the image is running normally and the system is started properly, perform the following steps to install or uninstall the application:
Before you install the application and run it on the development board, install the DevEco Device Tool by following operations provided in [HUAWEI DevEco Device Tool User Guide](https://device.harmonyos.com/en/docs/ide/user-guides/service_introduction-0000001050166905). Burn OpenHarmony into the development board, and run it on the board. For details about how to compile, burn, and run an image, see the [Hi3516 Development Board](../quick-start/quickstart-lite-introduction-hi3516.md#section26131214194212). After the image is running normally and the system is started properly, perform the following steps to install or uninstall the application:
1. Store the compiled unsigned application installation package and installation tool in an SD card and insert the SD card into the development board slot. The installation tool is in **dev\_tools** of the directory where the image file is generated.
2. Run the following command to disable signature verification, which is enabled by default for application installation:
# Use Case<a name="EN-US_TOPIC_0000001055686082"></a>
- For details about the development board, compilation, burning, and image running, see [Hi3518 Development Board](../quick-start/oem_minitinier_des_3518.md#section14815247616). A compilation result file of sample code is stored in **out/ipcamera\_hi3518ev300/dev\_tools/bin/camera\_sample**. You can copy the file to a TF card, or modify the compilation script of **camera\_sample** to copy the result to **rootfs.img**.
- For details about the development board, compilation, burning, and image running, see [Hi3518 Development Board](../quick-start/quickstart-lite-introduction-hi3518.md#section14815247616). A compilation result file of sample code is stored in **out/ipcamera\_hi3518ev300/dev\_tools/bin/camera\_sample**. You can copy the file to a TF card, or modify the compilation script of **camera\_sample** to copy the result to **rootfs.img**.
Modify **output\_dir** in **applications/sample/camera/media/BUILD.gn**.
@@ -121,7 +121,7 @@ The following table describes the API for initializing a modem vendor library.
### Debugging and Verification<a name="section5351151517132"></a>
1. Use the [hdc\_std](https://gitee.com/openharmony/docs/blob/master/en/device-dev/subsystems/oem_subsys_toolchain_hdc_guide.md#preparations) tool to connect to a debugging device. Then, run the following command to send the generated **libril\_vendor.z.so** library file to the **/system/lib/** directory of the device. For details about how to integrate a library file, see [Integrating Modem Vendor Libraries](#section590mcpsimp).
1. Use the [hdc\_std](https://gitee.com/openharmony/docs/blob/master/en/device-dev/subsystems/subsys-toolchain-hdc-guide.md#preparations) tool to connect to a debugging device. Then, run the following command to send the generated **libril\_vendor.z.so** library file to the **/system/lib/** directory of the device. For details about how to integrate a library file, see [Integrating Modem Vendor Libraries](#section590mcpsimp).
@@ -591,7 +591,7 @@ The following uses the RTL8720 development board provided by Realtek as an examp
1.<aname="li1970321162111"></a>Create a directory for the chipset solution.
To create a directory based on [1-Configuration Rules for Modules, Chipset Solutions, and Product Solutions](#section1625463413327), run the following command in the root code directory:
To create a directory based on [Configuration Rules](#section2345183962710), run the following command in the root code directory:
```
mkdir -p device/realtek/rtl8720
...
...
@@ -658,7 +658,7 @@ You can use the Compilation and Building subsystem to customize product solution
1. Create a product directory.
The following uses the Wi-Fi IoT module on the RTL8720 development board as an example. Run the following command in the root code directory to create a product directory based on [1-Configuration Rules for Modules, Chipset Solutions, and Product Solutions](#section1625463413327):
The following uses the Wi-Fi IoT module on the RTL8720 development board as an example. Run the following command in the root code directory to create a product directory based on [Configuration Rules](#section2345183962710):