提交 30602761 编写于 作者: G Gloria

changed the folder name from figure to figures and updated links

Signed-off-by: wusongqing<wusongqing@huawei.com>
上级 ba6827c6
......@@ -114,7 +114,7 @@ hb set
```
**Figure 1** Setting page<a name="fig7947145854013"></a>
![](figure/setting-page.png "setting-page")
![](figures/setting-page.png "setting-page")
> **NOTE**<br>
> The mapping between the development board and the building GUI:
......
......@@ -138,7 +138,7 @@ You must install **Node.js** and HPM on your local PC. The installation procedur
4. Find your desired distribution and click it to view details.
**Figure 1** HPM page<a name="fig349416264520"></a>
![](figure/hpm-page.png "hpm-page")
![](figures/hpm-page.png "hpm-page")
2. Learn more about the distribution.
......@@ -147,7 +147,7 @@ You must install **Node.js** and HPM on your local PC. The installation procedur
3. Click **Custom** if you want to add or delete bundles of the distribution.
**Figure 2** Example distribution<a name="fig142484411121"></a>
![](figure/example-distribution.png "example-distribution")
![](figures/example-distribution.png "example-distribution")
3. Customize bundles.
1. Access the **Custom solution** page, as shown in the following figure.
......@@ -156,7 +156,7 @@ You must install **Node.js** and HPM on your local PC. The installation procedur
4. Click **Download**. The system generates the OpenHarmony code structure file \(for example, **my\_cust\_dist.zip**\) and saves it to your local PC.
**Figure 3** Customizing bundles<a name="fig1256020372197"></a>
![](figure/customizing-bundles.png "customizing-bundles")
![](figures/customizing-bundles.png "customizing-bundles")
4. Install bundles.
1. Decompress the downloaded code structure file using CMD on Windows (or shell in Linux).
......
......@@ -9,7 +9,7 @@ This environment combines chip security and system security features with upper-
**Figure 1** Security assurance
![](figure/security-assurance-framework.png)
![](figures/security-assurance-framework.png)
## Hardware Security
......@@ -74,7 +74,7 @@ For device with 128 KB to 128 MB of memory, the OpenHarmony lite kernel is recom
**Figure 2** How DAC works
![](figure/how-dac-works.png)
![](figures/how-dac-works.png)
- Capability mechanism
......@@ -103,7 +103,7 @@ OpenHarmony Universal KeyStore (HUKS) provides key and certificate management. F
**Figure 3** HUKS functions
![](figure/huks-functions.png)
![](figures/huks-functions.png)
The following algorithms are supported:
......@@ -145,7 +145,7 @@ To ensure secure transmit of user data between devices, a trust relationship and
**Figure 4** Process of establishing a trust relationship between devices
![](figure/how-an-iot-controller-and-an-iot-device-establish-a-trust-relationship.png)
![](figures/how-an-iot-controller-and-an-iot-device-establish-a-trust-relationship.png)
- IoT device interconnection security
......
......@@ -136,26 +136,26 @@ When collecting personal data, clearly and explicitly notify users of the data t
**Figure 1** Examples of a privacy notice and a privacy statement
![](figure/privacy-notice.png)![](figure/privacy-statement.png)
![](figures/privacy-notice.png)![](figures/privacy-statement.png)
- Personal data shall be collected for specified, explicit, and legitimate purposes and not further processed in a manner that is incompatible with those purposes. If the purposes are changed or a user withdraws their consent, you shall obtain user consent again before using the data. The figures below are examples of a privacy statement update and content withdrawal, respectively.
**Figure 2** Example dialog showing a privacy statement update<a name="fig3591610523"></a>
![](figure/privacy-statement-update.png)
![](figures/privacy-statement-update.png)
**Figure 3** Example dialog showing consent withdrawal<a name="fig12802152515583"></a>
![](figure/consent-withdrawal-1.png)![](figure/consent-withdrawal-2.png)
![](figures/consent-withdrawal-1.png)![](figures/consent-withdrawal-2.png)
- You shall provide an entry for users to view the privacy statement. For example, you can provide an entry on the **About** page of your application to view the privacy statement, as shown in the following figure.
**Figure 4** Example of About page providing an entry to the privacy statement<a name="fig11392538162011"></a>
![](figure/privacy-statement-entry.png)
![](figures/privacy-statement-entry.png)
**Minimization in Data Collection and Use**
......@@ -179,7 +179,7 @@ You shall obtain consent from users and comply with applicable laws and regulati
**Figure 5** Example dialog for requesting a sensitive permission<a name="fig20776134521514"></a>
![](figure/sensitive-permission-request.png)
![](figures/sensitive-permission-request.png)
- Users shall have the right to modify or withdraw the permissions granted to your product. When a user does not agree to a permission or data collection, the user shall be allowed to use the functions irrelevant to the permission or data collection. For example, the user can refuse to grant the camera permission to social or communication apps on Smart TVs, when using product functions irrelevant to the camera, such as voice calls.
- In scenarios where personal data is recorded, users shall be provided with the functions of adding, deleting, modifying, and viewing personal data.
......
......@@ -13,7 +13,7 @@ Under this framework, AI algorithm APIs will be standardized to facilitate distr
The following figure shows the AI engine framework.
**Figure 1** AI engine framework
![en-us_image_0000001200128073](figure/en-us_image_0000001200128073.png)
![en-us_image_0000001200128073](figures/en-us_image_0000001200128073.png)
### Setting Up the Environment
......@@ -34,7 +34,7 @@ The following figure shows the code dependency between modules of the AI engine
**Figure 2** Code dependency
![en-us_image_0000001151931738](figure/en-us_image_0000001151931738.jpg)
![en-us_image_0000001151931738](figures/en-us_image_0000001151931738.jpg)
#### Recommendation: Develop plug-ins and SDKs in the directories specified by the AI engine.
......
......@@ -683,15 +683,15 @@ The packing tool is generally integrated into the development tool or IDE, and y
- Example HAP File Structure
- Development view
![](figure/en-us_image_0000001062942690.png)
![](figures/en-us_image_0000001062942690.png)
- Compilation view
![](figure/en-us_image_0000001062334618.png)
![](figures/en-us_image_0000001062334618.png)
- Run the following commands to pack a HAP file using the packing tool.
![](figure/en-us_image_0000001062476933.png)
![](figures/en-us_image_0000001062476933.png)
```
$ java -jar hmos_app_packing_tool.jar --mode hap --json-path ./config.json --assets-path ./assets/ --ability-so-path ./libentry.so --index-path ./resources.index --out-path out/entry.hap --force true
......
......@@ -11,7 +11,7 @@ This section describes some basic concepts for you to better understand the Open
The ability management framework manages running status of OpenHarmony applications.
**Figure 1** Architecture of the ability management framework<a name="fig9759195514371"></a>
![](figure/architecture-of-the-ability-management-framework.png "architecture-of-the-ability-management-framework")
![](figures/architecture-of-the-ability-management-framework.png "architecture-of-the-ability-management-framework")
- **Ability** is the minimum unit for the system to schedule applications. It is a component that can implement an independent functionality. An application can contain one or more **Ability** instances. There are two types of templates that you can use to create an **Ability** instance: Page and Service.
- An **Ability using the Page template** \(Page ability for short\) provides a UI for interacting with users.
......@@ -23,14 +23,14 @@ The ability management framework manages running status of OpenHarmony applicati
- An **AbilitySlice** represents a single screen and its control logic. It is specific to Page abilities. A Page ability may contain one ability slice or multiple ability slices that provide highly relevant capabilities.
**Figure 2** Relationship between a Page ability and its ability slices<a name="fig1065819910347"></a>
![](figure/relationship-between-a-page-ability-and-its-ability-slices.png "relationship-between-a-page-ability-and-its-ability-slices")
![](figures/relationship-between-a-page-ability-and-its-ability-slices.png "relationship-between-a-page-ability-and-its-ability-slices")
- **Lifecycle** is a general term for all states of an ability, including **INITIAL**, **INACTIVE**, **ACTIVE**, and **BACKGROUND**.
**Figure 3** Lifecycle state transition of a Page ability<a name="fig56111543375"></a>
![](figure/fig1.png)
![](figures/fig1.png)
- **OnStart\(\)**
......@@ -88,7 +88,7 @@ The ability management framework manages running status of OpenHarmony applicati
The bundle management framework is provided by OpenHarmony for you to manage application bundles.
**Figure 4** Architecture of the bundle management framework<a name="fig85883251434"></a>
![](figure/architecture-of-the-bundle-management-framework.png "architecture-of-the-bundle-management-framework")
![](figures/architecture-of-the-bundle-management-framework.png "architecture-of-the-bundle-management-framework")
- **BundleKit** includes external APIs provided by the Bundle Manager Service, including the APIs for application installation and uninstallation, bundle information query, and bundle state change listeners.
- The **bundle scanning sub-module** parses pre-installed or installed bundles on the local device and extracts information from them for the bundle management module to manage and make the information persistent for storage.
......@@ -104,12 +104,12 @@ The bundle management framework is provided by OpenHarmony for you to manage app
The Ability Manager Service and Bundle Manager Service are the core modules of the ability management framework and bundle management framework, respectively. The two system-level services are registered and discovered by using the system service framework SAMgr, and they are used by manage abilities and bundles for other processes. The Ability Manager Service and Bundle Manager Service are provided as open APIs in the AbilityKit and BundleKit.
**Figure 5** Startup of the Ability Manager Service and Bundle Manager Service<a name="fig13121104711910"></a>
![](figure/startup-of-the-ability-manager-service-and-bundle-manager-service.png "startup-of-the-ability-manager-service-and-bundle-manager-service")
![](figures/startup-of-the-ability-manager-service-and-bundle-manager-service.png "startup-of-the-ability-manager-service-and-bundle-manager-service")
OpenHarmony applications can be installed and started after the two services are started.
**Figure 6** Application startup process<a name="fig756104112311"></a>
![](figure/application-startup-process.png "application-startup-process")
![](figures/application-startup-process.png "application-startup-process")
The home screen is the first OpenHarmony application started by the Ability Manager Service. After the home screen is started, the user can touch any installed OpenHarmony application on the home screen to start the particular application. The figure above shows the interaction process of starting an installed application from the home screen.
......
......@@ -7,7 +7,7 @@
During system startup, the error message "\[Init\] InitReadCfg, parse failed! please check file /etc/init.cfg format." is displayed, and the startup is interrupted, as shown in the following figure.
**Figure 1** Error information<a name="fig15217111545118"></a>
![](figure/error-information.png "error-information")
![](figures/error-information.png "error-information")
**Cause**
......
......@@ -8,7 +8,7 @@ The parameter management module, namely, sysparam, provides an easy-to-use key-v
Figure 1 System parameter operation primitives
![System parameter operation primitives](figure/system-parameter-operation-primitives.png)
![System parameter operation primitives](figures/system-parameter-operation-primitives.png)
**Table 1** Description of system parameter operation primitives
| Operation Primitive| Description|
......@@ -96,7 +96,7 @@ Each subsystem defines the system parameters of its own modules, including the s
**Figure 2** UGO rule structure
![UGO rule](figure/dac-definition.png)
![UGO rule](figures/dac-definition.png)
- SELinux policy for system parameter configuration
......
......@@ -7,7 +7,7 @@ The following figure shows the context structure of the Startup subsystem.
**Figure 1** Context structure of the Startup subsystem
![context-structure-of-the-Startup-subsystem](figure/context-structure-of-the-Startup-subsystem.png)
![context-structure-of-the-Startup-subsystem](figures/context-structure-of-the-Startup-subsystem.png)
When the system is powered on, the kernel loads and starts services and applications as follows:
......@@ -426,7 +426,7 @@ Currently, OpenHarmony supports booting from partitions A and B (active and stan
1. Burn the original image, and view the device information of each partition.
![Original partition](figure/ABStartup_1.png)
![Original partition](figures/ABStartup_1.png)
Use the original image to construct images of the partitions used for partition A/B booting, and test the partition A/B booting function.
- Copy the **system** and **vendor** images, and add the suffix **\_b** to them.
......@@ -441,16 +441,16 @@ Currently, OpenHarmony supports booting from partitions A and B (active and stan
1. Run the **cat /proc/cmdline** command. If the command output contains **bootslot=2**, the system supports partition A/B booting.
![cmdline](figure/ABStartup_2.png)
![cmdline](figures/ABStartup_2.png)
2. Run the **param get ohos.boot.bootslot** command. If the command output contains **2**, the **bootslot** information is successfully written to the **parameter.txt**.
3. Run the **ls -l /dev/block/by-name** command. If the command output contains **system_b** and **vendor_b**, device nodes are successfully created in partition B.
![Device information](figure/ABStartup_3.png)
![Device information](figures/ABStartup_3.png)
4. Run the **df -h** command to check the partitions mounted to the system.
![Partition information](figure/ABStartup_4.png)
![Partition information](figures/ABStartup_4.png)
As shown in the figure, partition **mmcblk0p6** is mounted to the root file system (represented by a slash), and partition **mmcblk0p7** is mounted to **/vendor**. Based on the command output in step 3, **mmcblk0p6** is the **system** partition, and **mmcblk0p7** is the **vendor** partition. That is, the mounted partitions are the default partitions, that is, **system** and **vendor** partitions without suffixes. In other words, partition A is the default partition.
......@@ -458,21 +458,21 @@ Currently, OpenHarmony supports booting from partitions A and B (active and stan
1) Run the **partitionslot setactive 2** command to set the slot of the active partition to **2**, that is, the slot of partition B.
![Partition slot configuration](figure/ABStartup_5.png)
![Partition slot configuration](figures/ABStartup_5.png)
2) Run the **partitionslot getslot** command to check the configured slot.
![View Slot](figure/ABStartup_6.png)
![View Slot](figures/ABStartup_6.png)
If **current slot** is **2**, the slot of the active partition is successfully set to **2**.
3) Upon restarting, run the **df -h** command to check the partitions mounted to the system.
According to the command output, partition **mmcblk0p11** is mounted to the root file system, and partition **mmcblk0p12** is mounted to **/vendor**.
![Mounting information](figure/ABStartup_7.png)
![Mounting information](figures/ABStartup_7.png)
4) Run the **ls -l /dev/block/by-name** command again.
![New device information](figure/ABStartup_8.png)
![New device information](figures/ABStartup_8.png)
**mmcblk0p11** corresponds to **system_b**, and **mmcblk0p12** corresponds to **vendor_b**. That is, the system is successfully booted from partition B.
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册