提交 6d7872d8 编写于 作者: O openharmony_ci 提交者: Gitee

!1014 #I4JM02 已完成,请验收

Merge pull request !1014 from Annie_wang/master
...@@ -8,7 +8,7 @@ The following example shows how to add configurations, implement the driver code ...@@ -8,7 +8,7 @@ The following example shows how to add configurations, implement the driver code
## Adding Configurations<a name="section27261067111"></a> ## Adding Configurations<a name="section27261067111"></a>
Add the driver configurations to the HDF configuration file \(for example, **vendor/hisilicon/xxx/config/device\_info**\). Example: Add the driver configurations to the HDF configuration file \(for example, **vendor/hisilicon/xxx/hdf_config/device\_info**\). Example:
``` ```
root { root {
...@@ -232,7 +232,7 @@ int main() ...@@ -232,7 +232,7 @@ int main()
>![](../public_sys-resources/icon-note.gif) **NOTE:** >![](../public_sys-resources/icon-note.gif) **NOTE:**
>The code compilation of user-level applications depends on the dynamic libraries **hdf\_core** and **osal** provided by the HDF because user-level applications use the message sending interface of the HDF. In the GN compilation file, add the following dependency relationships: >The code compilation of user-level applications depends on the dynamic libraries **hdf\_core** and **osal** provided by the HDF because user-level applications use the message sending interface of the HDF. In the GN compilation file, add the following dependency relationships:
>deps = \[ >deps = \[
>"//drivers/adapter/lite/uhdf/manager:hdf\_core", >"//drivers/adapter/uhdf/manager:hdf\_core",
>"//drivers/adapter/lite/uhdf/posix:hdf\_posix\_osal", >"//drivers/adapter/uhdf/posix:hdf\_posix\_osal",
>\] >\]
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
- [Options for Linking](#section17292133274) - [Options for Linking](#section17292133274)
In small devices with limited hardware resources, dynamic algorithm deployment capability is required to solve the problem that multiple algorithms cannot be deployed at the same time. The LiteOS-M kernel uses the Executable and Linkable Format \(ELF\) because it is easy to use and compatible with a wide variety of platforms. The LiteOS-M provides APIs similar to **dlopen** and **dlsym**. Apps can load and unload required algorithm libraries by using the APIs provided by the dynamic loading module. As shown in the following figure, the app obtains the corresponding information output through the API required by the third-party algorithm library. The third-party algorithm library depends on the basic APIs provided by the kernel, such as **malloc**. After the app loads the API and relocates undefined symbols, it can call the API to complete the function. The dynamic loading component supports only the Arm architecture.In addition, the shared library to be loaded needs signature verification or source restriction to ensure the security of the system. In small devices with limited hardware resources, dynamic algorithm deployment capability is required to solve the problem that multiple algorithms cannot be deployed at the same time. The LiteOS-M kernel uses the Executable and Linkable Format \(ELF\) because it is easy to use and compatible with a wide variety of platforms. The LiteOS-M provides APIs similar to **dlopen** and **dlsym**. Apps can load and unload required algorithm libraries by using the APIs provided by the dynamic loading module. As shown in the following figure, the app obtains the corresponding information output through the API required by the third-party algorithm library. The third-party algorithm library depends on the basic APIs provided by the kernel, such as **malloc**. After the app loads the API and relocates undefined symbols, it can call the API to complete the function. The dynamic loading component supports only the Arm architecture. In addition, the signature and source of the shared library to be loaded must be verified to ensure the system security.
**Figure 1** LiteOS-M kernel dynamic loading architecture<a name="fig3662173651419"></a> **Figure 1** LiteOS-M kernel dynamic loading architecture<a name="fig3662173651419"></a>
![](figure/liteos-m-kernel-dynamic-loading-architecture.png "liteos-m-kernel-dynamic-loading-architecture") ![](figure/liteos-m-kernel-dynamic-loading-architecture.png "liteos-m-kernel-dynamic-loading-architecture")
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册