/vendor
@@ -80,5 +80,5 @@ OpenHarmony的device目录是基础芯片的适配目录,如果在三方芯片
## 移植规范
- 满足OpenHarmony[开源贡献基本规范和准则](https://gitee.com/openharmony/docs/blob/master/zh-cn/contribute/%E5%8F%82%E4%B8%8E%E8%B4%A1%E7%8C%AE.md)。
-- 三方芯片适配所需要贡献的代码主要在device、vendor和arch三个目录,参照[内核目录规范](transplant-chip-kernel-overview.md)和[板级目录规范](transplant-chip-board-overview.md#section6204129143013)满足基本目录命名和使用规范。
+- 三方芯片适配所需要贡献的代码主要在device、vendor和arch三个目录,参照[内核目录规范](porting-chip-kernel-overview.md)和[板级目录规范](porting-chip-board-overview.md#section6204129143013)满足基本目录命名和使用规范。
diff --git a/zh-cn/device-dev/porting/transplant-chip-board-bundle.md b/zh-cn/device-dev/porting/porting-chip-board-bundle.md
similarity index 99%
rename from zh-cn/device-dev/porting/transplant-chip-board-bundle.md
rename to zh-cn/device-dev/porting/porting-chip-board-bundle.md
index 8e235f7c54dd67da05510aa4f0e80a4e71e2c183..d29e4480efa8927c6f4d797e3b0cbd8a2af05f9e 100644
--- a/zh-cn/device-dev/porting/transplant-chip-board-bundle.md
+++ b/zh-cn/device-dev/porting/porting-chip-board-bundle.md
@@ -19,7 +19,6 @@
}
```
-
注意,上面的修改最好都新建一个config或者新建一个xxx\_alt.c文件来修改,不要直接在原先的代码中修改,侵入式的修改会导致后续版本升级出现大量零散冲突,增加升级维护成本。
2. 制作patch
diff --git a/zh-cn/device-dev/porting/transplant-chip-board-component.md b/zh-cn/device-dev/porting/porting-chip-board-component.md
similarity index 100%
rename from zh-cn/device-dev/porting/transplant-chip-board-component.md
rename to zh-cn/device-dev/porting/porting-chip-board-component.md
diff --git a/zh-cn/device-dev/porting/transplant-chip-board-drive.md b/zh-cn/device-dev/porting/porting-chip-board-driver.md
similarity index 100%
rename from zh-cn/device-dev/porting/transplant-chip-board-drive.md
rename to zh-cn/device-dev/porting/porting-chip-board-driver.md
diff --git a/zh-cn/device-dev/porting/transplant-chip-board-hal.md b/zh-cn/device-dev/porting/porting-chip-board-hal.md
similarity index 100%
rename from zh-cn/device-dev/porting/transplant-chip-board-hal.md
rename to zh-cn/device-dev/porting/porting-chip-board-hal.md
diff --git a/zh-cn/device-dev/porting/transplant-chip-board-overview.md b/zh-cn/device-dev/porting/porting-chip-board-overview.md
similarity index 94%
rename from zh-cn/device-dev/porting/transplant-chip-board-overview.md
rename to zh-cn/device-dev/porting/porting-chip-board-overview.md
index 732872af5b5e2558bf8b298f918872b2eec030b5..eada2b43da18f4f8371ab449a0b3570d27ce30c1 100644
--- a/zh-cn/device-dev/porting/transplant-chip-board-overview.md
+++ b/zh-cn/device-dev/porting/porting-chip-board-overview.md
@@ -17,7 +17,7 @@
## 板级目录规范
-板级系统编译适配参考[编译系统介绍](transplant-chip-prepare-process.md),板级相关的驱动、SDK、目录、HAL实现存放在device目录,目录结构和具体描述如下:
+板级系统编译适配参考[编译系统介绍](porting-chip-prepare-process.md),板级相关的驱动、SDK、目录、HAL实现存放在device目录,目录结构和具体描述如下:
```
.
diff --git a/zh-cn/device-dev/porting/transplant-chip-board-xts.md b/zh-cn/device-dev/porting/porting-chip-board-xts.md
similarity index 100%
rename from zh-cn/device-dev/porting/transplant-chip-board-xts.md
rename to zh-cn/device-dev/porting/porting-chip-board-xts.md
diff --git a/zh-cn/device-dev/porting/porting-chip-board.md b/zh-cn/device-dev/porting/porting-chip-board.md
new file mode 100644
index 0000000000000000000000000000000000000000..2a5223401bcba6e6b8f28aee176d36289a362970
--- /dev/null
+++ b/zh-cn/device-dev/porting/porting-chip-board.md
@@ -0,0 +1,15 @@
+# 板级系统移植
+
+- **[移植概述](porting-chip-board-overview.md)**
+
+- **[板级驱动适配](porting-chip-board-driver.md)**
+
+- **[HAL层实现](porting-chip-board-hal.md)**
+
+- **[系统组件调用](porting-chip-board-component.md)**
+
+- **[三方组件适配](porting-chip-board-bundle.md)**
+
+- **[XTS认证](porting-chip-board-xts.md)**
+
+
diff --git a/zh-cn/device-dev/porting/transplant-chip-faqs.md b/zh-cn/device-dev/porting/porting-chip-faqs.md
similarity index 100%
rename from zh-cn/device-dev/porting/transplant-chip-faqs.md
rename to zh-cn/device-dev/porting/porting-chip-faqs.md
diff --git a/zh-cn/device-dev/porting/transplant-chip-kernel-adjustment.md b/zh-cn/device-dev/porting/porting-chip-kernel-adjustment.md
similarity index 100%
rename from zh-cn/device-dev/porting/transplant-chip-kernel-adjustment.md
rename to zh-cn/device-dev/porting/porting-chip-kernel-adjustment.md
diff --git a/zh-cn/device-dev/porting/transplant-chip-kernel-overview.md b/zh-cn/device-dev/porting/porting-chip-kernel-overview.md
similarity index 100%
rename from zh-cn/device-dev/porting/transplant-chip-kernel-overview.md
rename to zh-cn/device-dev/porting/porting-chip-kernel-overview.md
diff --git a/zh-cn/device-dev/porting/transplant-chip-kernel-verify.md b/zh-cn/device-dev/porting/porting-chip-kernel-verify.md
similarity index 95%
rename from zh-cn/device-dev/porting/transplant-chip-kernel-verify.md
rename to zh-cn/device-dev/porting/porting-chip-kernel-verify.md
index fc16eeb224f18814ed2c114a8fe3f4a07fea59b3..1df4bdd6f7b3edf8737962336b39e9bf78c4d22b 100644
--- a/zh-cn/device-dev/porting/transplant-chip-kernel-verify.md
+++ b/zh-cn/device-dev/porting/porting-chip-kernel-verify.md
@@ -55,5 +55,5 @@ LITE_OS_SEC_TEXT_INIT int main(void)
}
```
-第一个任务运行正常后,说明最小系统的核心流程基本OK;由于xts用例框架对外依赖较多,主要是utils、bootstrap的链接脚本和编译框架,暂时无法支撑内核单独跑xts;此处略过内核测试套的测试,可以通过[XTS测试套](transplant-chip-board-xts.md)来覆盖最小系统是否完整移植成功。
+第一个任务运行正常后,说明最小系统的核心流程基本OK;由于xts用例框架对外依赖较多,主要是utils、bootstrap的链接脚本和编译框架,暂时无法支撑内核单独跑xts;此处略过内核测试套的测试,可以通过[XTS测试套](porting-chip-board-xts.md)来覆盖最小系统是否完整移植成功。
diff --git a/zh-cn/device-dev/porting/porting-chip-kernel.md b/zh-cn/device-dev/porting/porting-chip-kernel.md
new file mode 100644
index 0000000000000000000000000000000000000000..b488ca9132ba1421d84a15ee0a28182b3e431052
--- /dev/null
+++ b/zh-cn/device-dev/porting/porting-chip-kernel.md
@@ -0,0 +1,9 @@
+# 内核移植
+
+- **[移植概述](porting-chip-kernel-overview.md)**
+
+- **[内核基础适配](porting-chip-kernel-adjustment.md)**
+
+- **[内核移植验证](porting-chip-kernel-verify.md)**
+
+
diff --git a/zh-cn/device-dev/porting/transplant-chip-prepare-process.md b/zh-cn/device-dev/porting/porting-chip-prepare-process.md
similarity index 99%
rename from zh-cn/device-dev/porting/transplant-chip-prepare-process.md
rename to zh-cn/device-dev/porting/porting-chip-prepare-process.md
index f8128b4735c30e9c4d669c3cb8f302a3caf435ef..c9fe780d754e5142e3259f245f8f7d4bf14c18d6 100644
--- a/zh-cn/device-dev/porting/transplant-chip-prepare-process.md
+++ b/zh-cn/device-dev/porting/porting-chip-prepare-process.md
@@ -25,7 +25,6 @@
编译构建会按产品的选择的开发板,加载对应的config.gni,该文件中变量对系统组件全局可见。
-
以芯片解决方案厂商realtek的“rtl8720“开发板为例,device/realtek/rtl8720/liteos\_m/config.gni的内容如下:
```
diff --git a/zh-cn/device-dev/porting/transplant-chip-prepare.md b/zh-cn/device-dev/porting/porting-chip-prepare.md
similarity index 31%
rename from zh-cn/device-dev/porting/transplant-chip-prepare.md
rename to zh-cn/device-dev/porting/porting-chip-prepare.md
index 358da845b74ef9ce278a3bff22ee09be59501cb2..64ee48b8940843e378cc2fd767f0206ae6a5d444 100644
--- a/zh-cn/device-dev/porting/transplant-chip-prepare.md
+++ b/zh-cn/device-dev/porting/porting-chip-prepare.md
@@ -1,7 +1,7 @@
# 移植准备
-- **[移植须知](transplant-chip-prepare-knows.md)**
+- **[移植须知](oem_transplant_chip_prepare_knows.md)**
-- **[编译构建适配流程](transplant-chip-prepare-process.md)**
+- **[编译构建适配流程](porting-chip-prepare-process.md)**
diff --git a/zh-cn/device-dev/porting/porting-minichip.md b/zh-cn/device-dev/porting/porting-minichip.md
new file mode 100644
index 0000000000000000000000000000000000000000..cbd7bbcbda08bc96e2a9b18a8d628426544e38d9
--- /dev/null
+++ b/zh-cn/device-dev/porting/porting-minichip.md
@@ -0,0 +1,11 @@
+# 轻量系统芯片移植指导
+
+- **[移植准备](porting-chip-prepare.md)**
+
+- **[内核移植](porting-chip-kernel.md)**
+
+- **[板级系统移植](porting-chip-board.md)**
+
+- **[常见问题](porting-chip-faqs.md)**
+
+
diff --git a/zh-cn/device-dev/porting/transplant-smallchip-drive-oom.md b/zh-cn/device-dev/porting/porting-smallchip-driver-oom.md
similarity index 100%
rename from zh-cn/device-dev/porting/transplant-smallchip-drive-oom.md
rename to zh-cn/device-dev/porting/porting-smallchip-driver-oom.md
diff --git a/zh-cn/device-dev/porting/transplant-smallchip-drive-des.md b/zh-cn/device-dev/porting/porting-smallchip-driver-overview.md
similarity index 100%
rename from zh-cn/device-dev/porting/transplant-smallchip-drive-des.md
rename to zh-cn/device-dev/porting/porting-smallchip-driver-overview.md
diff --git a/zh-cn/device-dev/porting/transplant-smallchip-drive-plat.md b/zh-cn/device-dev/porting/porting-smallchip-driver-plat.md
similarity index 100%
rename from zh-cn/device-dev/porting/transplant-smallchip-drive-plat.md
rename to zh-cn/device-dev/porting/porting-smallchip-driver-plat.md
diff --git a/zh-cn/device-dev/porting/porting-smallchip-driver.md b/zh-cn/device-dev/porting/porting-smallchip-driver.md
new file mode 100644
index 0000000000000000000000000000000000000000..5b2a0921c904135c90d0decda6f55b96a8737b81
--- /dev/null
+++ b/zh-cn/device-dev/porting/porting-smallchip-driver.md
@@ -0,0 +1,9 @@
+# 驱动移植
+
+- **[移植概述](porting-smallchip-driver-overview.md)**
+
+- **[平台驱动移植](porting-smallchip-driver-plat.md)**
+
+- **[器件驱动移植](porting-smallchip-driver-oom.md)**
+
+
diff --git a/zh-cn/device-dev/porting/transplant-smallchip-kernel-a.md b/zh-cn/device-dev/porting/porting-smallchip-kernel-a.md
similarity index 100%
rename from zh-cn/device-dev/porting/transplant-smallchip-kernel-a.md
rename to zh-cn/device-dev/porting/porting-smallchip-kernel-a.md
diff --git a/zh-cn/device-dev/porting/transplant-smallchip-kernel-linux.md b/zh-cn/device-dev/porting/porting-smallchip-kernel-linux.md
similarity index 99%
rename from zh-cn/device-dev/porting/transplant-smallchip-kernel-linux.md
rename to zh-cn/device-dev/porting/porting-smallchip-kernel-linux.md
index 911329dbd1b9971e422b9242171c031102a137b0..a467d3cdf26edadcd26a6f25da304bb265e852d7 100644
--- a/zh-cn/device-dev/porting/transplant-smallchip-kernel-linux.md
+++ b/zh-cn/device-dev/porting/porting-smallchip-kernel-linux.md
@@ -87,7 +87,6 @@ Linux内核移植主要涉及基于linux内核基线合入三方芯片补丁后
启动配置在vendor/\{company\}/\{product\}/init\_configs/etc目录下,包括fstab、rsS和Sxxx文件,请按开发板实际情况配置。
-
编译完成后,可通过检查产品编译输出目录下的rootfs内容,确认rootfs.img文件生成是否符合预期。
2. 调试init进程和shell。
diff --git a/zh-cn/device-dev/porting/transplant-smallchip-kernel.md b/zh-cn/device-dev/porting/porting-smallchip-kernel.md
similarity index 33%
rename from zh-cn/device-dev/porting/transplant-smallchip-kernel.md
rename to zh-cn/device-dev/porting/porting-smallchip-kernel.md
index a1adc2dde7e4c576f8fc9137c42217474a15311e..2d13c4839377e4a433c3efb6cd1a446e3f780074 100644
--- a/zh-cn/device-dev/porting/transplant-smallchip-kernel.md
+++ b/zh-cn/device-dev/porting/porting-smallchip-kernel.md
@@ -1,7 +1,7 @@
# 移植内核
-- **[LiteOS-A内核](transplant-smallchip-kernel-a.md)**
+- **[LiteOS-A内核](porting-smallchip-kernel-a.md)**
-- **[Linux内核](transplant-smallchip-kernel-linux.md)**
+- **[Linux内核](porting-smallchip-kernel-linux.md)**
diff --git a/zh-cn/device-dev/porting/transplant-smallchip-prepare-building.md b/zh-cn/device-dev/porting/porting-smallchip-prepare-building.md
similarity index 100%
rename from zh-cn/device-dev/porting/transplant-smallchip-prepare-building.md
rename to zh-cn/device-dev/porting/porting-smallchip-prepare-building.md
diff --git a/zh-cn/device-dev/porting/transplant-smallchip-prepare-needs.md b/zh-cn/device-dev/porting/porting-smallchip-prepare-needs.md
similarity index 100%
rename from zh-cn/device-dev/porting/transplant-smallchip-prepare-needs.md
rename to zh-cn/device-dev/porting/porting-smallchip-prepare-needs.md
diff --git a/zh-cn/device-dev/porting/transplant-smallchip-prepare.md b/zh-cn/device-dev/porting/porting-smallchip-prepare.md
similarity index 32%
rename from zh-cn/device-dev/porting/transplant-smallchip-prepare.md
rename to zh-cn/device-dev/porting/porting-smallchip-prepare.md
index 6ec4b45dff790140fe40830288b5c0bb961ceddb..b76d5afe44d24f5c0294e9d5f0a8c5c944e0b72c 100644
--- a/zh-cn/device-dev/porting/transplant-smallchip-prepare.md
+++ b/zh-cn/device-dev/porting/porting-smallchip-prepare.md
@@ -1,7 +1,7 @@
# 移植准备
-- **[移植须知](transplant-smallchip-prepare-needs.md)**
+- **[移植须知](porting-smallchip-prepare-needs.md)**
-- **[编译构建](transplant-smallchip-prepare-building.md)**
+- **[编译构建](porting-smallchip-prepare-building.md)**
diff --git a/zh-cn/device-dev/porting/porting-smallchip.md b/zh-cn/device-dev/porting/porting-smallchip.md
new file mode 100644
index 0000000000000000000000000000000000000000..df2ce355915f58107c9f9e431a25d69a86d83351
--- /dev/null
+++ b/zh-cn/device-dev/porting/porting-smallchip.md
@@ -0,0 +1,9 @@
+# 小型系统芯片移植指导
+
+- **[移植准备](porting-smallchip-prepare.md)**
+
+- **[移植内核](porting-smallchip-kernel.md)**
+
+- **[驱动移植](porting-smallchip-driver.md)**
+
+
diff --git a/zh-cn/device-dev/porting/transplant-thirdparty-cmake.md b/zh-cn/device-dev/porting/porting-thirdparty-cmake.md
similarity index 99%
rename from zh-cn/device-dev/porting/transplant-thirdparty-cmake.md
rename to zh-cn/device-dev/porting/porting-thirdparty-cmake.md
index fb23041d28a62d9768390ecdf41c6cc3acd4c4e2..670acc13ba9d4cbd6884beb806e069d7705ba545 100644
--- a/zh-cn/device-dev/porting/transplant-thirdparty-cmake.md
+++ b/zh-cn/device-dev/porting/porting-thirdparty-cmake.md
@@ -227,7 +227,7 @@ CMake方式可通过指定工具链进行交叉编译,修改并编译该库,
1. 搭建OpenHarmony环境
- 以hi3518ev300为例,编译出OpenHarmony镜像,烧写到开发板,参考[开发Hi3518第一个示例程序](../quick-start/quickstart-lite-steps-board3518-running.md)。
+ 以hi3518ev300为例,编译出OpenHarmony镜像,烧写到开发板,参考[开发Hi3518第一个示例程序](../quick-start/quickstart-lite-steps-hi3518-running.md)。
进入系统如下所示:
diff --git a/zh-cn/device-dev/porting/transplant-thirdparty-makefile.md b/zh-cn/device-dev/porting/porting-thirdparty-makefile.md
similarity index 97%
rename from zh-cn/device-dev/porting/transplant-thirdparty-makefile.md
rename to zh-cn/device-dev/porting/porting-thirdparty-makefile.md
index ddabc1ef30ae29930bea14394ced65ec43e227a2..fc7d05814229acdaca26ca75d2f054653d834118 100644
--- a/zh-cn/device-dev/porting/transplant-thirdparty-makefile.md
+++ b/zh-cn/device-dev/porting/porting-thirdparty-makefile.md
@@ -148,7 +148,7 @@
## 测试
-yxml库测试步骤与double-conversion库基本一致,可参考[CMake方式组织编译的库移植](transplant-thirdparty-cmake.md#section6686144293611)的测试过程,以下内容介绍yxml库测试用例的使用方法:
+yxml库测试步骤与double-conversion库基本一致,可参考[CMake方式组织编译的库移植](porting-thirdparty-cmake.md#section6686144293611)的测试过程,以下内容介绍yxml库测试用例的使用方法:
**表 3** 生成的test目录结构示意
@@ -236,7 +236,7 @@ echo "All tests completed successfully."
## 将该库编译添加到OpenHarmony工程中
-yxml库添加的过程除了适配文件build.gn和config.gni有些许变化外,其他和double-conversion库完全一致,参考[CMake方式组织编译的库移植](transplant-thirdparty-cmake.md#section1651053153715)的配置过程。要修改的适配文件及添加后的目录结构如下:
+yxml库添加的过程除了适配文件build.gn和config.gni有些许变化外,其他和double-conversion库完全一致,参考[CMake方式组织编译的库移植](porting-thirdparty-cmake.md#section1651053153715)的配置过程。要修改的适配文件及添加后的目录结构如下:
- yxml库新增的BUILD.gn实现如下:
diff --git a/zh-cn/device-dev/porting/transplant-thirdparty-overview.md b/zh-cn/device-dev/porting/porting-thirdparty-overview.md
similarity index 100%
rename from zh-cn/device-dev/porting/transplant-thirdparty-overview.md
rename to zh-cn/device-dev/porting/porting-thirdparty-overview.md
diff --git a/zh-cn/device-dev/porting/porting-thirdparty.md b/zh-cn/device-dev/porting/porting-thirdparty.md
new file mode 100644
index 0000000000000000000000000000000000000000..306476fd681c9d20af7a121166156e27402696be
--- /dev/null
+++ b/zh-cn/device-dev/porting/porting-thirdparty.md
@@ -0,0 +1,9 @@
+# 三方库移植指导
+
+- **[概述](porting-thirdparty-overview.md)**
+
+- **[CMake方式组织编译的库移植](porting-thirdparty-cmake.md)**
+
+- **[Makefile方式组织编译的库移植](porting-thirdparty-makefile.md)**
+
+
diff --git a/zh-cn/device-dev/porting/porting.md b/zh-cn/device-dev/porting/porting.md
new file mode 100644
index 0000000000000000000000000000000000000000..735393aaf20573cd471bd71ca0cbef732244b68b
--- /dev/null
+++ b/zh-cn/device-dev/porting/porting.md
@@ -0,0 +1,11 @@
+# 移植
+
+- **[三方库移植指导](porting-thirdparty.md)**
+
+- **[轻量系统芯片移植指导](porting-minichip.md)**
+
+- **[小型系统芯片移植指导](porting-smallchip.md)**
+
+- **[标准系统移植指南](standard-system-porting-guide.md)**
+
+
diff --git a/zh-cn/device-dev/porting/standard-system-porting-guide.md b/zh-cn/device-dev/porting/standard-system-porting-guide.md
index ff10fc3e43412044f8b7d59a7c5416dcae9617ac..b0013ba943a68b299159983804af5bc7cd5ee3cc 100644
--- a/zh-cn/device-dev/porting/standard-system-porting-guide.md
+++ b/zh-cn/device-dev/porting/standard-system-porting-guide.md
@@ -1,378 +1,510 @@
-# 标准系统移植指南
-
-
-
-
-
-- [定义开发板](#定义开发板)
- - [1. 定义SOC](#1-定义soc)
- - [2. 定义产品](#2-定义产品)
- - [3. 移植验证](#3-移植验证)
-- [内核移植](#内核移植)
- - [1. 为SOC添加内核构建的子系统](#1-为soc添加内核构建的子系统)
- - [2. 编译内核](#2-编译内核)
- - [3. 移植验证](#3-移植验证-1)
-- [HDF驱动移植](#hdf驱动移植)
- - [1. LCD](#1-lcd)
- - [2. 触摸屏](#2-触摸屏)
- - [3. WLAN](#3-wlan)
-
-
-
-本文描述了移植一块开发板的通用步骤,和具体芯片相关的详细移植过程无法在此一一列举。后续社区还会陆续放出开发板移植的实例供开发者参考。
-
-## 定义开发板
-
-本文以移植名为MyProduct的开发板为例讲解移植过程,假定MyProduct是MyProductVendor公司的开发板,使用MySoCVendor公司生产的MySOC芯片作为处理器。
-
-### 1. 定义SOC
-
-在`//productdefine/common/device`目录下创建以SOC名字命名的json文件,并指定CPU的架构。
-
-如要移植一个叫MySOC的SOC,这个SOC采用32位ARM内核。配置如下:
-
-`//productdefine/common/device/MySOC.json`
-```json
-{
- "target_os": "ohos",
- "target_cpu": "arm"
-}
-```
-根据实际情况,这里的target_cpu也可能是arm64 、riscv、 x86等。当前仅支持arm作为target_cpu。
-
-### 2. 定义产品
-
-在`//productdefine/common/products`目录下创建以产品名命名的json文件。该文件用于描述产品所使用的SOC 以及 所需的子系统。
-配置如下
-`//productdefine/common/products/MyProduct.json`
-```json
-{
- "product_name": "MyProduct",
- "product_company" : "MyProductVendor",
- "product_device": "MySOC",
- "version": "2.0",
- "type": "standard",
- "parts":{
- "ace:ace_engine_standard":{},
- "ace:napi":{},
- ...
- "xts:phone_tests":{}
- }
-}
-
-```
-主要的配置内容包括:
-
-1. `product_device`:配置所使用的SOC
-2. `type`: 配置系统的级别, 这里直接standard即可
-3. `parts`: 系统需要启用的子系统。子系统可以简单理解位一块独立构建的功能块。
-
-已定义的子系统可以在`//build/subsystem_config.json`中找到。当然你也可以定制子系统。
-
-这里建议先拷贝Hi3516DV300 开发板的配置文件,删除掉 hisilicon_products 这个子系统。这个子系统为Hi3516DV300 SOC编译内核,显然不适合MySOC。
-
-### 3. 移植验证
-
-至此,你可以使用如下命令,启动你产品的构建了:
-
-`./build.sh --product-name MyProduct `
-
-构建完成后,可以在如下目录看到构建出来的OpenHarmony镜像文件:
-
-`//out/ohos-arm-release/packages/phone/images`
-
-## 内核移植
-
-这一步需要移植Linux内核,让Linux内核可以成功运行起来。
-
-### 1. 为SOC添加内核构建的子系统
-
-修改文件 `//build/subsystem_config.json` 增加一个子系统. 配置如下:
-
-```json
- "MySOCVendor_products": {
- "project": "hmf/MySOCVendor_products",
- "path": "device/MySOCVendor/MySOC/build",
- "name": "MySOCVendor_products",
- "dir": "device/MySOCVendor"
- },
-```
-
-接着需要修改定义产品的配置文件`//productdefine/common/products/MyProduct.json`。将刚刚定义的子系统加入到产品中。
-
-### 2. 编译内核
-
-在上一节定义subsystem的时候,定义了构建的路径path,即`//device/MySOCVendor/MySOC/build`。这一节会在这个目录创建构建脚本,告诉构建系统如何构建内核。
-
-目前OpenHarmony源码中提供了Linux 4.19的内核,归档在`//kernel/linux-4.19`。请尽可能使用这个内核,如果芯片厂家未提供该版本的内核,请使用厂家提供的版本。
-每个SOC必然需要对内核做一些修改或扩展,建议采用补丁的方式。
-
-建议的目录结构如下:
-```
-├── build
-│ ├── kernel
-│ │ ├── linux
-│ │ ├──standard_patch_for_4_19.patch
-│ ├── BUILD.gn
-│ ├── ohos.build
-```
-BUILD.gn是subsystem构建的唯一入口。
-
-期望的构建结果
-
-| 文件 | 文件说明|
-|------|------|
-|$root_build_dir/packages/phone/images/uImage| 内核镜像|
-|$root_build_dir/packages/phone/images/uboot | bootloader镜像|
-
-### 3. 移植验证
-
-启动编译,验证预期的kernel镜像是否成功生成。
-
-## HDF驱动移植
-
-### 1. LCD
-HDF为LCD设计了驱动模型。支持一块新的LCD,需要编写一个驱动,在驱动中生成模型的实例,并完成注册。
-
-这些LCD的驱动被放置在`//drivers/framework/model/display/driver/panel`目录中。
-
-- 创建Panel驱动
-
-在驱动的Init方法中,需要调用RegisterPanel接口注册模型实例。如:
-```C
-int32_t XXXInit(struct HdfDeviceObject *object)
-{
- struct PanelData *panel = CreateYourPanel();
-
- // 注册
- if (RegisterPanel(panel) != HDF_SUCCESS) {
- HDF_LOGE("%s: RegisterPanel failed", __func__);
- return HDF_FAILURE;
- }
- return HDF_SUCCESS;
-}
-
-struct HdfDriverEntry g_xxxxDevEntry = {
- .moduleVersion = 1,
- .moduleName = "LCD_XXXX",
- .Init = XXXInit,
-};
-
-HDF_INIT(g_xxxxDevEntry);
-```
-
-- 配置加载panel驱动
-产品的所有设备信息被定义在文件`//vendor/MyProductVendor/MyProduct/config/device_info/device_info.hcs`中。修改该文件,在display的host中,名为device_lcd的device中增加配置。
-注意:moduleName 要与panel驱动中的moduleName相同。
-
-```hcs
-root {
- ...
- display :: host {
- device_lcd :: device {
- deviceN :: deviceNode {
- policy = 0;
- priority = 100;
- preload = 2;
- moduleName = "LCD_XXXX";
- }
- }
- }
-}
-```
-
-更详细的驱动开发指导,请参考 [LCD](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/LCD.md)。
-
-### 2. 触摸屏
-本节描述如何移植触摸屏驱动。触摸屏的驱动被放置在`//drivers/framework/model/input/driver/touchscreen`目录中。移植触摸屏驱动主要工作是向系统注册ChipDevice模型实例。
-
-- 创建触摸屏器件驱动
-
-在目录中创建名为`touch_ic_name.c`的文件。代码模板如下:
-注意:请替换ic_name为你所适配芯片的名称。
-
-```C
-#include "hdf_touch.h"
-
-static int32_t HdfXXXXChipInit(struct HdfDeviceObject *device)
-{
- ChipDevice *tpImpl = CreateXXXXTpImpl();
- if(RegisterChipDevice(tpImpl) != HDF_SUCCESS) {
- ReleaseXXXXTpImpl(tpImpl);
- return HDF_FAILURE;
- }
- return HDF_SUCCESS;
-}
-
-struct HdfDriverEntry g_touchXXXXChipEntry = {
- .moduleVersion = 1,
- .moduleName = "HDF_TOUCH_XXXX",
- .Init = HdfXXXXChipInit,
-};
-
-HDF_INIT(g_touchXXXXChipEntry);
-```
-
-其中ChipDevice中要提供若干方法:
-| 方法| 实现说明|
-|------|------|
-|int32_t (*Init)(ChipDevice *device)| 器件初始化|
-|int32_t (*Detect)(ChipDevice *device)| 器件探测|
-|int32_t (*Suspend)(ChipDevice *device)| 器件休眠|
-|int32_t (*Resume)(ChipDevice *device)| 器件唤醒|
-|int32_t (*DataHandle)(ChipDevice *device)| 从器件读取数据,将触摸点数据填写入device->driver->frameData中|
-|int32_t (*UpdateFirmware)(ChipDevice *device)| 固件升级|
-
-- 配置产品,加载器件驱动
-
-产品的所有设备信息被定义在文件`//vendor/MyProductVendor/MyProduct/config/device_info/device_info.hcs`中。修改该文件,在名为input的host中,名为device_touch_chip的device中增加配置。
-注意:moduleName 要与触摸屏驱动中的moduleName相同。
-
-```hcs
- deviceN :: deviceNode {
- policy = 0;
- priority = 130;
- preload = 0;
- permission = 0660;
- moduleName = "HDF_TOUCH_XXXX";
- deviceMatchAttr = "touch_XXXX_configs";
- }
-```
-
-更详细的驱动开发指导,请参考 [TOUCHSCREEN](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/TOUCHSCREEN.md)。
-
-
-### 3. WLAN
-
-Wi-Fi驱动分为两部分,一部分负责管理WLAN设备,另一个部分负责处理WLAN流量。`HDF WLAN`分别为这两部分做了抽象。目前支持SDIO接口的WLAN芯片。
-
-
-
-支持一款芯片的主要工作是实现一个ChipDriver驱动。实现HDF_WLAN_CORE和NetDevice提供的接口。主要需要实现的接口有:
-
-| 接口| 定义头文件| 说明|
-|------|------|------|
-| HdfChipDriverFactory| `//drivers/framework/include/wifi/hdf_wlan_chipdriver_manager.h`| ChipDriver的Factory,用于支持一个芯片多个Wi-Fi端口|
-| HdfChipDriver | `//drivers/framework/include/wifi/wifi_module.h`| 每个WLAN端口对应一个HdfChipDriver,用来管理一个特定的WLAN端口|
-|NetDeviceInterFace| `//drivers/framework/include/wifi/net_device.h`| 与协议栈之间的接口,如发送数据、设置网络接口状态等|
-
-建议适配按如下步骤操作:
-
-1. 创建HDF驱动
-
-建议将代码放置在`//device/MySoCVendor/peripheral/wifi/chip_name/`。
-文件模板如下:
-
-```C
-static int32_t HdfWlanHisiChipDriverInit(struct HdfDeviceObject *device) {
- static struct HdfChipDriverFactory factory = CreateChipDriverFactory();
- struct HdfChipDriverManager *driverMgr = HdfWlanGetChipDriverMgr();
- if (driverMgr->RegChipDriver(&factory) != HDF_SUCCESS) {
- HDF_LOGE("%s fail: driverMgr is NULL!", __func__);
- return HDF_FAILURE;
- }
- return HDF_SUCCESS;
-}
-
-struct HdfDriverEntry g_hdfXXXChipEntry = {
- .moduleVersion = 1,
- .Init = HdfWlanXXXChipDriverInit,
- .Release = HdfWlanXXXChipRelease,
- .moduleName = "HDF_WIFI_CHIP_XXX"
-};
-
-HDF_INIT(g_hdfXXXChipEntry);
-```
-
-在CreateChipDriverFactory中需要创建一个HdfChipDriverFactory,接口如下:
-| 接口| 说明|
-|------|------|
-|const char *driverName| 当前driverName |
-|int32_t (*InitChip)(struct HdfWlanDevice *device)| 初始化芯片|
-|int32_t (*DeinitChip)(struct HdfWlanDevice *device)| 去初始化芯片|
-|void (*ReleaseFactory)(struct HdfChipDriverFactory *factory)| 释放HdfChipDriverFactory对象|
-|struct HdfChipDriver *(*Build)(struct HdfWlanDevice *device, uint8_t ifIndex)|创建一个HdfChipDriver;输入参数中,device是设备信息,ifIndex是当前创建的接口在这个芯片中的序号|
-|void (*Release)(struct HdfChipDriver *chipDriver)| 释放chipDriver
-|uint8_t (*GetMaxIFCount)(struct HdfChipDriverFactory *factory)| 获取当前芯片支持的最大接口数|
-
-HdfChipDriver需要实现的接口有
-
-|接口| 说明|
-|------|------|
-|int32_t (*init)(struct HdfChipDriver *chipDriver, NetDevice *netDev)| 初始化当前网络接口,这里需要向netDev提供接口NetDeviceInterFace|
-|int32_t (*deinit)(struct HdfChipDriver *chipDriver, NetDevice *netDev)| 去初始化当前网络接口|
-|struct HdfMac80211BaseOps *ops| WLAN基础能力接口集|
-|struct HdfMac80211STAOps *staOps| 支持STA模式所需的接口集|
-|struct HdfMac80211APOps *apOps| 支持AP模式所需要的接口集|
-
-
-
-2. 编写配置文件,描述驱动支持的设备
-
-在产品配置目录下创建芯片的配置文件`//vendor/MyProductVendor/MyProduct/config/wifi/wlan_chip_chip_name.hcs`。
-注意: 路径中的vendor_name、product_name、chip_name请替换成实际名称。
-模板如下:
-```hcs
-root {
- wlan_config {
- chip_name :& chipList {
- chip_name :: chipInst {
- match_attr = "hdf_wlan_chips_chip_name"; /* 这是配置匹配属性,用于提供驱动的配置根 */
- driverName = "driverName"; /* 需要与HdfChipDriverFactory中的driverName相同*/
- sdio {
- vendorId = 0x0296;
- deviceId = [0x5347];
- }
- }
- }
- }
-}
-```
-
-3. 编写配置文件,加载驱动
-
-产品的所有设备信息被定义在文件`//vendor/MyProductVendor/MyProduct/config/device_info/device_info.hcs`中。修改该文件,在名为network的host中,名为device_wlan_chips的device中增加配置。
-注意:moduleName 要与触摸屏驱动中的moduleName相同。
-模板如下:
-
-```hcs
- deviceN :: deviceNode {
- policy = 0;
- preload = 2;
- moduleName = "HDF_WLAN_CHIPS";
- deviceMatchAttr = "hdf_wlan_chips_chip_name";
- serviceName = "driverName";
- }
-```
-
-4. 构建驱动
-
-- 创建内核菜单
-在 `//device/MySoCVendor/peripheral` 目录中创建Kconfig文件,内容模板如下:
-```
-config DRIVERS_WLAN_XXX
- bool "Enable XXX WLAN Host driver"
- default n
- depends on DRIVERS_HDF_WIFI
- help
- Answer Y to enable XXX Host driver. Support chip xxx
-```
-
-接着修改文件 `//drivers/adapter/khdf/linux/model/network/wifi/Kconfig`,在文件末尾加入如下代码将配置菜单加入内核中。如:
-```
-source "../../../../../device/MySoCVendor/peripheral/Kconfig"
-```
-
-- 创建构建脚本
-
-在`//drivers/adapter/khdf/linux/model/network/wifi/Makefile` 文件末尾增加配置,模板如下:
-
-```
-HDF_DEVICE_ROOT := $(HDF_DIR_PREFIX)/../device
-obj-$(CONFIG_DRIVERS_WLAN_XXX) += $(HDF_DEVICE_ROOT)/MySoCVendor/peripheral/build/standard/
-```
-
-当在内核中开启`DRIVERS_WLAN_XXX`开关时,会调用`//device/MySoCVendor/peripheral/build/standard/`中的makefile。
-
-
-更多详细的开发手册,请参考[WLAN开发](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/WLAN.md)。
\ No newline at end of file
+# 标准系统移植指南
+
+- [定义开发板](#section132mcpsimp)
+ - [定义SOC](#section135mcpsimp)
+ - [定义产品](#section145mcpsimp)
+ - [移植验证](#section163mcpsimp)
+
+- [内核移植](#section171mcpsimp)
+ - [1.为SOC添加内核构建的子系统](#section174mcpsimp)
+ - [2. 编译内核](#section182mcpsimp)
+ - [3. 移植验证](#section207mcpsimp)
+
+- [HDF驱动移植](#section210mcpsimp)
+ - [1. LCD](#section212mcpsimp)
+ - [2. 触摸屏](#section229mcpsimp)
+ - [3. WLAN](#section274mcpsimp)
+
+
+## 定义开发板
+
+本文以移植名为MyProduct的开发板为例讲解移植过程,假定MyProduct是MyProductVendor公司的开发板,使用MySoCVendor公司生产的MySOC芯片作为处理器。
+
+### 定义SOC
+
+在“//productdefine/common/device”目录下创建以SOC名字命名的json文件,并指定CPU的架构。
+
+如要移植一个叫MySOC的SOC,这个SOC采用32位ARM内核。配置如下:
+
+//productdefine/common/device/MySOC.json
+
+```
+{
+ "target_os": "ohos",
+ "target_cpu": "arm"
+}
+```
+
+根据实际情况,这里的target\_cpu也可能是arm64 、riscv、 x86等。当前仅支持arm作为target\_cpu。
+
+### 定义产品
+
+在“//productdefine/common/products”目录下创建以产品名命名的json文件。该文件用于描述产品所使用的SOC 以及 所需的子系统。配置如下
+
+//productdefine/common/products/MyProduct.json
+
+```
+{
+ "product_name": "MyProduct",
+ "product_company" : "MyProductVendor",
+ "product_device": "MySOC",
+ "version": "2.0",
+ "type": "standard",
+ "parts":{
+ "ace:ace_engine_standard":{},
+ "ace:napi":{},
+ ...
+ "xts:phone_tests":{}
+ }
+}
+
+```
+
+主要的配置内容包括:
+
+1. product\_device:配置所使用的SOC
+2. type:配置系统的级别, 这里直接standard即可
+3. parts:系统需要启用的子系统。子系统可以简单理解位一块独立构建的功能块。
+
+已定义的子系统可以在“//build/subsystem\_config.json”中找到。当然你也可以定制子系统。
+
+这里建议先拷贝Hi3516DV300 开发板的配置文件,删除掉 hisilicon\_products 这个子系统。这个子系统为Hi3516DV300 SOC编译内核,显然不适合MySOC。
+
+### 移植验证
+
+至此,你可以使用如下命令,启动你产品的构建了:
+
+```
+./build.sh --product-name MyProduct
+```
+
+构建完成后,可以在“//out/ohos-arm-release/packages/phone/images”目录下看到构建出来的HarmonyOSOpenHarmony镜像文件。
+
+## 内核移植
+
+这一步需要移植Linux内核,让Linux内核可以成功运行起来。
+
+### 1.为SOC添加内核构建的子系统
+
+修改文件 //build/subsystem\_config.json增加一个子系统. 配置如下:
+
+```
+ "MySOCVendor_products": {
+ "project": "hmf/MySOCVendor_products",
+ "path": "device/MySOCVendor/MySOC/build",
+ "name": "MySOCVendor_products",
+ "dir": "device/MySOCVendor"
+ },
+```
+
+接着需要修改定义产品的配置文件//productdefine/common/products/MyProduct.json。将刚刚定义的子系统加入到产品中
+
+### 2. 编译内核
+
+在上一节定义subsystem的时候,定义了构建的路径path,即//device/MySOCVendor/MySOC/build。这一节会在这个目录创建构建脚本,告诉构建系统如何构建内核。
+
+目前OpenHarmony源码中提供了Linux 4.19的内核,归档在//kernel/linux-4.19。请尽可能使用这个内核。每个SOC必然需要对内核做一些修改或扩展,建议采用补丁的方式。
+
+建议的目录结构
+
+```
+├── build
+│ ├── kernel
+│ │ ├── linux
+│ │ ├──standard_patch_for_4_19.patch
+│ ├── BUILD.gn
+│ ├── ohos.build
+```
+
+BUILD.gn是subsystem构建的唯一入口。
+
+期望的构建结果
+
+
+文件
+ |
+文件说明
+ |
+
+$root_build_dir/packages/phone/images/uImage
+ |
+内核镜像
+ |
+
+$root_build_dir/packages/phone/images/uboot
+ |
+bootloader镜像
+ |
+
+
+
+
+### 3. 移植验证
+
+启动编译,验证预期的kernel镜像是否成功生成。
+
+## HDF驱动移植
+
+### 1. LCD
+
+HDF为LCD设计了驱动模型。支持一块新的LCD,需要编写一个驱动,在驱动中生成模型的实例,并完成注册。
+
+这些LCD的驱动被放置在//drivers/framework/model/display/driver/panel目录中。
+
+- 创建Panel驱动
+
+在驱动的Init方法中,需要调用RegisterPanel接口注册模型实例。如:
+
+```
+int32_t XXXInit(struct HdfDeviceObject *object)
+{
+ struct PanelData *panel = CreateYourPanel();
+
+ // 注册
+ if (RegisterPanel(panel) != HDF_SUCCESS) {
+ HDF_LOGE("%s: RegisterPanel failed", __func__);
+ return HDF_FAILURE;
+ }
+ return HDF_SUCCESS;
+}
+
+struct HdfDriverEntry g_xxxxDevEntry = {
+ .moduleVersion = 1,
+ .moduleName = "LCD_XXXX",
+ .Init = XXXInit,
+};
+
+HDF_INIT(g_xxxxDevEntry);
+```
+
+- 配置加载panel驱动产品的所有设备信息被定义在文件//vendor/MyProductVendor/MyProduct/config/device\_info/device\_info.hcs中。修改该文件,在display的host中,名为device\_lcd的device中增加配置。注意:moduleName 要与panel驱动中的moduleName相同。
+
+```
+root {
+ ...
+ display :: host {
+ device_lcd :: device {
+ deviceN :: deviceNode {
+ policy = 0;
+ priority = 100;
+ preload = 2;
+ moduleName = "LCD_XXXX";
+ }
+ }
+ }
+}
+```
+
+更详细的驱动开发指导,请参考 [LCD](../driver/driver-peripherals-lcd-des.md)
+
+### 2. 触摸屏
+
+本节描述如何移植触摸屏驱动。触摸屏的驱动被放置在//drivers/framework/model/input/driver/touchscreen目录中。移植触摸屏驱动主要工作是向系统注册ChipDevice模型实例。
+
+- 创建触摸屏器件驱动
+
+在目录中创建名为
+
+```
+touch_ic_name.c
+```
+
+的文件。代码模板如下:注意:请替换ic\_name为你所适配芯片的名称
+
+```
+#include "hdf_touch.h"
+
+static int32_t HdfXXXXChipInit(struct HdfDeviceObject *device)
+{
+ ChipDevice *tpImpl = CreateXXXXTpImpl();
+ if(RegisterChipDevice(tpImpl) != HDF_SUCCESS) {
+ ReleaseXXXXTpImpl(tpImpl);
+ return HDF_FAILURE;
+ }
+ return HDF_SUCCESS;
+}
+
+struct HdfDriverEntry g_touchXXXXChipEntry = {
+ .moduleVersion = 1,
+ .moduleName = "HDF_TOUCH_XXXX",
+ .Init = HdfXXXXChipInit,
+};
+
+HDF_INIT(g_touchXXXXChipEntry);
+```
+
+其中ChipDevice中要提供若干方法
+
+
+方法
+ |
+实现说明
+ |
+
+int32_t (*Init)(ChipDevice *device)
+ |
+器件初始化
+ |
+
+int32_t (*Detect)(ChipDevice *device)
+ |
+器件探测
+ |
+
+int32_t (*Suspend)(ChipDevice *device)
+ |
+器件休眠
+ |
+
+int32_t (*Resume)(ChipDevice *device)
+ |
+器件唤醒
+ |
+
+int32_t (*DataHandle)(ChipDevice *device)
+ |
+从器件读取数据,将触摸点数据填写入device->driver->frameData中
+ |
+
+int32_t (*UpdateFirmware)(ChipDevice *device)
+ |
+固件升级
+ |
+
+
+
+
+- 配置产品,加载器件驱动
+
+ 产品的所有设备信息被定义在文件//vendor/MyProductVendor/MyProduct/config/device\_info/device\_info.hcs中。修改该文件,在名为input的host中,名为device\_touch\_chip的device中增加配置。注意:moduleName 要与触摸屏驱动中的moduleName相同。
+
+
+```
+ deviceN :: deviceNode {
+ policy = 0;
+ priority = 130;
+ preload = 0;
+ permission = 0660;
+ moduleName = "HDF_TOUCH_XXXX";
+ deviceMatchAttr = "touch_XXXX_configs";
+ }
+```
+
+更详细的驱动开发指导,请参考 [TOUCHSCREEN](../driver/driver-peripherals-touch-des.md)
+
+### 3. WLAN
+
+Wi-Fi驱动分为两部分,一部分负责管理WLAN设备,另一个部分负责处理WLAN流量。HDF WLAN分别为这两部分做了抽象。目前支持SDIO接口的WLAN芯片。
+
+**图 1** WLAN芯片
+
+
+支持一款芯片的主要工作是实现一个ChipDriver驱动。实现HDF\_WLAN\_CORE和NetDevice提供的接口。主要需要实现的接口有:
+
+
+接口
+ |
+定义头文件
+ |
+说明
+ |
+
+HdfChipDriverFactory
+ |
+//drivers/framework/include/wifi/hdf_wlan_chipdriver_manager.h
+ |
+ChipDriver的Factory,用于支持一个芯片多个Wi-Fi端口
+ |
+
+HdfChipDriver
+ |
+//drivers/framework/include/wifi/wifi_module.h
+ |
+每个WLAN端口对应一个HdfChipDriver,用来管理一个特定的WLAN端口
+ |
+
+NetDeviceInterFace
+ |
+//drivers/framework/include/wifi/net_device.h
+ |
+与协议栈之间的接口,如发送数据、设置网络接口状态等
+ |
+
+
+
+
+建议适配按如下步骤操作:
+
+1.创建HDF驱动建议将代码放置在//device/MySoCVendor/peripheral/wifi/chip\_name/
+
+```
+static int32_t HdfWlanHisiChipDriverInit(struct HdfDeviceObject *device) {
+ static struct HdfChipDriverFactory factory = CreateChipDriverFactory();
+ struct HdfChipDriverManager *driverMgr = HdfWlanGetChipDriverMgr();
+ if (driverMgr->RegChipDriver(&factory) != HDF_SUCCESS) {
+ HDF_LOGE("%s fail: driverMgr is NULL!", __func__);
+ return HDF_FAILURE;
+ }
+ return HDF_SUCCESS;
+}
+
+struct HdfDriverEntry g_hdfXXXChipEntry = {
+ .moduleVersion = 1,
+ .Init = HdfWlanXXXChipDriverInit,
+ .Release = HdfWlanXXXChipRelease,
+ .moduleName = "HDF_WIFI_CHIP_XXX"
+};
+
+HDF_INIT(g_hdfXXXChipEntry);
+```
+
+在CreateChipDriverFactory中,需要创建一个HdfChipDriverFactory
+
+
+接口
+ |
+说明
+ |
+
+const char *driverName
+ |
+当前driverName
+ |
+
+int32_t (*InitChip)(struct HdfWlanDevice *device)
+ |
+初始化芯片
+ |
+
+int32_t (*DeinitChip)(struct HdfWlanDevice *device)
+ |
+去初始化芯片
+ |
+
+void (_ReleaseFactory)(struct HdfChipDriverFactory _factory)
+ |
+释放HdfChipDriverFactory对象
+ |
+
+struct HdfChipDriver _(_Build)(struct HdfWlanDevice *device, uint8_t ifIndex)
+ |
+创建一个HdfChipDriver;输入参数中,device是设备信息,ifIndex是当前创建的接口在这个芯片中的序号
+ |
+
+void (_Release)(struct HdfChipDriver _chipDriver)
+ |
+释放chipDriver
+ |
+
+uint8_t (*GetMaxIFCount)(struct HdfChipDriverFactory *factory)
+ |
+获取当前芯片支持的最大接口数
+ |
+
+
+
+
+HdfChipDriver需要实现的接口有
+
+
+接口
+ |
+说明
+ |
+
+int32_t (*init)(struct HdfChipDriver *chipDriver, NetDevice *netDev)
+ |
+初始化当前网络接口,这里需要向netDev提供接口NetDeviceInterFace
+ |
+
+int32_t (*deinit)(struct HdfChipDriver *chipDriver, NetDevice *netDev)
+ |
+去初始化当前网络接口
+ |
+
+struct HdfMac80211BaseOps *ops
+ |
+WLAN基础能力接口集
+ |
+
+struct HdfMac80211STAOps *staOps
+ |
+支持STA模式所需的接口集
+ |
+
+struct HdfMac80211APOps *apOps
+ |
+支持AP模式所需要的接口集
+ |
+
+
+
+
+2.编写配置文件,描述驱动支持的设备
+
+在产品配置目录下创建芯片的配置文件//vendor/MyProductVendor/MyProduct/config/wifi/wlan\_chip\_chip\_name.hcs
+
+注意: 路径中的vendor\_name、product\_name、chip\_name请替换成实际名称
+
+```
+root {
+ wlan_config {
+ chip_name :& chipList {
+ chip_name :: chipInst {
+ match_attr = "hdf_wlan_chips_chip_name"; /* 这是配置匹配属性,用于提供驱动的配置根 */
+ driverName = "driverName"; /* 需要与HdfChipDriverFactory中的driverName相同*/
+ sdio {
+ vendorId = 0x0296;
+ deviceId = [0x5347];
+ }
+ }
+ }
+ }
+}
+```
+
+3.编写配置文件,加载驱动
+
+产品的所有设备信息被定义在文件//vendor/MyProductVendor/MyProduct/config/device\_info/device\_info.hcs中。修改该文件,在名为network的host中,名为device\_wlan\_chips的device中增加配置。注意:moduleName 要与触摸屏驱动中的moduleName相同。
+
+```
+ deviceN :: deviceNode {
+ policy = 0;
+ preload = 2;
+ moduleName = "HDF_WLAN_CHIPS";
+ deviceMatchAttr = "hdf_wlan_chips_chip_name";
+ serviceName = "driverName";
+ }
+```
+
+4.构建驱动
+
+- 创建内核菜单在//device/MySoCVendor/peripheral目录中创建Kconfig文件,内容模板如下:
+
+```
+config DRIVERS_WLAN_XXX
+ bool "Enable XXX WLAN Host driver"
+ default n
+ depends on DRIVERS_HDF_WIFI
+ help
+ Answer Y to enable XXX Host driver. Support chip xxx
+```
+
+接着修改文件//drivers/adapter/khdf/linux/model/network/wifi/Kconfig,在文件末尾加入如下代码将配置菜单加入内核中。
+
+```
+source "../../../../../device/MySoCVendor/peripheral/Kconfig"
+```
+
+- 创建构建脚本
+
+ 在//drivers/adapter/khdf/linux/model/network/wifi/Makefile文件末尾增加配置,模板如下
+
+
+```
+HDF_DEVICE_ROOT := $(HDF_DIR_PREFIX)/../device
+obj-$(CONFIG_DRIVERS_WLAN_XXX) += $(HDF_DEVICE_ROOT)/MySoCVendor/peripheral/build/standard/
+```
+
+当在内核中开启DRIVERS\_WLAN\_XXX开关时,会调用//device/MySoCVendor/peripheral/build/standard/中的makefile更多详细的开发手册,请参考[WLAN开发](../guide/oem_wifi_sdk_des.md)。
+
diff --git a/zh-cn/device-dev/porting/transplant-chip-board.md b/zh-cn/device-dev/porting/transplant-chip-board.md
deleted file mode 100644
index f5d7b754b53786192eec6ce7572833fa12329c8e..0000000000000000000000000000000000000000
--- a/zh-cn/device-dev/porting/transplant-chip-board.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# 板级系统移植
-
-- **[移植概述](transplant-chip-board-overview.md)**
-
-- **[板级驱动适配](transplant-chip-board-drive.md)**
-
-- **[HAL层实现](transplant-chip-board-hal.md)**
-
-- **[系统组件调用](transplant-chip-board-component.md)**
-
-- **[三方组件适配](transplant-chip-board-bundle.md)**
-
-- **[XTS认证](transplant-chip-board-xts.md)**
-
-
diff --git a/zh-cn/device-dev/porting/transplant-chip-kernel.md b/zh-cn/device-dev/porting/transplant-chip-kernel.md
deleted file mode 100644
index e27fea3d596d06af478a4b24eb46ddc8a6b81187..0000000000000000000000000000000000000000
--- a/zh-cn/device-dev/porting/transplant-chip-kernel.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# 内核移植
-
-- **[移植概述](transplant-chip-kernel-overview.md)**
-
-- **[内核基础适配](transplant-chip-kernel-adjustment.md)**
-
-- **[内核移植验证](transplant-chip-kernel-verify.md)**
-
-
diff --git a/zh-cn/device-dev/porting/transplant-chip.md b/zh-cn/device-dev/porting/transplant-chip.md
deleted file mode 100644
index d0fbee119dd00fe8fb475196714a9a253e676f2b..0000000000000000000000000000000000000000
--- a/zh-cn/device-dev/porting/transplant-chip.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# 三方芯片移植指导
-
-- **[移植准备](transplant-chip-prepare.md)**
-
-- **[内核移植](transplant-chip-kernel.md)**
-
-- **[板级系统移植](transplant-chip-board.md)**
-
-- **[常见问题](transplant-chip-faqs.md)**
-
-
diff --git a/zh-cn/device-dev/porting/transplant-minichip.md b/zh-cn/device-dev/porting/transplant-minichip.md
deleted file mode 100644
index 58bebe026e881c23d1d2aa1cd173cc6bc86ea777..0000000000000000000000000000000000000000
--- a/zh-cn/device-dev/porting/transplant-minichip.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# 轻量系统芯片移植指导
-
-- **[移植准备](transplant-chip-prepare.md)**
-
-- **[内核移植](transplant-chip-kernel.md)**
-
-- **[板级系统移植](transplant-chip-board.md)**
-
-- **[常见问题](transplant-chip-faqs.md)**
-
-
diff --git a/zh-cn/device-dev/porting/transplant-smallchip-drive.md b/zh-cn/device-dev/porting/transplant-smallchip-drive.md
deleted file mode 100644
index 8d265ae4d089593010d0ddd7ef6bcbc0ab327f99..0000000000000000000000000000000000000000
--- a/zh-cn/device-dev/porting/transplant-smallchip-drive.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# 驱动移植
-
-- **[移植概述](transplant-smallchip-drive-des.md)**
-
-- **[平台驱动移植](transplant-smallchip-drive-plat.md)**
-
-- **[器件驱动移植](transplant-smallchip-drive-oom.md)**
-
-
diff --git a/zh-cn/device-dev/porting/transplant-smallchip.md b/zh-cn/device-dev/porting/transplant-smallchip.md
deleted file mode 100644
index 4ba38ff4484d56d07681a0dce923d1839b80df87..0000000000000000000000000000000000000000
--- a/zh-cn/device-dev/porting/transplant-smallchip.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# 小型系统芯片移植指导
-
-- **[移植准备](../porting/transplant-smallchip-prepare.md)**
-
-- **[移植内核](../porting/transplant-smallchip-kernel.md)**
-
-- **[驱动移植](../porting/transplant-smallchip-drive.md)**
-
-
diff --git a/zh-cn/device-dev/porting/transplant-thirdparty.md b/zh-cn/device-dev/porting/transplant-thirdparty.md
deleted file mode 100644
index ca27b2d33989ef22f963d59881cc0d317a337b35..0000000000000000000000000000000000000000
--- a/zh-cn/device-dev/porting/transplant-thirdparty.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# 三方库移植指导
-
-- **[概述](transplant-thirdparty-overview.md)**
-
-- **[CMake方式组织编译的库移植](transplant-thirdparty-cmake.md)**
-
-- **[Makefile方式组织编译的库移植](transplant-thirdparty-makefile.md)**
-
-
diff --git a/zh-cn/device-dev/porting/transplant.md b/zh-cn/device-dev/porting/transplant.md
deleted file mode 100644
index bc8d8a3ad12bef77aaf9e3f74738efe311ecb464..0000000000000000000000000000000000000000
--- a/zh-cn/device-dev/porting/transplant.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# 移植
-
-- **[三方库移植指导](transplant-thirdparty.md)**
-
-- **[轻量系统芯片移植指导](transplant-minichip.md)**
-
-- **[小型系统芯片移植指导](transplant-smallchip.md)**
-
-
diff --git a/zh-cn/device-dev/quick-start/Readme-CN.md b/zh-cn/device-dev/quick-start/Readme-CN.md
index f85dd9b4ea17a9cb1764e9f54b7459e41c40868e..10f42afb642fecccc0cf1e4e67d175cbe14f7bf6 100644
--- a/zh-cn/device-dev/quick-start/Readme-CN.md
+++ b/zh-cn/device-dev/quick-start/Readme-CN.md
@@ -1,41 +1,36 @@
# 快速入门
-- [轻量和小型系统入门](quickstart-lite.md)
- - [概述](quickstart-lite-overview.md)
- - [了解开发板](quickstart-lite-introduction.md)
- - [Hi3861开发板介绍](quickstart-lite-introduction-hi3861.md)
- - [Hi3516开发板介绍](quickstart-lite-introduction-hi3516.md)
- - [Hi3518开发板介绍](quickstart-lite-introduction-hi3518.md)
-
- - [搭建系统环境](quickstart-lite-env-setup.md)
- - [概述](quickstart-lite-env-setup-des.md)
- - [Windows开发环境准备](quickstart-lite-env-setup-win.md)
- - [Ubuntu编译环境准备](quickstart-lite-env-setup-lin.md)
- - [常见问题](quickstart-lite-env-setup-faqs.md)
-
- - [开发步骤](quickstart-lite-steps.md)
- - [Hi3861开发板](quickstart-lite-steps-board3861.md)
- - [安装开发板环境](quickstart-lite-steps-board3861-setting.md)
- - [WLAN联网](quickstart-lite-steps-board3861-connection.md)
- - [运行Hello World](quickstart-lite-steps-board3861-running.md)
- - [常见问题](quickstart-lite-steps-board3861-faqs.md)
-
- - [Hi3516开发板](quickstart-lite-steps-board3516.md)
- - [安装开发板环境](quickstart-lite-steps-board3516-setting.md)
- - [运行Hello OHOS](quickstart-lite-steps-board3516-running.md)
- - [驱动开发示例](quickstart-lite-steps-board3516-program.md)
- - [常见问题](quickstart-lite-steps-board3516-faqs.md)
-
- - [Hi3518开发板](quickstart-lite-steps-board3518.md)
- - [安装开发板环境](quickstart-lite-steps-board3518-setting.md)
- - [运行Hello OHOS](quickstart-lite-steps-board3518-running.md)
- - [常见问题](quickstart-lite-steps-board3518-faqs.md)
-
-- [标准系统入门](quickstart-standard.md)
- - [入门介绍](quickstart-standard-description.md)
- - [Windows开发环境准备](quickstart-standard-windows-environment.md)
- - [搭建Ubuntu环境及编译(Docker方式)](quickstart-standard-docker-environment.md)
- - [搭建Ubuntu环境及编译(安装包方式)](quickstart-standard-package-environment.md)
- - [镜像烧录](quickstart-standard-burn.md)
- - [常见问题](quickstart-standard-faq.md)
+- [轻量和小型系统入门](quickstart-lite.md)
+ - [概述](quickstart-lite-overview.md)
+ - [入门介绍](quickstart-lite-introduction.md)
+ - [Hi3861开发板介绍](oem_minitinier_des_3861.md)
+ - [Hi3516开发板介绍](oem_minitinier_des_3516.md)
+ - [Hi3518开发板介绍](oem_minitinier_des_3518.md)
+ - [搭建系统环境](quickstart-lite-env-setup.md)
+ - [概述](quickstart-lite-env-setup-overview.md)
+ - [Windows开发环境准备](quickstart-lite-env-setup-windows.md)
+ - [获取源码及Ubuntu编译环境准备](quickstart-lite-env-setup-linux.md)
+ - [常见问题](quickstart-lite-env-setup-faqs.md)
+ - [开发步骤](quickstart-lite-steps.md)
+ - [Hi3861开发板](quickstart-lite-steps-hi3861.md)
+ - [安装开发板环境](quickstart-lite-steps-hi3861-setting.md)
+ - [WLAN联网(编译、烧录)](quickstart-lite-steps-hi3861-connection.md)
+ - [运行Hello World](quickstart-lite-steps-hi3861-running.md)
+ - [常见问题](quickstart-lite-steps-hi3861-faqs.md)
+ - [Hi3516开发板](quickstart-lite-steps-hi3516.md)
+ - [安装开发板环境](quickstart-lite-steps-hi3516-setting.md)
+ - [运行Hello OHOS(编译、烧录)](quickstart-lite-steps-hi3516-running.md)
+ - [驱动开发示例](quickstart-lite-steps-hi3516-program.md)
+ - [常见问题](quickstart-lite-steps-hi3516-faqs.md)
+ - [Hi3518开发板](quickstart-lite-steps-hi3518.md)
+ - [安装开发板环境](quickstart-lite-steps-hi3518-setting.md)
+ - [运行Hello OHOS(编译、烧录)](quickstart-lite-steps-hi3518-running.md)
+ - [常见问题](quickstart-lite-steps-hi3518-faqs.md)
+- [标准系统入门](quickstart-standard.md)
+ - [入门介绍](quickstart-standard-overview.md)
+ - [搭建Windows开发环境](quickstart-standard-windows-environment.md)
+ - [搭建Ubuntu环境\(获取源码及编译,Docker方式\)](quickstart-standard-docker-environment.md)
+ - [搭建Ubuntu环境\(获取源码及编译,安装包方式\)](quickstart-standard-package-environment.md)
+ - [镜像烧录](quickstart-standard-burn.md)
+ - [常见问题](quickstart-standard-faqs.md)
diff --git a/zh-cn/device-dev/quick-start/figure/2021-01-27_170334-16.png b/zh-cn/device-dev/quick-start/figure/2021-01-27_170334-17.png
similarity index 100%
rename from zh-cn/device-dev/quick-start/figure/2021-01-27_170334-16.png
rename to zh-cn/device-dev/quick-start/figure/2021-01-27_170334-17.png
diff --git "a/zh-cn/device-dev/quick-start/figure/3516\346\255\243\351\235\242-16.png" "b/zh-cn/device-dev/quick-start/figure/3516\346\255\243\351\235\242-16.png"
new file mode 100644
index 0000000000000000000000000000000000000000..6975fb5fef92e35dec2de84b7e7035a39794bdf4
Binary files /dev/null and "b/zh-cn/device-dev/quick-start/figure/3516\346\255\243\351\235\242-16.png" differ
diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001072468991.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001072468991.png
deleted file mode 100644
index 43e43b52b677660cec4d049784b246aebe1a2434..0000000000000000000000000000000000000000
Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001072468991.png and /dev/null differ
diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001130584312.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001130584312.png
deleted file mode 100644
index 558d3299149a13c444966ef3e3260bf5b0956667..0000000000000000000000000000000000000000
Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001130584312.png and /dev/null differ
diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270737.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001134641222.png
similarity index 100%
rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001174270737.png
rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001134641222.png
diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001137332702.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001137332702.png
new file mode 100644
index 0000000000000000000000000000000000000000..261e75499a68f8e80a6a002dc0f57bf523c3c428
Binary files /dev/null and b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001137332702.png differ
diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001176317561.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001138841358.png
similarity index 85%
rename from zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001176317561.png
rename to zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001138841358.png
index bf690379e676877036e375102155c3980f5dc29e..624db2266d404907bbf9b7038ef2a092c1837476 100644
Binary files a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001176317561.png and b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001138841358.png differ
diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001138853234.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001138853234.png
new file mode 100644
index 0000000000000000000000000000000000000000..56b0f47cb9948e49e4aef36c6e59bd631bee5b12
Binary files /dev/null and b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001138853234.png differ
diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001141572584.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001141572584.png
new file mode 100644
index 0000000000000000000000000000000000000000..114a8e1c31ab1a58ece6b0d1e00d673256b42b2b
Binary files /dev/null and b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001141572584.png differ
diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001142170150.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001142170150.png
new file mode 100644
index 0000000000000000000000000000000000000000..43029fa093ce7cf1091da3c4a34373fc2402105d
Binary files /dev/null and b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001142170150.png differ
diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001142333672.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001142333672.png
new file mode 100644
index 0000000000000000000000000000000000000000..40d487d33cf67ac3931474573cf6cf37357a3668
Binary files /dev/null and b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001142333672.png differ
diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001184531449.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001184531449.png
new file mode 100644
index 0000000000000000000000000000000000000000..dafdf66490bd36560ed6a0633ebda698b0b75dba
Binary files /dev/null and b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001184531449.png differ
diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001188253515.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001188253515.png
new file mode 100644
index 0000000000000000000000000000000000000000..cc7a26dccc0598424c165e04ae33d9d6e774afd9
Binary files /dev/null and b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001188253515.png differ
diff --git a/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001188373731.png b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001188373731.png
new file mode 100644
index 0000000000000000000000000000000000000000..86e70686e85ec93b000209a21fd629a523f783f5
Binary files /dev/null and b/zh-cn/device-dev/quick-start/figure/zh-cn_image_0000001188373731.png differ
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-introduction-hi3516.md b/zh-cn/device-dev/quick-start/oem_minitinier_des_3516.md
similarity index 100%
rename from zh-cn/device-dev/quick-start/quickstart-lite-introduction-hi3516.md
rename to zh-cn/device-dev/quick-start/oem_minitinier_des_3516.md
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-introduction-hi3518.md b/zh-cn/device-dev/quick-start/oem_minitinier_des_3518.md
similarity index 100%
rename from zh-cn/device-dev/quick-start/quickstart-lite-introduction-hi3518.md
rename to zh-cn/device-dev/quick-start/oem_minitinier_des_3518.md
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-introduction-hi3861.md b/zh-cn/device-dev/quick-start/oem_minitinier_des_3861.md
similarity index 100%
rename from zh-cn/device-dev/quick-start/quickstart-lite-introduction-hi3861.md
rename to zh-cn/device-dev/quick-start/oem_minitinier_des_3861.md
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-lin.md b/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-linux.md
similarity index 98%
rename from zh-cn/device-dev/quick-start/quickstart-lite-env-setup-lin.md
rename to zh-cn/device-dev/quick-start/quickstart-lite-env-setup-linux.md
index ddd8fd5f4fb8249098c4bf7d00ecb4d697e9cbaf..74c19466ff1add93dee4a3f6ab255ed454caccfb 100644
--- a/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-lin.md
+++ b/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-linux.md
@@ -1,4 +1,4 @@
-# Ubuntu编译环境准备
+# 获取源码及Ubuntu编译环境准备
- [获取软件](#section1897711811517)
- [获取源码](#section1545225464016)
@@ -27,7 +27,7 @@
6. 安装hb
> **须知:**
->- 针对Ubuntu编译环境我们提供了对应的Docker,该Docker封装了相关编译工具,选择使用Docker的开发者可跳过此章节。Docker使用可参考[Docker方式获取编译环境](../get-code/gettools-acquire.md)。
+>- 针对Ubuntu编译环境我们提供了对应的Docker,该Docker封装了相关编译工具,选择使用Docker的开发者可跳过此章节。Docker使用可参考[Docker方式获取编译环境](../get-code/gettools-acquire.md#section107932281315)。
>- 通常系统默认安装samba、vim等常用软件,需要做适当适配以支持Linux服务器与Windows工作台之间的文件共享。
>- 想要详细了解OpenHarmony编译构建模块功能的开发者可参考[编译构建使用指南](../subsystems/subsys-build-mini-lite.md)。
@@ -160,7 +160,6 @@ Linux服务器通用环境配置需要的工具及其获取途径如下表所示
```
-
3. 设置python和python3软链接为python3.8。
```
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-des.md b/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-overview.md
similarity index 100%
rename from zh-cn/device-dev/quick-start/quickstart-lite-env-setup-des.md
rename to zh-cn/device-dev/quick-start/quickstart-lite-env-setup-overview.md
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-win.md b/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-windows.md
similarity index 100%
rename from zh-cn/device-dev/quick-start/quickstart-lite-env-setup-win.md
rename to zh-cn/device-dev/quick-start/quickstart-lite-env-setup-windows.md
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-env-setup.md b/zh-cn/device-dev/quick-start/quickstart-lite-env-setup.md
index f5782f2a9f8bfcd10518821f6e700751928e9491..4c8c54dd2c1757e43f82a87decbf9fe9efd46e7f 100644
--- a/zh-cn/device-dev/quick-start/quickstart-lite-env-setup.md
+++ b/zh-cn/device-dev/quick-start/quickstart-lite-env-setup.md
@@ -1,10 +1,10 @@
# 搭建系统环境
-- **[概述](quickstart-lite-env-setup-des.md)**
+- **[概述](quickstart-lite-env-setup-overview.md)**
-- **[Windows开发环境准备](quickstart-lite-env-setup-win.md)**
+- **[Windows开发环境准备](quickstart-lite-env-setup-windows.md)**
-- **[Ubuntu编译环境准备](quickstart-lite-env-setup-lin.md)**
+- **[获取源码及Ubuntu编译环境准备](quickstart-lite-env-setup-linux.md)**
- **[常见问题](quickstart-lite-env-setup-faqs.md)**
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-introduction.md b/zh-cn/device-dev/quick-start/quickstart-lite-introduction.md
index 65e4fde55ca286b55fb1980a6cd7b67929cb9544..52c8b8e3a4644bb604175dae097fac4a3c6b23b9 100644
--- a/zh-cn/device-dev/quick-start/quickstart-lite-introduction.md
+++ b/zh-cn/device-dev/quick-start/quickstart-lite-introduction.md
@@ -1,9 +1,9 @@
-# 了解开发板
+# 入门介绍
-- **[Hi3861开发板介绍](quickstart-lite-introduction-hi3861.md)**
+- **[Hi3861开发板介绍](oem_minitinier_des_3861.md)**
-- **[Hi3516开发板介绍](quickstart-lite-introduction-hi3516.md)**
+- **[Hi3516开发板介绍](oem_minitinier_des_3516.md)**
-- **[Hi3518开发板介绍](quickstart-lite-introduction-hi3518.md)**
+- **[Hi3518开发板介绍](oem_minitinier_des_3518.md)**
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516.md
deleted file mode 100644
index 397255079763931a2d53c5f10f472a2afd7a350b..0000000000000000000000000000000000000000
--- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Hi3516开发板
-
-- **[安装开发板环境](quickstart-lite-steps-board3516-setting.md)**
-
-- **[运行Hello OHOS](quickstart-lite-steps-board3516-running.md)**
-
-- **[驱动开发示例](quickstart-lite-steps-board3516-program.md)**
-
-- **[常见问题](quickstart-lite-steps-board3516-faqs.md)**
-
-
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518.md
deleted file mode 100644
index d0f3f9a5873ef8da0b02460a5f6b9acdaa2247a1..0000000000000000000000000000000000000000
--- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Hi3518开发板
-
-- **[安装开发板环境](quickstart-lite-steps-board3518-setting.md)**
-
-- **[运行Hello OHOS](quickstart-lite-steps-board3518-running.md)**
-
-- **[常见问题](quickstart-lite-steps-board3518-faqs.md)**
-
-
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861.md
deleted file mode 100644
index 8aca8589071142415783b378a6f932e3213722fa..0000000000000000000000000000000000000000
--- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Hi3861开发板
-
-- **[安装开发板环境](quickstart-lite-steps-board3861-setting.md)**
-
-- **[WLAN联网](quickstart-lite-steps-board3861-connection.md)**
-
-- **[运行Hello World](quickstart-lite-steps-board3861-running.md)**
-
-- **[常见问题](quickstart-lite-steps-board3861-faqs.md)**
-
-
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-faqs.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-faqs.md
similarity index 98%
rename from zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-faqs.md
rename to zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-faqs.md
index ff748404f05d31f54d19fcd4744fa76fdc7febfe..fa1c0089688658c4bcb72dfe9ca736d354c9866c 100644
--- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-faqs.md
+++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-faqs.md
@@ -106,7 +106,7 @@
- **解决办法**
- 请按照[安装python](quickstart-lite-env-setup-lin.md)。
+ 请按照[安装Python环境](quickstart-lite-env-setup-linux.md#section1238412211211)。
- **可能原因2**
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-program.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-program.md
similarity index 97%
rename from zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-program.md
rename to zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-program.md
index 7b43c52c82cf9e8f6c80568f1404af8521106edf..6e0a94db1c9ca4c1323d8fa3a3711ea8d59117d0 100644
--- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-program.md
+++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-program.md
@@ -1,7 +1,7 @@
# 驱动开发示例
- [驱动程序介绍](#s8efc1952ebfe4d1ea717182e108c29bb)
-- [编译和烧写](#section660016185110)
+- [编译和烧录](#section660016185110)
- [镜像运行](#section333215226219)
- [下一步学习](#section9712145420182)
@@ -421,16 +421,16 @@
>示例代码默认不参与编译,需要手动添加到编译脚本中。
-## 编译和烧写
+## 编译和烧录
-参考《运行Hello OHOS》进行编译和烧写:[编译](quickstart-lite-steps-board3516-running.md#section1077671315253)、[烧录](quickstart-lite-steps-board3516-running.md#section1347011412201)
+参考《运行Hello OHOS》进行编译和烧录:[编译](quickstart-lite-steps-hi3516-running.md#section1077671315253)、[烧录](quickstart-lite-steps-hi3516-running.md#section1347011412201)
## 镜像运行
1. 连接串口。
> **须知:**
- >若无法连接串口,请参考[常见问题](quickstart-lite-steps-board3516-faqs.md)进行排查。
+ >若无法连接串口,请参考[常见问题](quickstart-lite-steps-hi3516-faqs.md#section14871149155911)进行排查。
**图 1** 连接串口图
@@ -439,7 +439,7 @@
1. 单击**Monitor**打开串口。
2. 连续输入回车直到串口显示"hisilicon"。
- 3. 单板初次启动或修改启动参数,请进入[步骤2](quickstart-lite-steps-board3516-running.md#l5b42e79a33ea4d35982b78a22913b0b1),否则进入[步骤3](quickstart-lite-steps-board3516-running.md#ld26f18828aa44c36bfa36be150e60e49)。
+ 3. 单板初次启动或修改启动参数,请进入[步骤2](quickstart-lite-steps-hi3516-running.md#l5b42e79a33ea4d35982b78a22913b0b1),否则进入[步骤3](quickstart-lite-steps-hi3516-running.md#ld26f18828aa44c36bfa36be150e60e49)。
2. (单板初次启动必选)修改U-boot的bootcmd及bootargs内容:该步骤为固化操作,若不修改参数只需执行一次。每次复位单板均会自动进入系统。
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-running.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-running.md
similarity index 97%
rename from zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-running.md
rename to zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-running.md
index 336d979c20d2b4413af4c0f562bcb3621e337e6e..4e06cbfef760bd2b39b737cbf6732ed3019794cf 100644
--- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-running.md
+++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-running.md
@@ -1,4 +1,4 @@
-# 运行Hello OHOS
+# 运行Hello OHOS(编译、烧录)
- [新建应用程序](#section204672145202)
- [编译](#section1077671315253)
@@ -129,7 +129,7 @@
## 编译
-如果Linux编译环境通过Docker方式安装,具体编译过程请参见[Docker方式获取编译环境](../get-code/gettools-acquire.md)的编译操作。如果Linux编译环境通过软件包方式安装,请进入源码根目录,执行如下命令进行编译:
+如果Linux编译环境通过Docker方式安装,具体编译过程请参见[Docker方式获取编译环境](../get-code/gettools-acquire.md#section107932281315)的编译操作。如果Linux编译环境通过软件包方式安装,请进入源码根目录,执行如下命令进行编译:
```
hb set(设置编译路径)
@@ -150,7 +150,7 @@ hb build -f(执行编译)
Hi3516开发板的代码烧录支持USB烧录、网口烧录和串口烧录三种方式。此处仅以网口烧录为例进行说明。
-1. 请连接好电脑和待烧录开发板,以Hi3516DV300为例,需要同时连接串口、网口和电源,具体可参考[Hi3516开发板介绍](quickstart-lite-introduction-hi3516.md)。
+1. 请连接好电脑和待烧录开发板,以Hi3516DV300为例,需要同时连接串口、网口和电源,具体可参考[Hi3516开发板介绍](oem_minitinier_des_3516.md)。
2. 打开电脑的设备管理器,查看并记录对应的串口号。
> **说明:**
@@ -200,7 +200,7 @@ Hi3516开发板的代码烧录支持USB烧录、网口烧录和串口烧录三
1. 连接串口。
> **须知:**
- >若无法连接串口,请参考[常见问题](quickstart-lite-steps-board3516-faqs.md)进行排查。
+ >若无法连接串口,请参考[常见问题](quickstart-lite-steps-hi3516-faqs.md)进行排查。
**图 2** 连接串口图
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-setting.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-setting.md
similarity index 100%
rename from zh-cn/device-dev/quick-start/quickstart-lite-steps-board3516-setting.md
rename to zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516-setting.md
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516.md
new file mode 100644
index 0000000000000000000000000000000000000000..fde5a6821164da636cb96020bd6c16a38fb347d3
--- /dev/null
+++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3516.md
@@ -0,0 +1,11 @@
+# Hi3516开发板
+
+- **[安装开发板环境](quickstart-lite-steps-hi3516-setting.md)**
+
+- **[运行Hello OHOS(编译、烧录)](quickstart-lite-steps-hi3516-running.md)**
+
+- **[驱动开发示例](quickstart-lite-steps-hi3516-program.md)**
+
+- **[常见问题](quickstart-lite-steps-hi3516-faqs.md)**
+
+
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518-faqs.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518-faqs.md
similarity index 97%
rename from zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518-faqs.md
rename to zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518-faqs.md
index dc71a35fb6a0e5fdac8d3f976d58066a474f2a97..f348a067242906036fa34659e8383eea1c4f6caa 100644
--- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518-faqs.md
+++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518-faqs.md
@@ -106,7 +106,7 @@
- **解决办法**
- 请按照[安装python](quickstart-lite-env-setup-lin.md)。
+ 请按照[安装Python环境](quickstart-lite-env-setup-linux.md#section1238412211211)。
- **可能原因2**
@@ -142,7 +142,7 @@
修改串口号。
- 请查看设备管理器,确认连接单板的串口与终端中连接串口是否一致,若不一致,请按镜像运行内[步骤1](quickstart-lite-steps-board3518-running.md)修改串口号。
+ 请查看设备管理器,确认连接单板的串口与终端中连接串口是否一致,若不一致,请按镜像运行内[步骤1](#section1498892119619)修改串口号。
- **可能原因2**
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518-running.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518-running.md
similarity index 96%
rename from zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518-running.md
rename to zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518-running.md
index 2b5a833cfc380fb2762fda0d333c8a20c8cb4239..a531fd40b4d5453d90441df5bb8c74c116fa7e2d 100644
--- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518-running.md
+++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518-running.md
@@ -1,4 +1,4 @@
-# 运行Hello OHOS
+# 运行Hello OHOS(编译、烧录)
- [新建应用程序](#section1550972416485)
- [编译](#section234175193114)
@@ -128,7 +128,7 @@
## 编译
-如果Linux编译环境通过Docker方式安装,具体编译过程请参见[Docker方式获取编译环境](../get-code/gettools-acquire.md)的编译操作。如果Linux编译环境通过软件包方式安装,进入源码根目录,执行如下命令进行编译:
+如果Linux编译环境通过Docker方式安装,具体编译过程请参见[Docker方式获取编译环境](../get-code/gettools-acquire.md#section107932281315)的编译操作。如果Linux编译环境通过软件包方式安装,进入源码根目录,执行如下命令进行编译:
```
hb set(设置编译路径)
@@ -149,7 +149,7 @@ hb build -f(执行编译)
Hi3518开发板的代码烧录仅支持USB烧录方式。
-1. 请连接好电脑和待烧录开发板,以Hi3518EV300为例,需要同时连接串口和USB口,具体可参考[Hi3518开发板介绍](quickstart-lite-introduction-hi3518.md)。
+1. 请连接好电脑和待烧录开发板,以Hi3518EV300为例,需要同时连接串口和USB口,具体可参考[Hi3518开发板介绍](oem_minitinier_des_3518.md)。
2. 打开电脑的设备管理器,查看并记录对应的串口号。
> **说明:**
@@ -197,7 +197,7 @@ Hi3518开发板的代码烧录仅支持USB烧录方式。
1. 连接串口。
> **须知:**
- >若无法连接串口,请参考[常见问题](quickstart-lite-steps-board3518-faqs.md)进行排查。
+ >若无法连接串口,请参考[常见问题](quickstart-lite-steps-hi3518-faqs.md#zh-cn_topic_0000001053466255_section14871149155911)进行排查。
**图 2** 连接串口图
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518-setting.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518-setting.md
similarity index 100%
rename from zh-cn/device-dev/quick-start/quickstart-lite-steps-board3518-setting.md
rename to zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518-setting.md
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518.md
new file mode 100644
index 0000000000000000000000000000000000000000..fae0c09e037ef43de9cb99083e8ae440eef91e83
--- /dev/null
+++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3518.md
@@ -0,0 +1,9 @@
+# Hi3518开发板
+
+- **[安装开发板环境](quickstart-lite-steps-hi3518-setting.md)**
+
+- **[运行Hello OHOS(编译、烧录)](quickstart-lite-steps-hi3518-running.md)**
+
+- **[常见问题](quickstart-lite-steps-hi3518-faqs.md)**
+
+
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-connection.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-connection.md
similarity index 92%
rename from zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-connection.md
rename to zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-connection.md
index fe69412c06e34eae1058d50523d5dd37c2956063..f4bc8fd8a9216d0a03dd501274036b13809c5f9c 100644
--- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-connection.md
+++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-connection.md
@@ -1,16 +1,16 @@
-# WLAN联网
+# WLAN联网(编译、烧录)
-- [源码编译](#section191121332125319)
+- [编译](#section191121332125319)
- [镜像烧录](#section19458165166)
- [WLAN模组联网](#section194671619167)
本示例将演示如何通过AT命令完成WLAN模组与网关联网。
-## 源码编译
+## 编译
本节描述如何在Linux服务器上进行WLAN模组版本的编译。
-如果Linux编译环境通过Docker方式安装,具体编译过程请参见[Docker方式获取编译环境](../get-code/sourcecode-acquire.md)的编译操作。如果Linux编译环境通过软件包方式安装,请参考如下步骤。
+如果Linux编译环境通过Docker方式安装,具体编译过程请参见[Docker方式获取编译环境](../get-code/gettools-acquire.md#section107932281315)的编译操作。如果Linux编译环境通过软件包方式安装,请参考如下步骤。
1. 打开DevEco Device Tool工具,点击“View \> Terminal”,进入终端界面。
@@ -63,7 +63,7 @@
Hi3861 WLAN模组的镜像烧录可以通过OpenHarmony IDE工具DevEco完成,工具的基本使用请参考[DevEco Device Tool使用指南](https://device.harmonyos.com/cn/docs/ide/user-guides/service_introduction-0000001050166905),烧录过程包含如下步骤。
-1. 请连接好电脑和待烧录开发板,需要连接USB口,具体可参考[Hi3861开发板介绍](quickstart-lite-introduction-hi3861.md)。
+1. 请连接好电脑和待烧录开发板,需要连接USB口,具体可参考[Hi3861开发板介绍](oem_minitinier_des_3861.md)。
2. 打开电脑的设备管理器,查看并记录对应的串口号。
> **说明:**
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-faqs.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-faqs.md
similarity index 98%
rename from zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-faqs.md
rename to zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-faqs.md
index b0dbbae1b366bc12e6e97c8d365476b2168a5217..6e2a41e5d904ea14a067f619875517f355a1b2e8 100644
--- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-faqs.md
+++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-faqs.md
@@ -249,7 +249,7 @@
- **解决办法**
- 请按照 [安装Python环境](quickstart-lite-env-setup-lin.md)
+ 请按照[安装Python环境](quickstart-lite-env-setup-linux.md#section1238412211211)
- **可能原因2**
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-running.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-running.md
similarity index 94%
rename from zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-running.md
rename to zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-running.md
index 547aa5affc7e6d2081e39bc482a1d2168043840d..afb05fbff25c8ddb49473ae447e4e99a59bfe07c 100644
--- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-running.md
+++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-running.md
@@ -2,8 +2,9 @@
- [修改源码](#section79601457101015)
- [调测验证](#section1621064881419)
-- [printf打印](#section1246911301217)
-- [根据asm文件进行问题定位](#section199621957141014)
+ - [printf打印](#section5204547123316)
+ - [根据asm文件进行问题定位](#section15919111423416)
+
- [运行结果](#section18115713118)
- [下一步学习](#section9712145420182)
@@ -92,7 +93,7 @@ bugfix和新增业务两种情况,涉及源码修改。下面以新增业务
由于本示例业务简单,采用printf打印日志的调试方式即可。下面开始介绍这两种调试手段的使用方法。
-## printf打印
+### printf打印
代码中增加printf维测,信息会直接打印到串口上。开发者可在业务关键路径或业务异常位置增加日志打印,如下所示。
@@ -103,7 +104,7 @@ void HelloWorld(void)
}
```
-## 根据asm文件进行问题定位
+### 根据asm文件进行问题定位
系统异常退出时,会在串口上打印异常退出原因调用栈信息,如下文所示。通过解析异常栈信息可以定位异常位置。
@@ -137,7 +138,7 @@ Call Stack 6 -- 3f5e24 addr:f78fc
3. 根据以上调用栈信息,可以定位WadRecvCB函数中出现了异常。
- 
+ 
4. 完成代码排查及修改。
@@ -154,5 +155,5 @@ wifi init success!
## 下一步学习
-恭喜,您已完成Hi3861 WLAN模组快速上手!建议您下一步进入[WLAN产品开发](../guide/device-wifi.md)的学习 。
+恭喜,您已完成Hi3861 WLAN模组快速上手!建议您下一步进入[WLAN产品开发](../guide/device-wlan.md)的学习 。
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-setting.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-setting.md
similarity index 99%
rename from zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-setting.md
rename to zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-setting.md
index 90998c5acf0e5b6ee722fdcb6030a34e8a83b5fb..bb42ece33d7589af139d4aa5cd26e3fd65c8f11f 100644
--- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-board3861-setting.md
+++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-setting.md
@@ -142,13 +142,11 @@ sudo apt-get install build-essential gcc g++ make zlib* libffi-dev
sudo pip3 install kconfiglib
```
-
- **安装包方式:**
1. 下载.whl文件(例如:kconfiglib-13.2.0-py2.py3-none-any.whl)。
下载路径:“[https://pypi.org/project/kconfiglib\#files](https://pypi.org/project/kconfiglib#files)”
-
1. 运行如下命令,安装.whl文件。
```
@@ -156,7 +154,6 @@ sudo apt-get install build-essential gcc g++ make zlib* libffi-dev
```
-
3. 安装pycryptodome,任选如下一种方式。
安装升级文件签名依赖的Python组件包,包括:pycryptodome、six、ecdsa。安装ecdsa依赖six,请先安装six,再安装ecdsa。
@@ -172,7 +169,6 @@ sudo apt-get install build-essential gcc g++ make zlib* libffi-dev
下载路径:“[https://pypi.org/project/pycryptodome/\#files](https://pypi.org/project/pycryptodome/#files)”。
-
1. 运行如下命令,安装.whl文件。
```
@@ -180,7 +176,6 @@ sudo apt-get install build-essential gcc g++ make zlib* libffi-dev
```
-
4. 安装six,任选如下一种方式。
- **命令行方式:**
@@ -188,13 +183,11 @@ sudo apt-get install build-essential gcc g++ make zlib* libffi-dev
sudo pip3 install six --upgrade --ignore-installed six
```
-
- **安装包方式:**
1. 下载.whl文件(例如:six-1.12.0-py2.py3-none-any.whl)。
下载路径:“[https://pypi.org/project/six/\#files](https://pypi.org/project/six/#files)”
-
1. 运行如下命令,安装.whl文件。
```
@@ -202,7 +195,6 @@ sudo apt-get install build-essential gcc g++ make zlib* libffi-dev
```
-
5. 安装ecdsa,任选如下一种方式。
- **命令行方式:**
@@ -215,7 +207,6 @@ sudo apt-get install build-essential gcc g++ make zlib* libffi-dev
下载路径:“[https://pypi.org/project/ecdsa/\#files](https://pypi.org/project/ecdsa/#files)”
-
1. 运行如下命令,安装.whl文件。
```
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861.md
new file mode 100644
index 0000000000000000000000000000000000000000..e746563d9f13f1a76050f7417a7ce308eef4ff47
--- /dev/null
+++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861.md
@@ -0,0 +1,11 @@
+# Hi3861开发板
+
+- **[安装开发板环境](quickstart-lite-steps-hi3861-setting.md)**
+
+- **[WLAN联网(编译、烧录)](quickstart-lite-steps-hi3861-connection.md)**
+
+- **[运行Hello World](quickstart-lite-steps-hi3861-running.md)**
+
+- **[常见问题](quickstart-lite-steps-hi3861-faqs.md)**
+
+
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps.md
index 49545483c62cc3790af97196c58f3e29ce9c00b5..73a0910af66ad866ae70c5cc2865fc07c855c364 100644
--- a/zh-cn/device-dev/quick-start/quickstart-lite-steps.md
+++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps.md
@@ -1,9 +1,9 @@
# 开发步骤
-- **[Hi3861开发板](quickstart-lite-steps-board3861.md)**
+- **[Hi3861开发板](quickstart-lite-steps-hi3861.md)**
-- **[Hi3516开发板](quickstart-lite-steps-board3516.md)**
+- **[Hi3516开发板](quickstart-lite-steps-hi3516.md)**
-- **[Hi3518开发板](quickstart-lite-steps-board3518.md)**
+- **[Hi3518开发板](quickstart-lite-steps-hi3518.md)**
diff --git a/zh-cn/device-dev/quick-start/quickstart-lite.md b/zh-cn/device-dev/quick-start/quickstart-lite.md
index 47a4ec111d5d343ef0f1abe4321730c8a201249a..97277619cee5967b91636f6db4ba6b89c0083994 100644
--- a/zh-cn/device-dev/quick-start/quickstart-lite.md
+++ b/zh-cn/device-dev/quick-start/quickstart-lite.md
@@ -2,7 +2,7 @@
- **[概述](quickstart-lite-overview.md)**
-- **[了解开发板](quickstart-lite-introduction.md)**
+- **[入门介绍](quickstart-lite-introduction.md)**
- **[搭建系统环境](quickstart-lite-env-setup.md)**
diff --git a/zh-cn/device-dev/quick-start/quickstart-standard-burn.md b/zh-cn/device-dev/quick-start/quickstart-standard-burn.md
index be86e001d66decb04ed2382d2b8158351437b267..cc229bfea2c0dac7ea9fe138bb252d3479f55d79 100644
--- a/zh-cn/device-dev/quick-start/quickstart-standard-burn.md
+++ b/zh-cn/device-dev/quick-start/quickstart-standard-burn.md
@@ -1,12 +1,20 @@
# 镜像烧录
+- [标准系统镜像烧录](#section105761398576)
+ - [前提条件](#section1458192114718)
+ - [使用网口烧录](#section13755191035815)
+
- [下一步](#section5600113114323)
+## 标准系统镜像烧录
+
+注;:此版本是引用的
+
标准系统烧录,在V2.2 Beta1及以上版本支持。
Hi3516DV300支持烧录标准系统,其烧录方式包括网口烧录和串口烧录三种方式,其中:
-- **Windows系统:支持网口烧录和串口烧录**
+- **Windows系统:支持USB烧录、网口烧录和串口烧录**
- **Linux系统:支持串口烧录和网口烧录。**
同一种烧录方式(如网口烧录),在Windows和Linux环境下的烧录操作完全一致,区别仅在于DevEco Device Tool环境搭建不同。
@@ -16,13 +24,15 @@ Hi3516DV300支持烧录标准系统,其烧录方式包括网口烧录和串口
### 前提条件
-在DevEco Device Tool中[打开一个工程](https://device.harmonyos.com/cn/docs/ide/user-guides/open_project-0000001071680043),该工程文件夹选择待烧录文件所在文件夹即可。其中开发板类型固定选择Hi3516DV300,Framework选择“Hb”。
+在DevEco Device Tool中,选择**Import Project**打开待烧录文件所在文件夹,其中MCU选择**HiSilicon\_Arm\_Linux**下的Hi3516DV300,Framework选择“Hb”。
-### 使用网口烧录
+
+
+### 使用网口烧录
Hi3516DV300开发板使用网口录方式,支持Windows和Linux系统。
-1. 请连接好电脑和待烧录开发板,需要同时连接串口、网口和电源,具体可参考[Hi3516DV300开发板介绍](https://device.harmonyos.com/cn/docs/start/introduce/oem_minitinier_des_3516-0000001152041033)。
+1. 请连接好电脑和待烧录开发板,需要同时连接串口、网口和电源,具体可参考[Hi3516DV300开发板介绍](https://device.harmonyos.com/cn/docs/start/introduce/quickstart-lite-introduction-hi3516-0000001152041033)。
2. 打开电脑的设备管理器,查看并记录对应的串口号。
> **说明:**
@@ -32,151 +42,18 @@ Hi3516DV300开发板使用网口录方式,支持Windows和Linux系统。
3. 打开DevEco Device Tool,在Projects中,点击**Settings**打开工程配置界面。
- 
-
-4. 在**Partition Configuration**页签中,按照下表内容填写烧录文件信息,包括:
-
-
- Name
- |
- Binary
- |
- Memory
- |
- System
- |
- Address
- |
- Length
- |
- Board
- |
- Type
- |
-
-
- fastboot
- |
- 选择“u-boot-hi3516dv300_emmc.bin”
- |
- emmc
- |
- none
- |
- 0x000000
- |
- 0x100000
- |
- 固定选择“hi3516dv300”
- |
- NA
- |
-
- boot
- |
- 选择“uImage”
- |
- emmc
- |
- none
- |
- 0x100000
- |
- 0xf00000
- |
- NA
- |
-
- updater
- |
- 选择“updater.img”
- |
- emmc
- |
- ext3/4
- |
- 0x1000000
- |
- 0x1400000
- |
- NA
- |
-
- misc
- |
- 空白,不用选择
- |
- emmc
- |
- none
- |
- 0x2400000
- |
- 0x100000
- |
- NA
- |
-
- system
- |
- 选择“system.img”
- |
- emmc
- |
- ext3/4
- |
- 0x2500000
- |
- 0xceb00000
- |
- NA
- |
-
- vendor
- |
- 选择“vendor.img”
- |
- emmc
- |
- ext3/4
- |
- 0xd1000000
- |
- 0x10000000
- |
- NA
- |
-
- userdata
- |
- 选择“userdata.img”
- |
- emmc
- |
- ext3/4
- |
- 0xe1000000
- |
- 0x5b800000
- |
- NA
- |
-
-
-
-
- 
-
-5. 在“hi3516dv300”页签,设置烧录选项,包括upload\_port、upload\_partitions和upload\_protocol。
+ 
+
+4. 在“hi3516dv300”页签,设置烧录选项,包括upload\_port、upload\_partitions和upload\_protocol。
- upload\_port:选择步骤[2](#zh-cn_topic_0000001056443961_li1050616379507)中查询的串口号。
- upload\_protocol:选择烧录协议,固定选择“hiburn-net”。
- - upload\_partitions:选择待烧录的文件,包括fastboot、boot、updater、misc、system、vendor和userdata。
+ - upload\_partitions:选择待烧录的文件,默认情况下会同时烧录fastboot、boot、updater、misc、system、vendor和userdata。

-6. 检查和设置连接开发板后的网络适配器的IP地址信息,设置方法请参考[设置Hi3516DV300网口烧录的IP地址信息](https://device.harmonyos.com/cn/docs/ide/user-guides/set_ipaddress-0000001141825075)。
-7. 设置网口烧录的IP地址信息,设置如下选项:
+5. 检查和设置连接开发板后的网络适配器的IP地址信息,设置方法请参考[设置Hi3516DV300网口烧录的IP地址信息](https://device.harmonyos.com/cn/docs/ide/user-guides/set_ipaddress-0000001141825075)。
+6. 设置网口烧录的IP地址信息,设置如下选项:
- upload\_net\_server\_ip:选择步骤6中设置的IP地址信息。例如192.168.1.2
- upload\_net\_client\_mask:设置开发板的子网掩码,工具会自动根据选择的upload\_net\_server\_ip进行设置。例如255.255.255.0
@@ -185,12 +62,12 @@ Hi3516DV300开发板使用网口录方式,支持Windows和Linux系统。

-8. 所有的配置都修改完成后,在工程配置页签的顶部,点击**Save**进行保存。
-9. 启动烧录后,显示如下提示信息时,请重启开发板(下电再上电)。
+7. 所有的配置都修改完成后,在工程配置页签的顶部,点击**Save**进行保存。
+8. 启动烧录后,显示如下提示信息时,请重启开发板(下电再上电)。

-10. 重新上电后,启动烧录,界面提示如下信息时,表示烧录成功。
+9. 重新上电后,启动烧录,界面提示如下信息时,表示烧录成功。

diff --git a/zh-cn/device-dev/quick-start/quickstart-standard-docker-environment.md b/zh-cn/device-dev/quick-start/quickstart-standard-docker-environment.md
index 48348a5bd26aa2bbb34b45b568f03a3bceb2076c..91cdce605894bf3ab232d0b702d950af12118896 100644
--- a/zh-cn/device-dev/quick-start/quickstart-standard-docker-environment.md
+++ b/zh-cn/device-dev/quick-start/quickstart-standard-docker-environment.md
@@ -1,4 +1,4 @@
-# 搭建Ubuntu环境及编译(Docker方式)
+# 搭建Ubuntu环境\(获取源码及编译,Docker方式\)
- [获取标准系统源码](#section8761819202511)
- [前提条件](#section102871547153314)
diff --git a/zh-cn/device-dev/quick-start/quickstart-standard-faq.md b/zh-cn/device-dev/quick-start/quickstart-standard-faqs.md
similarity index 100%
rename from zh-cn/device-dev/quick-start/quickstart-standard-faq.md
rename to zh-cn/device-dev/quick-start/quickstart-standard-faqs.md
diff --git a/zh-cn/device-dev/quick-start/quickstart-standard-image.md b/zh-cn/device-dev/quick-start/quickstart-standard-image.md
new file mode 100644
index 0000000000000000000000000000000000000000..21dd0fcd4359b441c0e732c509d882183c359529
--- /dev/null
+++ b/zh-cn/device-dev/quick-start/quickstart-standard-image.md
@@ -0,0 +1,25 @@
+# 镜像运行
+
+烧录完成后通过以下步骤运行系统:
+
+1. 点击Monitor,打开串口工具
+
+ 
+
+2. 重启开发板,在倒数及时结束前,按任意键进入到海思系统
+
+ 
+
+ 
+
+3. 设置启动参数,等待开发板启动
+
+ 
+
+ ```
+ setenv bootargs 'mem=640M console=ttyAMA0,115200 mmz=anonymous,0,0xA8000000,384M clk_ignore_unused androidboot.selinux=permissive skip_initramfs rootdelay=5 init=/init root=/dev/mmcblk0p5 rootfstype=ext4 rw blkdevparts=mmcblk0:1M(boot),15M(kernel),20M(updater),1M(misc),3307M(system),256M(vendor),-(userdata)'
+ save
+ reset
+ ```
+
+
diff --git a/zh-cn/device-dev/quick-start/quickstart-standard-description.md b/zh-cn/device-dev/quick-start/quickstart-standard-overview.md
similarity index 99%
rename from zh-cn/device-dev/quick-start/quickstart-standard-description.md
rename to zh-cn/device-dev/quick-start/quickstart-standard-overview.md
index 20f133bca4fc7cbace60eca8d9a6de8b79e7965a..e52757cbebaebcdceec7f56d089c0f3c4d88a65e 100644
--- a/zh-cn/device-dev/quick-start/quickstart-standard-description.md
+++ b/zh-cn/device-dev/quick-start/quickstart-standard-overview.md
@@ -22,7 +22,7 @@ Hi3516DV300作为新一代行业专用Smart HD IP摄像机SOC,集成新一代I
**图 2** Hi3516单板正面外观图
-
+
## 开发板规格
diff --git a/zh-cn/device-dev/quick-start/quickstart-standard-package-environment.md b/zh-cn/device-dev/quick-start/quickstart-standard-package-environment.md
index 774c73693c4a9ab78f7ee7dc10cd81b535b55f14..f675c28cdb54e358d3cfbcf84c7b19ccdf766e02 100644
--- a/zh-cn/device-dev/quick-start/quickstart-standard-package-environment.md
+++ b/zh-cn/device-dev/quick-start/quickstart-standard-package-environment.md
@@ -1,4 +1,4 @@
-# 搭建Ubuntu环境及编译(安装包方式)
+# 搭建Ubuntu环境\(获取源码及编译,安装包方式\)
- [安装依赖工具](#section18431165519244)
- [获取标准系统源码](#section113751052102517)
diff --git a/zh-cn/device-dev/quick-start/quickstart-standard-windows-environment.md b/zh-cn/device-dev/quick-start/quickstart-standard-windows-environment.md
index bf45ab1684dce5b497d0685d1cc05e3f20e43ac3..403201d52c1c575bd8702d1456b333c9a33778a9 100644
--- a/zh-cn/device-dev/quick-start/quickstart-standard-windows-environment.md
+++ b/zh-cn/device-dev/quick-start/quickstart-standard-windows-environment.md
@@ -1,4 +1,4 @@
-# Windows开发环境准备
+# 搭建Windows开发环境
- [获取软件](#zh-cn_topic_0000001058091994_section1483143015558)
- [安装Visual Studio Code](#zh-cn_topic_0000001058091994_section71401018163318)
@@ -34,7 +34,7 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展
|
代码编辑工具
|
-V1.53及以上 64位版本。
+ | V1.53及以上64位版本。
|
https://code.visualstudio.com/Download
|
@@ -43,7 +43,7 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展
编译构建工具
|
-V3.7.4~V3.8.x 64位版本
+ | V3.8及以上64位版本
|
https://www.python.org/downloads/
|
@@ -52,7 +52,7 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展
提供npm环境
|
-v12.0.0及以上 64位版本
+ | v12.0.0及以上64位版本
|
https://nodejs.org/zh-cn/download/
|
@@ -70,7 +70,7 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展
OpenHarmony源码的编译、烧录、调试插件工具
|
-v2.2 Beta1
+ | v2.2 Beta2
|
https://device.harmonyos.com/cn/ide#download
下载前,请使用华为开发者帐号登录,如未注册,请先注册华为开发者帐号。
@@ -92,12 +92,9 @@ DevEco Device Tool以插件方式提供,基于Visual Studio Code进行扩展
## 安装Python
-> **说明:**
->请注意,Python版本要求为V3.7.4\~V3.8.x 64位版本。
-
1. 双击Python安装包进行安装,勾选“**Add Python 3.8 to PATH**”,然后点击**Install Now**开始安装。
- 
+ 
2. 等待安装完成后,点击**Close**。
@@ -164,12 +161,22 @@ DevEco Device Tool正常运行需要依赖于C/C++和CodeLLDB插件,在安装
>安装DevEco Device Tool时,请先关闭Visual Studio Code。
1. 解压DevEco Device Tool插件压缩包,双击安装包程序进行安装。
-2. 安装过程中,会自动安装DevEco Device Tool所需的依赖文件(如C/C++和CodeLLDB插件)和执行程序。
+2. DevEco Device Tool会检测安装依赖的工具包是否符合要求。如果不符合要求,请按照本章节前面的内容进行安装。
+
+ > **说明:**
+ >如果已经安装Visual Studio Code,但依然检测不到,可重启电脑解决。
+
+ 
+
+3. 点击**Install**进行安装。
+
+ 
+
+4. 等待安装完成后,点击Close关闭安装界面。
- 
+ 
-3. 安装完成后,会自动关闭命令行工具窗口。
-4. 启动Visual Studio Code,点击左侧的按钮,检查INSTALLED中,是否已成功安装C/C++、CodeLLDB和DevEco Device Tool。
+5. 启动Visual Studio Code,会自动安装DevEco Device Tool依赖的C/C++、CodeLLDB插件。等待安装完成后,点击Visual Studio Code左侧的按钮,检查INSTALLED中,是否已成功安装C/C++、CodeLLDB和DevEco Device Tool。
> **说明:**
>如果C/C++和CodeLLDB插件安装不成功,则DevEco Device Tool不能正常运行,解决方法,详细请参考:[离线安装C/C++和CodeLLDB插件](https://device.harmonyos.com/cn/docs/ide/user-guides/offline_plugin_install-0000001074376846)。
diff --git a/zh-cn/device-dev/quick-start/quickstart-standard.md b/zh-cn/device-dev/quick-start/quickstart-standard.md
index 8d2bc8cb313e357a743b62556b44b97c927bb0f2..6f3dbe36f7eef6b2544d78c9cdefe90e9ce7991f 100644
--- a/zh-cn/device-dev/quick-start/quickstart-standard.md
+++ b/zh-cn/device-dev/quick-start/quickstart-standard.md
@@ -1,15 +1,17 @@
# 标准系统入门
-- **[入门介绍](quickstart-standard-description.md)**
+- **[入门介绍](quickstart-standard-overview.md)**
-- **[Windows开发环境准备](quickstart-standard-windows-environment.md)**
+- **[搭建Windows开发环境](quickstart-standard-windows-environment.md)**
-- **[搭建Ubuntu环境及编译(Docker方式)](quickstart-standard-docker-environment.md)**
+- **[搭建Ubuntu环境\(获取源码及编译,Docker方式\)](quickstart-standard-docker-environment.md)**
-- **[搭建Ubuntu环境及编译(安装包方式)](quickstart-standard-package-environment.md)**
+- **[搭建Ubuntu环境\(获取源码及编译,安装包方式\)](quickstart-standard-package-environment.md)**
- **[镜像烧录](quickstart-standard-burn.md)**
-- **[常见问题](quickstart-standard-faq.md)**
+- **[镜像运行](quickstart-standard-image.md)**
+
+- **[常见问题](quickstart-standard-faqs.md)**
diff --git a/zh-cn/device-dev/security/Readme-CN.md b/zh-cn/device-dev/security/Readme-CN.md
index 9a8e221f7fe6561d044900efa29dfec7d0d82af0..7551c2b1c206417d58f87cfa8cbf418d4f201b6d 100755
--- a/zh-cn/device-dev/security/Readme-CN.md
+++ b/zh-cn/device-dev/security/Readme-CN.md
@@ -1,5 +1,5 @@
-# 隐私与安全
+# 隐私与安全
-- [隐私保护](safety-protection-privacyguide.md)
-- [安全指南](safety-safeguide-security.md)
+- [隐私保护](security-privacy-protection.md)
+- [安全指南](security-guidelines-overall.md)
diff --git a/zh-cn/device-dev/security/safety-safeguide-security.md b/zh-cn/device-dev/security/security-guidelines-overall.md
similarity index 100%
rename from zh-cn/device-dev/security/safety-safeguide-security.md
rename to zh-cn/device-dev/security/security-guidelines-overall.md
diff --git a/zh-cn/device-dev/security/safety-protection-privacyguide.md b/zh-cn/device-dev/security/security-privacy-protection.md
similarity index 98%
rename from zh-cn/device-dev/security/safety-protection-privacyguide.md
rename to zh-cn/device-dev/security/security-privacy-protection.md
index 95e5eccca8ac113c4ac92f908bb5701109b0e842..ae8f6bcae405462488b73f4bb68a746d391dd5ad 100644
--- a/zh-cn/device-dev/security/safety-protection-privacyguide.md
+++ b/zh-cn/device-dev/security/security-privacy-protection.md
@@ -195,9 +195,9 @@
从技术上保证数据处理活动的安全性,包括个人数据的加密存储、安全传输等安全机制,系统应默认开启或采取安全保护措施。
-- 对于个人数据的访问需要有保护机制,主要包括身份认证和访问控制。身份认证(如用户名、密码)限定只有经过认证的用户才能访问数据,可应用于多用户场景;访问控制(如[权限控制](safety-safeguide-security.md#li201725506375))可应用于对应用程序的限制。
+- 对于个人数据的访问需要有保护机制,主要包括身份认证和访问控制。身份认证(如用户名、密码)限定只有经过认证的用户才能访问数据,可应用于多用户场景;访问控制(如[权限控制](security-guidelines-overall.md#li201725506375))可应用于对应用程序的限制。
- 分布式设备个人数据安全存储要满足密钥管理和存储服务(HUKS:Huawei Universal Keystore)的要求,包括:密钥安全存储、数据安全存储。
-- 个人数据在分布式设备间传输要满足设备间的信任绑定关系和数据传输通道的安全性要求。详细信息可以参考[设备互联安全](safety-safeguide-security.md#section26153183616)。
+- 个人数据在分布式设备间传输要满足设备间的信任绑定关系和数据传输通道的安全性要求。详细信息可以参考[设备互联安全](security-guidelines-overall.md#section26153183616)。
- 认证凭证数据(密码、口令、指纹等)须加密存储。
**本地化处理**
diff --git a/zh-cn/device-dev/security/safety.md b/zh-cn/device-dev/security/security.md
similarity index 36%
rename from zh-cn/device-dev/security/safety.md
rename to zh-cn/device-dev/security/security.md
index 72bbe83ac0cf5052a2b1b53ce27b380ef390b963..1d9db4c8610e88ab991a455bc8be6fc56db2e36c 100644
--- a/zh-cn/device-dev/security/safety.md
+++ b/zh-cn/device-dev/security/security.md
@@ -1,7 +1,7 @@
# 隐私与安全
-- **[隐私保护](safety-protection-privacyguide.md)**
+- **[隐私保护](security-privacy-protection.md)**
-- **[安全指南](safety-safeguide-security.md)**
+- **[安全指南](security-guidelines-overall.md)**
diff --git a/zh-cn/device-dev/subsystems/Readme-CN.md b/zh-cn/device-dev/subsystems/Readme-CN.md
index 843563ec81e16ad3c87a21e020cc28bca5b3a5fb..dcbcbd6ffaed61052f9440ae472a98ce5abcbc9a 100755
--- a/zh-cn/device-dev/subsystems/Readme-CN.md
+++ b/zh-cn/device-dev/subsystems/Readme-CN.md
@@ -1,78 +1,75 @@
# 子系统开发指南
-- [编译构建](subsys-build.md)
- - [轻量和小型系统编译构建指导](subsys-build-mini-lite.md)
- - [标准系统编译构建指导](subsys-build-standard-large.md)
-- [分布式远程启动](subsys-remote-start.md)
-- [图形图像](subsys-graphics.md)
- - [图形图像概述](subsys-graphics-overview.md)
- - [容器类组件开发指导](subsys-graphics-bundle-guide1.md)
- - [布局容器类组件开发指导](subsys-graphics-bundle-guide2.md)
- - [普通组件开发指导](subsys-graphics-bundle-guide3.md)
- - [动画开发指导](subsys-graphics-animation-guide.md)
-- [媒体](subsys-multimedia.md)
- - [相机](subsys-multimedia-camera.md)
- - [相机开发概述](subsys-multimedia-camera-overview.md)
- - [拍照开发指导](subsys-multimedia-camera-photo-guide.md)
- - [录像开发指导](subsys-multimedia-camera-record-guide.md)
- - [预览开发指导](subsys-multimedia-camera-preview-guide.md)
-
- - [音视频](subsys-multimedia-video.md)
- - [音视频开发概述](subsys-multimedia-video-overview.md)
- - [音视频播放开发指导](subsys-multimedia-video-play-guide.md)
- - [音视频录制开发指导](subsys-multimedia-video-record-guide.md)
-- [公共基础](subsys-utils.md)
- - [公共基础库概述](subsys-utils-overview.md)
- - [公共基础库开发指导](subsys-utils-guide.md)
- - [公共基础库常见问题](subsys-utils-faqs.md)
-- [AI框架](subsys-aiframework.md)
- - [AI引擎框架开发指南](subsys-aiframework-guide.md)
- - [搭建环境](subsys-aiframework-envbuild.md)
- - [技术规范](subsys-aiframework-tech.md)
- - [代码管理规范](subsys-aiframework-tech-codemanage.md)
- - [命名规范](subsys-aiframework-tech-name.md)
- - [接口开发规范](subsys-aiframework-tech-interface.md)
-
- - [开发指导](subsys-aiframework-devguide.md)
- - [SDK开发过程](subsys-aiframework-devguide-sdk.md)
- - [插件的开发过程](subsys-aiframework-devguide-plugin.md)
- - [配置文件的开发过程](subsys-aiframework-devguide-conf.md)
-
- - [开发示例](subsys-aiframework-demo.md)
- - [唤醒词识别SDK的开发示例](subsys-aiframework-demo-sdk.md)
- - [唤醒词识别插件的开发示例](subsys-aiframework-demo-plugin.md)
- - [唤醒词识别配置文件的开发示例](subsys-aiframework-demo-conf.md)
-- [Sensor服务](subsys-sensor.md)
- - [Sensor服务子系概述](subsys-sensor-overview.md)
- - [Sensor服务子系使用指导](subsys-sensor-guide.md)
- - [Sensor服务子系使用实例](subsys-sensor-demo.md)
-- [用户程序框架](subsys-application-framework.md)
- - [概述](subsys-application-framework-overview.md)
- - [搭建环境](subsys-application-framework-builden.md)
- - [开发指导](subsys-application-framework-guide.md)
- - [开发实例](subsys-application-framework-demo.md)
-- [OTA升级](subsys-ota-guide.md)
-- [安全](subsys-security.md)
- - [概述](subsys-security-overview.md)
- - [应用验签开发指导](subsys-security-sigverify.md)
- - [应用权限管理开发指导](subsys-security-rightmanagement.md)
- - [IPC通信鉴权开发指导](subsys-security-communicationverify.md)
-- [启动恢复](subsys-boot.md)
- - [启动恢复子系统概述](subsys-boot-overview.md)
- - [init启动引导组件](subsys-boot-init.md)
- - [appspawn应用孵化组件](subsys-boot-appspawn.md)
- - [bootstrap服务启动组件](subsys-boot-bootstrap.md)
- - [syspara系统属性组件](subsys-boot-syspara.md)
- - [常见问题](subsys-boot-faqs.md)
- - [参考](subsys-boot-ref.md)
-- [测试](subsys-testguide-test.md)
-- [DFX](subsys-dfx.md)
- - [DFX概述](subsys-dfx-overview.md)
- - [HiLog开发指导](subsys-dfx-hilog-rich.md)
- - [HiLog\_Lite开发指导](subsys-dfx-hilog-lite.md)
- - [HiSysEvent开发指导](subsys-dfx-hisysevent.md)
-- [研发工具链](subsys-toolchain.md)
- - [bytrace使用指导](subsys-toolchain-bytrace-guide.md)
- - [hdc\_std 使用指导](subsys-toolchain-hdc-guide.md)
-- [XTS认证子系统开发指南](subsys-xts-guide.md)
+- [编译构建](subsys-build.md)
+ - [轻量和小型系统编译构建指导](subsys-build-mini-lite.md)
+ - [标准系统编译构建指导](subsys-build-standard-large.md)
+- [分布式远程启动](subsys-remote-start.md)
+- [图形图像](subsys-graphics.md)
+ - [图形图像概述](subsys-graphics-overview.md)
+ - [容器类组件开发指导](subsys-graphics-container-guide.md)
+ - [布局容器类组件开发指导](subsys-graphics-layout-guide.md)
+ - [普通组件开发指导](subsys-graphics-common-guide.md)
+ - [动画开发指导](subsys-graphics-animation-guide.md)
+- [媒体](subsys-multimedia.md)
+ - [相机](subsys-multimedia-camera.md)
+ - [相机开发概述](subsys-multimedia-camera-overview.md)
+ - [拍照开发指导](subsys-multimedia-camera-photo-guide.md)
+ - [录像开发指导](subsys-multimedia-camera-record-guide.md)
+ - [预览开发指导](subsys-multimedia-camera-preview-guide.md)
+ - [音视频](subsys-multimedia-video.md)
+ - [音视频开发概述](subsys-multimedia-video-overview.md)
+ - [音视频播放开发指导](subsys-multimedia-video-play-guide.md)
+ - [音视频录制开发指导](subsys-multimedia-video-record-guide.md)
+- [公共基础](subsys-utils.md)
+ - [公共基础库概述](subsys-utils-overview.md)
+ - [公共基础库开发指导](subsys-utils-guide.md)
+ - [公共基础库常见问题](subsys-utils-faqs.md)
+- [AI框架](subsys-aiframework.md)
+ - [AI引擎框架开发指南](subsys-aiframework-guide.md)
+ - [搭建环境](subsys-aiframework-envbuild.md)
+ - [技术规范](subsys-aiframework-tech.md)
+ - [代码管理规范](subsys-aiframework-tech-codemanage.md)
+ - [命名规范](subsys-aiframework-tech-name.md)
+ - [接口开发规范](subsys-aiframework-tech-interface.md)
+ - [开发指导](subsys-aiframework-devguide.md)
+ - [SDK开发过程](subsys-aiframework-devguide-sdk.md)
+ - [插件的开发过程](subsys-aiframework-devguide-plugin.md)
+ - [配置文件的开发过程](subsys-aiframework-devguide-conf.md)
+ - [开发示例](subsys-aiframework-demo.md)
+ - [唤醒词识别SDK的开发示例](subsys-aiframework-demo-sdk.md)
+ - [唤醒词识别插件的开发示例](subsys-aiframework-demo-plugin.md)
+ - [唤醒词识别配置文件的开发示例](subsys-aiframework-demo-conf.md)
+- [Sensor服务](subsys-densor.md)
+ - [Sensor服务子系概述](subsys-densor-overview.md)
+ - [Sensor服务子系使用指导](subsys-densor-guide.md)
+ - [Sensor服务子系使用实例](subsys-densor-demo.md)
+- [用户程序框架](subsys-application-framework.md)
+ - [概述](subsys-application-framework-overview.md)
+ - [搭建环境](subsys-application-framework-envbuild.md)
+ - [开发指导](subsys-application-framework-guide.md)
+ - [开发实例](subsys-application-framework-demo.md)
+- [OTA升级](subsys-ota-guide.md)
+- [安全](subsys-security.md)
+ - [概述](subsys-security-overview.md)
+ - [应用验签开发指导](subsys-security-sigverify.md)
+ - [应用权限管理开发指导](subsys-security-rightmanagement.md)
+ - [IPC通信鉴权开发指导](subsys-security-communicationverify.md)
+- [启动恢复](subsys-boot.md)
+ - [启动恢复子系统概述](subsys-boot-overview.md)
+ - [init启动引导组件](subsys-boot-init.md)
+ - [appspawn应用孵化组件](subsys-boot-appspawn.md)
+ - [bootstrap服务启动组件](subsys-boot-bootstrap.md)
+ - [syspara系统属性组件](subsys-boot-syspara.md)
+ - [常见问题](subsys-boot-faqs.md)
+ - [参考](subsys-boot-ref.md)
+- [测试用例开发指导](subsys-testguide-test.md)
+- [DFX](subsys-dfx.md)
+ - [DFX概述](subsys-dfx-overview.md)
+ - [HiLog开发指导](subsys-dfx-hilog-rich.md)
+ - [HiLog\_Lite开发指导](subsys-dfx-hilog-lite.md)
+ - [HiSysEvent开发指导](subsys-dfx-hisysevent.md)
+- [研发工具链](subsys-toolchain.md)
+ - [bytrace使用指导](subsys-toolchain-bytrace-guide.md)
+ - [hdc\_std 使用指导](subsys-toolchain-hdc-guide.md)
+- [XTS认证用例开发指导](subsys-xts-guide.md)
diff --git a/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001181934155.png b/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001181934155.png
new file mode 100644
index 0000000000000000000000000000000000000000..8a3b4daf5fdd4d78948488046bc404bc9ffedbbd
Binary files /dev/null and b/zh-cn/device-dev/subsystems/figure/zh-cn_image_0000001181934155.png differ
diff --git "a/zh-cn/device-dev/subsystems/figure/\345\256\211\345\205\250\345\255\220\347\263\273\347\273\237.png" "b/zh-cn/device-dev/subsystems/figure/\345\256\211\345\205\250\345\255\220\347\263\273\347\273\237.png"
deleted file mode 100644
index 68b98482855637206e94bbd373623dc182a04474..0000000000000000000000000000000000000000
Binary files "a/zh-cn/device-dev/subsystems/figure/\345\256\211\345\205\250\345\255\220\347\263\273\347\273\237.png" and /dev/null differ
diff --git a/zh-cn/device-dev/subsystems/subsys-application-framework-builden.md b/zh-cn/device-dev/subsystems/subsys-application-framework-envbuild.md
similarity index 100%
rename from zh-cn/device-dev/subsystems/subsys-application-framework-builden.md
rename to zh-cn/device-dev/subsystems/subsys-application-framework-envbuild.md
diff --git a/zh-cn/device-dev/subsystems/subsys-application-framework-guide.md b/zh-cn/device-dev/subsystems/subsys-application-framework-guide.md
index b132c23b9381bc71ac04a83359bad84395061fc8..630bf13450e9532d0ef94901bf39539a09a983e6 100644
--- a/zh-cn/device-dev/subsystems/subsys-application-framework-guide.md
+++ b/zh-cn/device-dev/subsystems/subsys-application-framework-guide.md
@@ -334,7 +334,6 @@
在Service销毁时调用。Service应通过实现此方法来清理任何资源,如关闭线程、注册的侦听器等。
-
4. 重写消息处理方法。
MsgHandle是Service用来处理客户端消息的方法。其中funcId是客户端传过来的消息类型,request是客户端传过来的序列化请求参数。如果用户在处理完成之后想要把结果传回去,需要把结果序列化后写入reply中。
@@ -392,7 +391,6 @@
Service一旦创建就会一直保持在后台运行,开发者可以通过调用StopAbility\(\)来停止Service。
-
7. 连接Service。
- 如果Service需要与Page Ability或其他应用组件中的Service进行交互,则应创建用于连接的Service。Service支持其他Ability通过ConnectAbility\(\)与其进行连接,ConnectAbility\(\)需要传入目标Service的Want,以及IAbilityConnection的实例来处理回调。IAbilityConnection提供了两个方法供用户实现,OnAbilityConnectDone\(\)用来处理连接的回调,OnAbilityDisconnectDone\(\)用来处理断开连接的回调。
diff --git a/zh-cn/device-dev/subsystems/subsys-application-framework-overview.md b/zh-cn/device-dev/subsystems/subsys-application-framework-overview.md
index a0ab8c2d1bbeb2118c32fee4eda946747445c5eb..7809336cf531540a1d15a3bbccda105dfa58f2fc 100644
--- a/zh-cn/device-dev/subsystems/subsys-application-framework-overview.md
+++ b/zh-cn/device-dev/subsystems/subsys-application-framework-overview.md
@@ -129,7 +129,6 @@ Ability管理服务和包管理服务启动后,就可以安装OpenHarmony应
- ROM: \> 300K (包含JS应用开发框架,UIKit及引擎等强相关子系统)
-
- Cortex-A RAM/ROM:
- RAM:建议大于2M
diff --git a/zh-cn/device-dev/subsystems/subsys-application-framework.md b/zh-cn/device-dev/subsystems/subsys-application-framework.md
index 99997047ffcf4648b1b4e7fe5eb8ce2db5c6d66c..178c2f17a9cae8229098822c0f98158a0dfeed9f 100644
--- a/zh-cn/device-dev/subsystems/subsys-application-framework.md
+++ b/zh-cn/device-dev/subsystems/subsys-application-framework.md
@@ -2,7 +2,7 @@
- **[概述](subsys-application-framework-overview.md)**
-- **[搭建环境](subsys-application-framework-builden.md)**
+- **[搭建环境](subsys-application-framework-envbuild.md)**
- **[开发指导](subsys-application-framework-guide.md)**
diff --git a/zh-cn/device-dev/subsystems/subsys-build-mini-lite.md b/zh-cn/device-dev/subsystems/subsys-build-mini-lite.md
index dc07da91d5c8c7967965ba91ae1ed276279eb8f7..858b9424b862f5442361b9ef7c3dec524dccf02f 100644
--- a/zh-cn/device-dev/subsystems/subsys-build-mini-lite.md
+++ b/zh-cn/device-dev/subsystems/subsys-build-mini-lite.md
@@ -396,7 +396,6 @@ vendor
- $\{root\_path\}
- $\{fs\_dir\_name\}
-
> **说明:**
>fs.yml是可选的,对于没有文件系统的设备可不配置。
@@ -616,7 +615,7 @@ optional arguments:
1. 创建芯片解决方案目录。
- 按照[芯片解决方案配置规则](#section1625463413327)创建目录,以芯片厂商realtek的“rtl8720“开发板为例, 在代码根目录执行:
+ 按照[芯片解决方案配置规则](#section2345183962710)创建目录,以芯片厂商realtek的“rtl8720“开发板为例, 在代码根目录执行:
```
mkdir -p device/realtek/rtl8720
@@ -683,7 +682,7 @@ optional arguments:
1. 创建产品目录
- 按照[产品解决方案配置规则](#section1625463413327)创建产品目录,以基于“rtl8720“开发板的wifiiot模组为例,在代码根目录执行:
+ 按照[产品解决方案配置规则](#section2345183962710)创建产品目录,以基于“rtl8720“开发板的wifiiot模组为例,在代码根目录执行:
```
mkdir -p vendor/my_company/wifiiot
diff --git a/zh-cn/device-dev/subsystems/subsys-build-mini.md b/zh-cn/device-dev/subsystems/subsys-build-mini.md
deleted file mode 100644
index df6e2e0c54c21c72fbecedb3c1c6dbf7132c87ed..0000000000000000000000000000000000000000
--- a/zh-cn/device-dev/subsystems/subsys-build-mini.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# 轻量和小型系统编译构建指导
-
-- **[编译构建子系统—轻量和小型系统](subsys-build-mini-lite.md)**
-
-
diff --git a/zh-cn/device-dev/subsystems/subsys-build-standard.md b/zh-cn/device-dev/subsystems/subsys-build-standard.md
deleted file mode 100644
index d5d5ce6278bf65d44db5da6b8b7734e22463b486..0000000000000000000000000000000000000000
--- a/zh-cn/device-dev/subsystems/subsys-build-standard.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# 标准系统编译构建指导
-
-- **[编译构建子系统—标准系统](subsys-build-standard-large.md)**
-
-
diff --git a/zh-cn/device-dev/subsystems/subsys-sensor-demo.md b/zh-cn/device-dev/subsystems/subsys-densor-demo.md
similarity index 100%
rename from zh-cn/device-dev/subsystems/subsys-sensor-demo.md
rename to zh-cn/device-dev/subsystems/subsys-densor-demo.md
diff --git a/zh-cn/device-dev/subsystems/subsys-sensor-guide.md b/zh-cn/device-dev/subsystems/subsys-densor-guide.md
similarity index 100%
rename from zh-cn/device-dev/subsystems/subsys-sensor-guide.md
rename to zh-cn/device-dev/subsystems/subsys-densor-guide.md
diff --git a/zh-cn/device-dev/subsystems/subsys-sensor-overview.md b/zh-cn/device-dev/subsystems/subsys-densor-overview.md
similarity index 100%
rename from zh-cn/device-dev/subsystems/subsys-sensor-overview.md
rename to zh-cn/device-dev/subsystems/subsys-densor-overview.md
diff --git a/zh-cn/device-dev/subsystems/subsys-densor.md b/zh-cn/device-dev/subsystems/subsys-densor.md
new file mode 100644
index 0000000000000000000000000000000000000000..2c5ea0dbbeeab7689d3120089e1f91e994cac8bb
--- /dev/null
+++ b/zh-cn/device-dev/subsystems/subsys-densor.md
@@ -0,0 +1,9 @@
+# Sensor服务
+
+- **[Sensor服务子系概述](subsys-densor-overview.md)**
+
+- **[Sensor服务子系使用指导](subsys-densor-guide.md)**
+
+- **[Sensor服务子系使用实例](subsys-densor-demo.md)**
+
+
diff --git a/zh-cn/device-dev/subsystems/subsys-dfx-hisyseventread.md b/zh-cn/device-dev/subsystems/subsys-dfx-hisyseventread.md
deleted file mode 100644
index 333dd112b45fe83e91673798d6fd125db71747e3..0000000000000000000000000000000000000000
--- a/zh-cn/device-dev/subsystems/subsys-dfx-hisyseventread.md
+++ /dev/null
@@ -1,103 +0,0 @@
-# HiSysEvent订阅指导
-
-- [概述](#section315316685112)
-- [接口说明](#section0342191810519)
-- [开发实例](#section123181432175110)
-
-## 概述
-
-HiSysEvent提供了跨进程订阅机制,用户可以通过注册订阅接口。
-
-## 接口说明
-
-**表 1** HiSysEvent订阅接口
-
-
-接口名
- |
-描述
- |
-
-
-int ISysEventService::AddListener(in SysEventRule[] rules, in ISysEventCallback callback)
- |
-接口功能:订阅HiSysEvent事件。
-输入参数:
-- rules:事件订阅规则
- callback:订阅回调对象
-返回值:
-- 0:订阅成功,重复订阅
- 1:订阅成功,初次订阅
- 其他返回值:订阅失败
- |
-
-void ISysEventCallback::Handle(in String domain, in String eventName, in int eventType, in String eventDetail)
- |
-接口功能:订阅事件的回调接口。
-输入参数:
-- domain:事件所属领域
- eventName:事件的名称
- eventType:事件类型
- eventDetail:包含事件相关信息的字符串,以json的形式体现
-返回值:无。
- |
-
-
-
-
-**表 2** SysEventRule订阅规则对象
-
-
-属性名称
- |
-描述
- |
-
-
-uint32_t ruleType
- |
-规则类型(匹配范围包括domain以及eventName):
-- 1:全字符匹配
- 2:前缀匹配
- 3:正则表达式匹配
- 其他值:无效的匹配方式
- |
-
-std::string domain;
- |
-- domain:事件所属领域,如果传入的是空字符串,则默认事件领域字段匹配成功
- |
-
-std::string eventName
- |
-- eventName:事件的名称,如果传入的是空字符串,则默认事件名称字段匹配成功
- |
-
-
-
-
-## 开发实例
-
-1. 源代码开发:
-
- 引入对应的aidl文件,包括:ISysEventService.aidl、SysEventRule.aidl、ISysEventCallback.aidl。
-
- 在相应的业务逻辑里面调用ISysEventService::AddListener\(in SysEventRule\[\] rules, in ISysEventCallback callback\)接口。
-
- 实现对应的回调对象:
-
- ISysEventCallback::Handle\(in String domain, in String eventName, in int eventType, in String eventDetail\)
-
-
-1. 源代码开发:
-
- 引入对应的aidl文件,包括:ISysEventService.aidl、SysEventRule.aidl、ISysEventCallback.aidl。
-
- 在相应的业务逻辑里面调用ISysEventService::AddListener\(in SysEventRule\[\] rules, in ISysEventCallback callback\)接口。
-
- 实现对应的回调对象:
-
- ISysEventCallback::Handle\(in String domain, in String eventName, in int eventType, in String eventDetail\)
-
-2. 编译设置:
-
-在编译子系统里面,需要依赖libbinder模块
-
-aosp\_deps = \[ "shared\_library:libbinder", \]
-
-- **[bytrace使用指导](subsys-toolchain-bytrace-guide.md)**
-
-- **[hdc\_std 使用指导](subsys-toolchain-hdc-guide.md)**
-
-
diff --git a/zh-cn/device-dev/subsystems/subsys-graphics-bundle-guide3.md b/zh-cn/device-dev/subsystems/subsys-graphics-common-guide.md
similarity index 100%
rename from zh-cn/device-dev/subsystems/subsys-graphics-bundle-guide3.md
rename to zh-cn/device-dev/subsystems/subsys-graphics-common-guide.md
diff --git a/zh-cn/device-dev/subsystems/subsys-graphics-bundle-guide1.md b/zh-cn/device-dev/subsystems/subsys-graphics-container-guide.md
similarity index 100%
rename from zh-cn/device-dev/subsystems/subsys-graphics-bundle-guide1.md
rename to zh-cn/device-dev/subsystems/subsys-graphics-container-guide.md
diff --git a/zh-cn/device-dev/subsystems/subsys-graphics-bundle-guide2.md b/zh-cn/device-dev/subsystems/subsys-graphics-layout-guide.md
similarity index 100%
rename from zh-cn/device-dev/subsystems/subsys-graphics-bundle-guide2.md
rename to zh-cn/device-dev/subsystems/subsys-graphics-layout-guide.md
diff --git a/zh-cn/device-dev/subsystems/subsys-graphics.md b/zh-cn/device-dev/subsystems/subsys-graphics.md
index bb255fa159a9823a6ddbfc724ba7b9ba4c5ac9cd..27feed54e9015bfebd8d33c9bbe1c90176937c85 100644
--- a/zh-cn/device-dev/subsystems/subsys-graphics.md
+++ b/zh-cn/device-dev/subsystems/subsys-graphics.md
@@ -2,11 +2,11 @@
- **[图形图像概述](subsys-graphics-overview.md)**
-- **[容器类组件开发指导](subsys-graphics-bundle-guide1.md)**
+- **[容器类组件开发指导](subsys-graphics-container-guide.md)**
-- **[布局容器类组件开发指导](subsys-graphics-bundle-guide2.md)**
+- **[布局容器类组件开发指导](subsys-graphics-layout-guide.md)**
-- **[普通组件开发指导](subsys-graphics-bundle-guide3.md)**
+- **[普通组件开发指导](subsys-graphics-common-guide.md)**
- **[动画开发指导](subsys-graphics-animation-guide.md)**
diff --git a/zh-cn/device-dev/subsystems/subsys-multimedia-camera-overview.md b/zh-cn/device-dev/subsystems/subsys-multimedia-camera-overview.md
index 75b2033e9c72cb5541ed32a6d7a8e098e748a526..824d3461ea0f803b8e568fedc442c45c86592eee 100644
--- a/zh-cn/device-dev/subsystems/subsys-multimedia-camera-overview.md
+++ b/zh-cn/device-dev/subsystems/subsys-multimedia-camera-overview.md
@@ -102,7 +102,6 @@

-
1. Camera录像/预览流程
开发者首先通过CameraKit创建Camera,然后FrameConfig类对录像或者预览帧属性进行配置。录像/预览时序如下:
diff --git a/zh-cn/device-dev/subsystems/subsys-security-communicationverify.md b/zh-cn/device-dev/subsystems/subsys-security-communicationverify.md
index a0c52fc9c75746a7a9da6e4d5d862354f94f30dd..7b6da780217233b210aec73f2f177e3eddf7c795 100644
--- a/zh-cn/device-dev/subsystems/subsys-security-communicationverify.md
+++ b/zh-cn/device-dev/subsystems/subsys-security-communicationverify.md
@@ -41,7 +41,7 @@ IPC通信鉴权提供的API,仅供Samgr调用,开发者在开发服务时需
本部分以BMS服务通过IPC通信方式对外开放接口为例,讲解如何通过IPC通信鉴权组件配置对应接口的访问策略。这里BMS在Samgr中注册的service为bundlems,为开放的接口注册的Feature为BmsFeature。
-1. 在源码路径下的头文件base/security/permission/services/permission\_lite/ipc\_auth/include/policy\_preset.h中配置相应的访问策略,访问策略主要有三种类型:
+1. 鸿蒙侧在源码路径下的头文件base/security/permission/services/permission\_lite/ipc\_auth/include/policy\_preset.h中配置相应的访问策略,产品侧独有的在vendor/hisilicon/产品名称/hals/security/permission\_lite/ipc\_auth/include/policy\_preset\_product.h中配置相应的访问策略,配置策略后将头文件中的宏POLICY\_PRODUCT 配置为1;访问策略主要有三种类型:
(1)type为RANGE类型:允许某个特定范围UID的进程访问,需要指定uidMin和uidMax;
diff --git a/zh-cn/device-dev/subsystems/subsys-security-overview.md b/zh-cn/device-dev/subsystems/subsys-security-overview.md
index 5c47b308081819cc88c581f359cca3b4dc8cdd8f..5ce4e86cbcb0fe8b2a4ffb6a0018735372eb309d 100644
--- a/zh-cn/device-dev/subsystems/subsys-security-overview.md
+++ b/zh-cn/device-dev/subsystems/subsys-security-overview.md
@@ -13,10 +13,6 @@ OpenHarmony安全子系统目前提供给开发者的安全能力主要包含应
应用权限是管理应用访问系统资源和使用系统能力的一种通用方式,应用在开发阶段需要在profile.json中指明此应用在运行过程中可能会调用哪些权限,其中静态权限表示只需要在安装阶段注册就可以,而动态权限一般表示涉及到敏感信息,所以需要用户进行动态授权。
-- IPC通信鉴权
-
- 系统服务通过IPC暴露接口给其他进程访问,这些接口需要配置相应的访问策略,当其他进程访问这些接口时,将会触发IPC通信鉴权机制校验访问进程是否拥有权限访问该接口,若无权限,则拒绝访问该接口。
-
- 可信设备群组管理
提供基于群组概念的同华为账号群组、点对点群组(如二维码、碰一碰等)的设备安全可信关系的创建和查询,分布式应用可基于该能力进行设备间的可信认证,然后向分布式软总线请求设备间安全会话。
@@ -36,41 +32,28 @@ OpenHarmony安全子系统目前提供给开发者的安全能力主要包含应
BMS\(Bundle Manager Service\)包管理管理,在OpenHarmony上主要负责应用的安装、卸载和数据管理。
-- 描述文件
-
- 本文中的描述文件,指HarmonyAppProvision,简称profile。HarmonyAppProvision采用json文件格式进行描述。
-
+- 授权文件
-- 叶子证书
-
- 最终用于为整包或profile签名的证书称为叶子证书,位于数字证书链的最末端。
+ 本文中的授权文件,指HarmonyAppProvision,简称profile。HarmonyAppProvision采用json文件格式进行描述。
- 调试应用
- 指开发者从应用市场申请调试证书与调试描述文件,并以此签名的hap包。
-
-
-- 待上架应用
-
- 指开发者从应用市场申请发布证书与发布描述文件,以此签名,未通过应用市场正式发布的hap包。
+ 指开发者从应用市场申请调试证书与调试授权文件,并以此签名的hap包。
- 发布应用
- 指开发者从应用市场申请发布证书与发布描述文件,以此签名的hap包,上传至应用市场,并由应用市场正式发布的hap包。
+ 指开发者从应用市场申请发布证书与发布授权文件,以此签名的hap包,上传至应用市场,并由应用市场正式发布的hap包。
-- OpenHarmony自签名应用
+- OpenHarmony签名应用
- 当开发者自行编译OpenHarmony系统应用后,采用原应用描述文件,以及公开的OpenHarmony公私钥对和证书进行自签名产生的hap包。
+ OpenHarmony开源了一个根CA的证书和密钥,以此根CA签发的签名证书和授权文件签名的应用。
## 约束与限制
-- 仅支持以下三类应用的验签:应用市场调试应用、应用市场发布应用、OpenHarmony自签名应用的验签。
-- 若对应用市场调试应用验签,则本机UDID需要在描述文件包含的UDID列表中。
-- 待上架应用无法验签通过。
-- 验签组件提供的接口都位于security\_interfaces\_innerkits\_app\_verify仓[app\_verify\_pub.h](https://gitee.com/fork_ohos_wj/security_interfaces_innerkits_app_verify/blob/master/app_verify_pub.h)中,仅支持系统应用开发者调用。
-- 可信设备群组管理接口,目前只对系统签名权限才可以使用。
+- 仅支持以下三类应用的验签:应用市场调试应用、应用市场发布应用、OpenHarmony签名应用。
+- 若对应用市场调试应用验签,则本机UDID需要在授权文件授权调试的UDID列表中。
diff --git a/zh-cn/device-dev/subsystems/subsys-security-sigverify.md b/zh-cn/device-dev/subsystems/subsys-security-sigverify.md
index a7e2f85b64ec50c09ad516a117b157d71907c11f..7c46ac23f5d5892104ed36a6b7b357fb5b3d8f8d 100644
--- a/zh-cn/device-dev/subsystems/subsys-security-sigverify.md
+++ b/zh-cn/device-dev/subsystems/subsys-security-sigverify.md
@@ -3,57 +3,47 @@
- [场景介绍](#section18502174174019)
- [验签流程](#section554632717226)
- [接口说明](#section1633115419401)
-- [开发步骤(场景一)](#section4207112818418)
- - [验签指导](#section11470123816297)
- - [生成OpenHarmony自签名应用](#section167151429133312)
- - [开发示例](#section174318361353)
+- [开发步骤](#section4207112818418)
+ - [生成OpenHarmony签名应用](#section167151429133312)
-- [开发步骤(场景二)](#section81272563427)
- - [验签指导](#section07028210442)
- - [开发示例](#section1930711345445)
-
-- [调测验证](#section427316292411)
## 场景介绍
-当需要验证调试应用、发布应用,OpenHarmony自签名应用的完整性是否被破坏时,可以调用验签组件的接口进行验证。如有需要还可通过验签接口获取部分描述文件信息,如appid。对于调试应用,还可通过验签接口验证应用和设备的UDID是否匹配,确保应用安装在了正确的设备上。
+为了确保应用的完整性和来源可靠,OpenHarmony需要对应用进行签名和验签。
+
+- 应用开发阶段:开发者完成开发并生成安装包后,需要开发者对安装包进行签名,以证明安装包发布到设备的过程中没有被篡改。OpenHarmony的应用完整性校验模块提供了签名工具、签名证书生成规范,以及签名所需的公钥证书等完整的机制,支撑开发者对应用安装包签名。为了方便开源社区开发者,版本中预置了公钥证书和对应的私钥,为开源社区提供离线签名和校验能力;在OpenHarmony商用版本中应替换此公钥证书和对应的私钥。
+- 应用安装阶段:OpenHarmony用户程序框架子系统负责应用的安装。在接收到应用安装包之后,应用程序框架子系统需要解析安装包的签名数据,然后使用应用完整性校验模块的API对签名进行验证,只有校验成功之后才允许安装此应用. 应用完整性校验模块在校验安装包签名数据时,会使用系统预置的公钥证书进行验签。
## 验签流程
未经签名的Hap包的压缩方式是ZIP格式,简单分为文件块,中心目录(Central directory)块,中心目录结尾(EOCD,End of central directory record)块。
-经过签名的Hap包,在文件块,和中心目录块之间,插入了签名块。签名块由文件签名数据块(data sign block)、描述文件签名数据块(profile sign block)和签名头(sign head)组成,如下图所示。
+经过签名的Hap包,在文件块,和中心目录块之间,插入了签名块。签名块由整包签名数据块(data sign block)、授权文件签名数据块(profile sign block)和签名头(sign head)组成,如下图所示。
**图 1** 经过签名的Hap包结构
-
+
-整个验签流程,主要分为三部分:整包验签、描述文件签名块验签,以及描述文件内容校验。
+整个验签流程,主要分为三部分:整包验签、授权文件验签,以及授权文件内容校验。
**整包验签**
-用设备的预置根证书,通过证书链来证明叶子证书本身是可信的,然后用叶子证书的公钥解密出的摘要证明整包是未篡改的。
-
-具体操作步骤如下:
-
-1. 对文件签名数据块中的证书链进行校验,确定其叶子证书是可信的。
-2. 用叶子证书中的公钥对文件签名块进行验签,证明其未被篡改。
-3. 计算并合并文件块,中心目录块和中心目录结尾块的摘要。然后将计算结果,再与签名块中的描述文件签名块的摘要合并,将最终合并的摘要与文件签名块中包含的摘要对比,如果两者相等,则整包验签通过。
+整包签名数据块是一个PKCS7格式的签名块(signed data),验签过程包括PKSC7签名验证、哈希比较、证书链验证以及证书链与设备预置根证书的匹配校验。
-**描述文件签名块验签**
+**授权文件验签**
-首先判断文件签名的签发单位,如果是应用市场签发的发布应用,则无需对描述文件进行验签,直接信任,否则要对其验签。先取出整个描述文件签名块,然后验证证书链,最后用叶子证书对描述文件数据块验签,证明其未被篡改。
+授权文件数据块是一个PKCS7格式的签名块(signed data),其中PKCS7签名块的内容信息\(contentinfo\)是授权文件的内容。验签过程包括:PKCS7签名验证、哈希比较、证书链验证以及签发授权文件证书的合法性校验。
-**描述文件内容校验**
+**授权文件内容校验**
-取出描述文件,并对其内容进行合法性检查。其中若hap包为调试应用,则会比对本机UDID与描述文件中包含的UDID列表,如果本机UDID在描述文件的UDID列表中包含,则验证通过。比较描述文件中包含的证书(如果是应用市场发布应用或OpenHarmony自签名则无需比较),和整包校验时使用的叶子证书,如果相同,认为整个验签流程完成。
+验签模块将对授权文件内容进行合法性检查。如果授权文件是调试类型,则会比对本机UDID是否在授权文件授权调试的UDID列表中,如果本机UDID在授权文件授权调试的UDID列表中,则会进一步比较授权文件中的调试证书和整包签名使用的证书是否相同,如果相同,则验证通过。
## 接口说明
验签组件当前提供innerkits接口,仅供系统应用调用,相关接口及功能描述如下:
-**表 1** 验签组件API接口功能介绍
+**表 1** 轻量级系统验签组件API接口功能介绍
-## 开发步骤(场景一)
-
-### 验签指导
-
-对应用市场发布应用、基于应用市场调试证书签发的调试应用、OpenHarmony自签名应用的校验。
-
-1. 定义出参结构体变量VerifyResult;
-
- ```
- VerifyResult verifyResult = {0};
- ```
-
-2. 以文件路径及VerifyResult为入参,调用APPVERI\_AppVerify进行文件校验;
-
- ```
- int32_t ret = APPVERI_AppVerify(hapFilepath.c_str(), &verifyResult);
- ```
-
-3. 判断返回结果,如果校验通过的话,获取VerifyResult中的数据,进行业务处理;
-
- ```
- signatureInfo.appId = verifyResult.profile.appid;
- signatureInfo.provisionBundleName = verifyResult.profile.bundleInfo.bundleName;
- ```
-
-4. 调用APPVERI\_FreeVerifyRst,释放VerifyResult中申请的内存。
-
- ```
- APPVERI_FreeVerifyRst(&verifyResult);
- ```
-
-
-### 生成OpenHarmony自签名应用
-
-如果是OpenHarmony自签名应用的校验,开发者可通过以下方式生成OpenHarmony自签名应用。
-
-1. 材料备齐。
-
- 生成自签名应用需要的材料有:签名工具、系统应用hap包、系统应用profile文件\(\*.p7b\)、签名证书\(\*.cer\)、签名公私钥对\(\*.jks\)。
-
-2. 将所有材料放在同一个目录下,打开shell。
-3. 根据应用、描述文件的实际名称修改指令,并在shell中输入,完成签名。
-
- ```
- java -jar hapsigntoolv2.jar sign -mode localjks -privatekey "OpenHarmony Software Signature" -inputFile camera.hap -outputFile signed_camera.hap -signAlg SHA256withECDSA -keystore OpenHarmony.jks -keystorepasswd 123456 -keyaliaspasswd 123456 -profile camera_release.p7b -certpath OpenHarmony.cer -profileSigned 1
- ```
-
- 关键字段说明:
-
- -jar:签名工具,[hapsigntool](https://repo.huaweicloud.com/harmonyos/develop_tools/hapsigntoolv2.jar)
-
- -mode:本地签名标记位,固定为localjks
-
- -privatekey:密钥对别名,签名公私钥对的别名为OpenHarmony Software Signature
-
- -inputFile:待签名应用,通过编译产生
-
- -outputFile:签名后应用,最终输出
-
- -signAlg:签名算法,当前固定为SHA256withECDSA
+**表 2** 标准系统验签组件API接口功能介绍
- -keystore:公私钥对,使用签名公私钥对,位于开源库security\_services\_app\_verify仓中OpenHarmonyCer目录下,[OpenHarmony.jks](https://gitee.com/openharmony/security_appverify/blob/master/interfaces/innerkits/appverify_lite/OpenHarmonyCer/OpenHarmony.jks)。默认密码为123456 ,用户可采用工具\(例如keytool\)更改默认密码
-
- -keystorepasswd:公私钥对密码,默认签名公私钥对密码为123456
-
- -keyaliaspasswd:公私钥对别名密码,默认签名公私钥对别名密码为123456
-
- -profile:描述文件,应用的描述文件位于对应源代码目录中
-
- -certpath:使用签名证书,位于开源库security\_services\_app\_verify仓中OpenHarmonyCer目录下,[OpenHarmony.cer](https://gitee.com/openharmony/security_appverify/blob/master/interfaces/innerkits/appverify_lite/OpenHarmonyCer/OpenHarmony.cer)
-
- -profileSigned:签名块中是否包含描述文件\(profile\)。固定为1(包含)
-
-
-### 开发示例
-
-以应用管理框架组件在应用安装时进行验签的实际调用为例:
-
-```
-uint8_t HapSignVerify::VerifySignature(const std::string &hapFilepath, SignatureInfo &signatureInfo)
-{
- bool mode = ManagerService::GetInstance().IsDebugMode();
- HILOG_INFO(HILOG_MODULE_APP, "current mode is %d!", mode);
- // 定义结果结构体
- VerifyResult verifyResult = {0};
- // 输入待验签文件路径进行验签
- int32_t ret = APPVERI_AppVerify(hapFilepath.c_str(), &verifyResult);
- uint8_t errorCode = SwitchErrorCode(ret);
- if (errorCode != ERR_OK) {
- return errorCode;
- }
- // 从结果结构体中获取appid
- signatureInfo.appId = verifyResult.profile.appid;
- // 从结果结构体中获取描述文件中书写的应用名
- signatureInfo.provisionBundleName = verifyResult.profile.bundleInfo.bundleName;
- int32_t restricNum = verifyResult.profile.permission.restricNum;
- for (int32_t i = 0; i < restricNum; i++) {
- signatureInfo.restrictedPermissions.emplace_back((verifyResult.profile.permission.restricPermission)[i]);
- }
- // 释放结果结构体中申请的内存
- APPVERI_FreeVerifyRst(&verifyResult);
- return ERR_OK;
-}
-```
-
-## 开发步骤(场景二)
-
-### 验签指导
-
-对采用基于测试根密钥证书签名的应用的校验。
-
-1. 调用APPVERI\_SetDebugMode\(true\)开启测试模式;
-
- ```
- ManagerService::SetDebugMode(true);
- ...
- uint8_t ManagerService::SetDebugMode(bool enable)
- {
- int32_t ret = APPVERI_SetDebugMode(enable);
- if (ret < 0) {
- HILOG_ERROR(HILOG_MODULE_APP, "set signature debug mode failed");
- return ERR_APPEXECFWK_SET_DEBUG_MODE_ERROR;
- }
- isDebugMode_ = enable;
- HILOG_INFO(HILOG_MODULE_APP, "current sign debug mode is %d", isDebugMode_);
- return ERR_OK;
- }
- ```
-
-2. 同场景一中步骤一至四,定义结构体,校验、释放结构体;
-3. 调用APPVERI\_SetDebugMode\(false\)关闭测试模式。
-
- ```
- ManagerService::SetDebugMode(false);
- ```
-
-
-### 开发示例
-
-完整开发示例如下(在场景一代码示例的基础上进行补充):
+
+接口名
+ |
+描述
+ |
+
+
+nt HapVerify(const std::string& filePath, HapVerifyResult& hapVerifyResult)
+ |
+校验应用完整性,识别应用来源。
+ |
+
+
+
-```
-uint8_t ManagerService::SetDebugMode(bool enable)
-{
- int32_t ret = APPVERI_SetDebugMode(enable);
- if (ret < 0) {
- HILOG_ERROR(HILOG_MODULE_APP, "set signature debug mode failed");
- return ERR_APPEXECFWK_SET_DEBUG_MODE_ERROR;
- }
- isDebugMode_ = enable;
- HILOG_INFO(HILOG_MODULE_APP, "current sign debug mode is %d", isDebugMode_);
- return ERR_OK;
-}
-uint8_t HapSignVerify::VerifySignature(const std::string &hapFilepath, SignatureInfo &signatureInfo)
-{
- // 开启支持测试服务器签名应用验证
- ManagerService::SetDebugMode(true);
- bool mode = ManagerService::GetInstance().IsDebugMode();
- HILOG_INFO(HILOG_MODULE_APP, "current mode is %d!", mode);
- // 定义结果结构体
- VerifyResult verifyResult = {0};
- // 输入待验签文件路径进行验签
- int32_t ret = APPVERI_AppVerify(hapFilepath.c_str(), &verifyResult);
- uint8_t errorCode = SwitchErrorCode(ret);
- if (errorCode != ERR_OK) {
- return errorCode;
- }
- // 从结果结构体中获取appid
- signatureInfo.appId = verifyResult.profile.appid;
- // 从结果结构体中获取描述文件中书写的应用名
- signatureInfo.provisionBundleName = verifyResult.profile.bundleInfo.bundleName;
- int32_t restricNum = verifyResult.profile.permission.restricNum;
- for (int32_t i = 0; i < restricNum; i++) {
- signatureInfo.restrictedPermissions.emplace_back((verifyResult.profile.permission.restricPermission)[i]);
- }
- // 释放结果结构体中申请的内存
- APPVERI_FreeVerifyRst(&verifyResult);
- // 关闭支持测试服务器签名应用验证
- ManagerService::SetDebugMode(false);
- return ERR_OK;
-}
-```
+## 开发步骤
-## 调测验证
+### 生成OpenHarmony签名应用
-1. 选取一个在OpenHarmony上能够正常安装的应用A。
-2. 根据开发指导开发。
-3. 对应用A,采用自开发程序进行验签,验签通过,能获取到appid。即为开发成功。
+参考文档:https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/%E9%85%8D%E7%BD%AEOpenHarmony%E5%BA%94%E7%94%A8%E7%AD%BE%E5%90%8D%E4%BF%A1%E6%81%AF.md
diff --git a/zh-cn/device-dev/subsystems/subsys-sensor.md b/zh-cn/device-dev/subsystems/subsys-sensor.md
deleted file mode 100644
index 415eec2bde7a96ccb8ee88e7c27d41872654b843..0000000000000000000000000000000000000000
--- a/zh-cn/device-dev/subsystems/subsys-sensor.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Sensor服务
-
-- **[Sensor服务子系概述](subsys-sensor-overview.md)**
-
-- **[Sensor服务子系使用指导](subsys-sensor-guide.md)**
-
-- **[Sensor服务子系使用实例](subsys-sensor-demo.md)**
-
-
diff --git a/zh-cn/device-dev/subsystems/subsys-testguide-test.md b/zh-cn/device-dev/subsystems/subsys-testguide-test.md
index 2403929934b2c2860c3e2dd2200e9a9046930e64..1797e29f6a3ef77e96481d8b862f553815555593 100644
--- a/zh-cn/device-dev/subsystems/subsys-testguide-test.md
+++ b/zh-cn/device-dev/subsystems/subsys-testguide-test.md
@@ -1,4 +1,4 @@
-# 测试
+# 测试用例开发指导
- [概述](#section12403172115920)
- [基本概念](#section53632272090)
@@ -237,7 +237,7 @@
### 场景介绍
-针对对开发的业务代码进行白盒测试验证。
+针对开发的业务代码进行白盒测试验证。
### 接口说明
@@ -466,7 +466,6 @@
}
```
-
6. 编写测试用例资源配置,当测试用例需要使用静态测试资源文件时使用该配置。
1. 在部件或者模块的test目录下创建resource目录。
2. 在resource目录下创建形态目录,如phone。
@@ -620,7 +619,6 @@
```
-
3. (可选)修改developertest组件配置。如果测试用例已完成编译,可以直接指定测试用例的编译输出路径,测试平台执行用例时即不会重新编译测试用例。
配置文件:config/user\_config.xml
@@ -642,7 +640,6 @@
```
-
4. (可选)测试环境准备。当被测设备仅支持串口时,需要检查。
- 系统镜像与文件系统已烧录进开发板,开发板上系统正常运行,在系统模式下,如使用shell登录时,设备提示符是“OHOS\#”。
- 开发主机和开发板串口连接正常,网口连接正常。
@@ -663,7 +660,6 @@
./start.sh
```
-
- 设备形态选择。
根据实际的开发板选择,设备形态配置:developertest/config/framework\_config.xml。
@@ -704,7 +700,6 @@
-tl TESTLEVEL, --testlevel TESTLEVEL Specify test level
```
-
- 测试框架帮助。
帮助指令,用于查询测试平台支持哪些测试指令,如下:
@@ -721,7 +716,6 @@
quit
```
-
6. (必选)查看测试结果与日志,通过在测试平台中执行测试指令,即可在developertest/reports目录下生成测试日志和测试报告。
- 测试用例的结果会直接显示在控制台上,执行一次的测试结果根路径如下:
@@ -753,7 +747,6 @@
details_report.html
```
-
- 测试平台日志目录如下:
```
diff --git a/zh-cn/device-dev/subsystems/subsys-toolchain-hdc-guide.md b/zh-cn/device-dev/subsystems/subsys-toolchain-hdc-guide.md
index 93b765389398c04173ff43ab84aa32cf4eff038c..1f57ac737f3ce1e4cf6eea3f49aaf7e27147a529 100644
--- a/zh-cn/device-dev/subsystems/subsys-toolchain-hdc-guide.md
+++ b/zh-cn/device-dev/subsystems/subsys-toolchain-hdc-guide.md
@@ -22,7 +22,7 @@ hdc\_std(OpenHarmony Device Connector)是OpenHarmony为开发人员提供的
**hdc\_std 工具获取方式:**
-从开源仓developtools\_hdc\_standard中获取,具体位置在该开源仓的prebuilt目录。
+从开源仓developtools\_hdc\_standard中获取,具体位置在该开源仓的prebuilt目录,开源仓链接如下:https://gitee.com/openharmony/developtools\_hdc\_standard
**使用举例:**
diff --git a/zh-cn/device-dev/subsystems/subsys-toolchain.md b/zh-cn/device-dev/subsystems/subsys-toolchain.md
index fcf4e3ed14c0ce6975b04b70d0e9a0bd9c21f06e..9f71a36d323e436abf32db47ac858973a0ef3c8b 100644
--- a/zh-cn/device-dev/subsystems/subsys-toolchain.md
+++ b/zh-cn/device-dev/subsystems/subsys-toolchain.md
@@ -1,6 +1,7 @@
-# 研发工具链
+# 研发工具链
-- [bytrace使用指导](subsys-toolchain-bytrace-guide.md)
-- [hdc\_std 使用指导](subsys-toolchain-hdc-guide.md)
+- **[bytrace使用指导](subsys-toolchain-bytrace-guide.md)**
+
+- **[hdc\_std 使用指导](subsys-toolchain-hdc-guide.md)**
diff --git a/zh-cn/device-dev/subsystems/subsys-utils-guide.md b/zh-cn/device-dev/subsystems/subsys-utils-guide.md
index 1cabae57341e29c31a2ebf0b47e670e438f27444..98866eec08eed9f7693172402a20e0ae81e6e557 100644
--- a/zh-cn/device-dev/subsystems/subsys-utils-guide.md
+++ b/zh-cn/device-dev/subsystems/subsys-utils-guide.md
@@ -237,7 +237,6 @@ printf("UtilsDeleteValue delete ret = %d\n", ret);
}
```
-
- 生成hap包。
- 按照如下目录结构存放文件,res/drawable下面放置资源文件:
@@ -246,7 +245,6 @@ printf("UtilsDeleteValue delete ret = %d\n", ret);
- 将上述文件打包生成zip包,修改后缀为.hap,例如Launcher.hap
-
2. 连接单板,通过串口向单板发送安装KV存储native应用的命令。
```
diff --git a/zh-cn/device-dev/subsystems/subsys-xts-guide.md b/zh-cn/device-dev/subsystems/subsys-xts-guide.md
index 1240c60b9d64b230d4415ddf74c37477f57b27ed..896f7db9e7df9e927330e8e7e94c2e1946c378ae 100644
--- a/zh-cn/device-dev/subsystems/subsys-xts-guide.md
+++ b/zh-cn/device-dev/subsystems/subsys-xts-guide.md
@@ -1,4 +1,4 @@
-# XTS认证子系统开发指南
+# XTS认证用例开发指导
- [简介](#section465982318513)
- [系统类型](#section125090457443)
@@ -12,7 +12,6 @@
- [C++语言用例执行指导(适用于小型系统、标准系统用例开发)](#section128222336544)
- [JS语言用例开发指导(适用于标准系统)](#section159801435165220)
- [JS语言用例编译打包指导(适用于标准系统)](#section445519106559)
- - [\#ZH-CN\_TOPIC\_0000001126156429/section191521423950](#section191521423950)
- [全量编译指导(适用于标准系统)](#section1519992743415)
- [全量用例执行指导(适用于小型系统、标准系统)](#section118149111426)
@@ -695,7 +694,6 @@ Windows工作台下安装python3.7及以上版本,确保工作台和测试设

-
- 模块执行\(具体模块可以查看\\acts\\testcases\\\)
```
@@ -704,7 +702,6 @@ Windows工作台下安装python3.7及以上版本,确保工作台和测试设

-
等待执行完成。
diff --git a/zh-cn/device-dev/subsystems/subsys.md b/zh-cn/device-dev/subsystems/subsys.md
index b301414e122da41764db79ca418a5d7a84c838a8..b36d4325c6d4389ad8fe7e5c3168fec7f323292f 100644
--- a/zh-cn/device-dev/subsystems/subsys.md
+++ b/zh-cn/device-dev/subsystems/subsys.md
@@ -1,4 +1,4 @@
-# 子系统开发指南
+# 子系统
- **[编译构建](subsys-build.md)**
@@ -12,7 +12,7 @@
- **[AI框架](subsys-aiframework.md)**
-- **[Sensor服务](subsys-sensor.md)**
+- **[Sensor服务](subsys-densor.md)**
- **[用户程序框架](subsys-application-framework.md)**
@@ -22,12 +22,12 @@
- **[启动恢复](subsys-boot.md)**
-- **[测试](subsys-testguide-test.md)**
+- **[测试用例开发指导](subsys-testguide-test.md)**
- **[DFX](subsys-dfx.md)**
-- **[HiSysEvent订阅指导](subsys-dfx-hisyseventread.md)**
+- **[研发工具链](subsys-toolchain.md)**
-- **[XTS认证子系统开发指南](subsys-xts-guide.md)**
+- **[XTS认证用例开发指导](subsys-xts-guide.md)**
diff --git a/zh-cn/readme.md b/zh-cn/readme.md
index 2a36c625149eb2db13381b7c18672a417005eb0c..19976780436280548c7f22cae3d0f7bc513cb115 100644
--- a/zh-cn/readme.md
+++ b/zh-cn/readme.md
@@ -10,23 +10,24 @@
- overview:[设备开发导读](device-dev/Readme-CN.md)
- quick-start:[快速入门](device-dev/quick-start/Readme-CN.md)(搭建环境、获取源码、编译、烧录等)
- Basic Capability:开发基础能力
- - Kernel:[轻量和小型系统内核](device-dev/kernel/kernel.md)
+ - Kernel:[轻量系统内核](device-dev/kernel/kernel-mini.md)
+ - Kernel:[小型系统内核](device-dev/kernel/kernel-small.md)
- Drivers:[驱动](device-dev/driver/Readme-CN.md)
- Subsystems:[子系统](device-dev/subsystems/Readme-CN.md)(编译构建、图形图像、DFX、XTS等子系统)
- Security:[隐私与安全](device-dev/security/Readme-CN.md)
- guide:开发示例
- - [WLAN连接类产品](device-dev/guide/device-wifi.md)(LED外设控制、集成三方SDK)
+ - [WLAN连接类产品](device-dev/guide/device-wlan.md)(LED外设控制、集成三方SDK)
- [无屏摄像头类产品](device-dev/guide/device-iotcamera-control.md)(摄像头控制)
- [带屏摄像头类产品](device-dev/guide/device-camera.md)(屏幕和摄像头控制、视觉应用开发)
- porting:移植适配
- - [三方库移植指导](device-dev/porting/transplant-thirdparty.md)
- - [轻量系统芯片移植指导](device-dev/porting/transplant-minichip.md)
- - [小型系统芯片移植指导](device-dev/porting/transplant-smallchip.md)
+ - [三方库移植指导](device-dev/porting/porting-thirdparty.md)
+ - [轻量系统芯片移植指导](device-dev/porting/porting-minichip.md)
+ - [小型系统芯片移植指导](device-dev/porting/porting-smallchip.md)
- bundles:组件开发
- - [组件开发规范](device-dev/bundles/bundles-standard-rules.md)
+ - [组件开发规范](device-dev/bundles/oem_bundle_standard_des.md)
- [组件开发指南](device-dev/bundles/bundles-guide.md)
- [组件开发示例](device-dev/bundles/bundles-demo.md)
@@ -44,10 +45,10 @@
- [平台驱动](device-dev/guide/device-driver-demo.md)
- [外设驱动](device-dev/guide/device-outerdriver-demo.md)
- porting:移植适配
- - [三方库移植指导](device-dev/porting/transplant-thirdparty.md)
+ - [三方库移植指导](device-dev/porting/porting-thirdparty.md)
- [标准系统芯片移植指导](device-dev/porting/standard-system-porting-guide.md)
- bundles:组件开发
- - [组件开发规范](device-dev/bundles/bundles-standard-rules.md)
+ - [组件开发规范](device-dev/bundles/oem_bundle_standard_des.md)
- [组件开发指南](device-dev/bundles/bundles-guide.md)
- [组件开发示例](device-dev/bundles/bundles-demo.md)
diff --git "a/zh-cn/readme/\344\272\213\344\273\266\351\200\232\347\237\245\345\255\220\347\263\273\347\273\237.md" "b/zh-cn/readme/\344\272\213\344\273\266\351\200\232\347\237\245\345\255\220\347\263\273\347\273\237.md"
index 1a5d7443cde7eff1fc7ed84c056fa2c37a597334..2cef7c53672423418e1beaa7b733a186410a43b2 100755
--- "a/zh-cn/readme/\344\272\213\344\273\266\351\200\232\347\237\245\345\255\220\347\263\273\347\273\237.md"
+++ "b/zh-cn/readme/\344\272\213\344\273\266\351\200\232\347\237\245\345\255\220\347\263\273\347\273\237.md"
@@ -20,17 +20,17 @@ OpenHarmony通过CES(Common Event Service,公共事件服务)为应用程
```
/base/notification/ces_standard/
-│── frameworks # 组件目录
-│ |── common/log # 日志组件目录
-│ |── core # 组件native接口内部实现
-│ ├── native # 组件native接口实现
-│── interface # 对外接口目录
-| |── innerkits # 组件native接口定义
-| |── kits/napi # 组件napi实现
-├── sa_profile # 组件服务配置
-├── services # 组件服务实现
-├── tools # 组件工具实现
-│── ohos.build # 组件编译脚本
+│── cesfwk # 组件目录
+│ ├── innerkits # 对内接口目录
+│ ├── kits # 对外接口目录
+│ ├── sa_profile # 组件服务配置
+│ ├── services # 组件服务实现
+│ ├── tools # 组件工具实现
+|── common
+| |──log # 日志组件目录
+|── interfaces
+| |── kits # typescript描述文件
+│── ohos.build # 组件编译脚本
```
diff --git a/zh-cn/release-notes/OpenHarmony-Release-Notes.md b/zh-cn/release-notes/OpenHarmony-Release-Notes.md
index 67168274d8f0036199d0b3244c633b7a6bfab4c7..b6c4cce1eab78b7fdf4423c63649d90a510d8536 100755
--- a/zh-cn/release-notes/OpenHarmony-Release-Notes.md
+++ b/zh-cn/release-notes/OpenHarmony-Release-Notes.md
@@ -1,6 +1,5 @@
# OpenHarmony Release Notes
## OpenHarmony 2.x Releases
-- [OpenHarmony v2.2 Beta2 (2021-08-04)](OpenHarmony-v2.2-beta2.md)
- [OpenHarmony 2.0 Canary (2021-06-02)](OpenHarmony-2-0-Canary.md)
## OpenHarmony 1.x Releases
- [OpenHarmony 1.1.1 LTS (2021-06-22)](OpenHarmony-1-1-1-LTS.md)
diff --git a/zh-cn/release-notes/OpenHarmony-v2.2-beta2.md b/zh-cn/release-notes/OpenHarmony-v2.2-beta2.md
deleted file mode 100644
index 9092c1921d5e30a2bf259f0b67fc33dff5bbbae0..0000000000000000000000000000000000000000
--- a/zh-cn/release-notes/OpenHarmony-v2.2-beta2.md
+++ /dev/null
@@ -1,370 +0,0 @@
-# OpenHarmony v2.2 Beta2
-
-- [版本概述](#section1677664815431)
-- [配套关系](#section13201781528)
-- [源码获取](#section1350215462116)
-- [更新说明](#section11256141314463)
-- [修复缺陷列表](#section3442123281619)
-
-## 版本概述
-
-当前版本在OpenHarmony 2.0 Canary的基础上,针对轻量系统、小型系统和标准系统都有增加新的特性:
-
-标准系统新增特性功能如下:
-
-- 新增分布式远程拉起能力端到端的构建。
-- 新增系统基础应用的拖拽能力和新增若干Sample应用。
-- 新增媒体三大服务能力,提供更好的媒体系统功能。
-
-轻量和小型系统新增特性功能如下:
-
-- 新增轻量级linux版本构建能力。
-- 新增轻量级内核能力增强,包括文件系统增强、内核调试工具增强支持、内核模块支持可配置、三方芯片适配支持、支持ARM9架构等。
-- 轻量级图形能力增强支持,包括支持多语言字体对齐、支持显示控件轮廓、支持点阵字体、供统一多后端框架支持多芯片平台等。
-- DFX能力增强支持,包括HiLog功能增强、HiEvent功能增强,提供轻量级系统信息dump工具、提供重启维侧框架等。
-- AI能力增强支持,包括新增linux内核适配支持、AI引擎支持基于共享内存的数据传输。
-
-## 配套关系
-
-**表 1** 版本软件和工具配套关系
-
-
-软件
- |
-版本
- |
-备注
- |
-
-
-OpenHarmony
- |
-2.2 Beta2
- |
-NA
- |
-
-HUAWEI DevEco Studio(可选)
- |
-DevEco Studio 2.2 Beta1
- |
-OpenHarmony应用开发推荐使用。
- |
-
-HUAWEI DevEco Device Tool(可选)
- |
-Deveco DeviceTool 2.2 Beta1
- |
-OpenHarmony智能设备集成开发环境推荐使用。
- |
-
-
-
-
-## 源码获取
-
-**方式一(推荐)**
-
-通过repo + ssh 下载(需注册公钥,请参考[码云帮助中心](https://gitee.com/help/articles/4191))。
-
-```
-repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v2.2-Beta2 --no-repo-verify
-repo sync -c
-repo forall -c 'git lfs pull'
-```
-
-**方式二**
-
-通过repo + https 下载。
-
-```
-repo init -u https://gitee.com/openharmony/manifest.git -b refs/tags/OpenHarmony-v2.2-Beta2 --no-repo-verify
-repo sync -c
-repo forall -c 'git lfs pull'
-```
-
-## 更新说明
-
-本版本在继承了OpenHarmony 2.0 Canary的基础上有如下变更。
-
-### 特性变更
-
-**表 2** 版本新增特性表
-
-
-子系统名称
- |
-标准系统
- |
-轻量、小型系统
- |
-
-
-分布式文件
- |
-提供本地system.file异步文件操作JS API,包括文件读写、目录访问、增删等接口。
- |
-NA
- |
-
-驱动
- |
-3QE85:新增Audio、Camera、USB、马达、ADC驱动模型。
- |
-LiteOS-M支持HDF框架。
- |
-
-电源管理服务
- |
-新增系统电源状态机、休眠运行锁、休眠唤醒功能。
- |
-- 新增充放电状态查询接口、电量查询接口。
- 提供低功耗模式支持,并提供低功耗模式统一API支持。
- |
-
-升级服务
- |
-新增恢复出厂功能。
- |
-NA
- |
-
-媒体
- |
-- 新增音频服务,提供音频基础控制能力。
- 新增相机服务,提供预览、拍照等基础功能力。
- 新增媒体服务,提供音频、视频播放能力。
- |
-NA
- |
-
-JS UI框架
- |
-支持使用JS与C/C++混合开发JS API。
- |
-NA
- |
-
-事件通知
- |
-支持应用本地发送、取消多行文本通知能力。
- |
-NA
- |
-
-分布式软总线
- |
-新增软总线自组网功能,可信设备接入到局域网中(ETH\WiFi)后可自发现、无感知的接入到软总线。
- |
-NA
- |
-
-分布式数据管理
- |
-- 新增分布式数据管理能力,支持分布式数据库在本地加密存储
- 支持轻量级偏好数据库
- |
-- 提供数据库内容的删除能力。
- 提供统一的HAL文件系统操作函数实现。
- 提供相关数据存储的原子操作能力。
- 提供二进制Value的写入读取能力。
- |
-
-系统应用
- |
-桌面:
-
-设置:
-
-SystemUI:
-
-图库:
-- 新增图片、视频资源的查看、移动、复制、删除、重命名等功能。
- |
-NA
- |
-
-全球化子系统
- |
-- 完善时间日期格式化能力。
- 支持时间段的格式化。
- 新增数字格式化能力。
- |
-- 新增构建自定义数据编译能力。
- 新增构建星期、单复数、数字开关国际化能力。
- 新增构建应用资源解析和加载机制。
- 新增构建资源回溯机制。
- |
-
-Sample应用
- |
-- 计算器中新增分布式功能,组网后支持拉起另一台组网设备上的计算器,两台设备可协同计算,计算数据实时同步。
- 新增音频播放器应用,支持本地音频播放,组网后可将音乐播放接续至其他组网设备上。
- |
-NA
- |
-
-分布式设备管理
- |
-新增设备管理系统服务,提供分布式设备账号无关的认证组网能力。
- |
-NA
- |
-
-DFX
- |
-NA
- |
-- 提供LiteOS内核系统信息dump工具。
- 提供LiteOS内核死机重启维测框架。
- 新增数字格式化能力。
- HiLog功能增强。
- HiEvent功能增强。
- |
-
-内核
- |
-NA
- |
-- 支持轻量级Linux版本。
- proc文件系统增强。
- 新增mksh命令解析器。
- 文件系统维测增强。
- LiteOS-A內核模块支持可配置。
- 支持LiteOS-A小系统三方芯片适配。
- LiteOS-M支持三方组件Mbedtls编译。
- LiteOS-M支持三方组件curl编译。
- 支持轻量级shell框架和常用调测命令。
- LiteOS-M支持ARM9架构。
- 支持基于NOR Flash的littlefs文件系统。
- LiteOS-M对外提供统一的文件系统操作接口。
- 新增Namecache模块、Vnode管理、Lookup模块。
- |
-
-图形图像
- |
-NA
- |
-- 支持A4\A8、LUT8、TSC图片格式作为输入。
- 支持多语言字体对齐。
- UIKit支持显示控件轮廓。
- ScrollView/List支持通过弧形进度条展示滑动进度。
- 支持开关按钮/复选框/单选按钮动效。
- UIKit支持点阵字体产品化解耦。
- UI框架提供统一多后端框架支持多芯片平台。
- UIKit组件支持margin/padding。
- 圆形/胶囊按钮支持缩放和白色蒙层动效。
- |
-
-编译构建
- |
-NA
- |
-支持开源软件的通用patch框架。
- |
-
-启动恢复
- |
-NA
- |
-支持恢复出厂设置支持多语言字体对齐。
- |
-
-分布式调度
- |
-NA
- |
-支持轻量设备启动富设备上的Ability。
- |
-
-AI
- |
-NA
- |
-- AI子系统添加Linux内核适配,编译选项支持。
- AI引擎支持基于共享内存的数据传输。
- |
-
-
-
-
-### API变更
-
-API变更请参考:
-
-[JS API 差异报告](api-change/v2.2-beta2/native-apidiff-v2.2-beta2.md)
-
-[Native API 差异报告](api-change/v2.2-beta2/native-apidiff-v2.2-beta2.md)
-
-## 修复缺陷列表
-
-**表 3** **解决的缺陷ISSUE列表**
-
-
-
-ISSUE单号
- |
-问题描述
- |
-
-
-I3I31W
- |
-ActsNFSTest.bin会引起内核crash
- |
-
-I3D49E
- |
-uboot的路径不对
- |
-
-I3D71U
- |
-【驱动子系统】反复reset,启动到hmac_main_init SUCCESSULLY后,高概率出现系统挂死
- |
-
-I3DGZW
- |
-【应用程序框架子系统】HI3516开源板进入屏保后 ,点击触摸屏,出现蓝屏问题
- |
-
-I3DHIL
- |
-【系统问题】HI3518开源板剩余空间不足,导致ACTS用例大量失败
- |
-
-I3DU36
- |
-【应用程序框架子系统】ipcamera bm 查询命令失效
- |
-
-I3EALU
- |
-【媒体子系统】cameraActs 用例执行时,找不到相机配置文件,初始失败
- |
-
-I3EGUX
- |
-【可靠性问题】反复reset,出现一次KIdle进程crash,系统挂死无法启动
- |
-
-I3EH4E
- |
-【流水线问题】高概率出现:uname无响应,然后执行reset也无响应
- |
-
-I3EQJA
- |
-【文件系统】cat /proc/mounts功能不可用
- |
-
-I3EQRC
- |
-磁盘文件映射延迟测试:并发3个测试进程,系统crash
- |
-
-I3HVL0
- |
-3861编译失败,报错[OHOS ERROR] Fatal error: invalid -march= option:rv32imac
- |
-
-I3TS1Y
- |
-压力场景下文件相关Vnode资源耗尽
- |
-
-I3TXT8
- |
-孤儿进程无法回收,压力场景下TCB资源耗尽
- |
-
-I3UWXI
- |
-libwap.so 存在已知一般漏洞: CVE-2021-30004,CVSS:5.3;漏洞发布日期:2021-04-02,不符合产品发布要求,需要解决。
- |
-
-I3SWY2
- |
-高概率出现KProcess进程挂死,质量不达标
- |
-
-I3YJRO
- |
-liteos-a內核模块可配置编译失败
- |
-
-I3YNWM
- |
-文件系统维测增强功能在该版本有问题
- |
-
-I3VEOG
- |
-bin目录下没有mksh和toybox,导致已转测的toybox命令集无法测试
- |
-
-
-
-
diff --git a/zh-cn/release-notes/api-change/template/changelog-x-x.md b/zh-cn/release-notes/api-change/template/changelog-x-x.md
deleted file mode 100644
index abf59c77cba59f171efbb6121e24f238516ad50e..0000000000000000000000000000000000000000
--- a/zh-cn/release-notes/api-change/template/changelog-x-x.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# ChangeLog
-## xxx子系统(该段落为示例,请不要修改或删除)
-已经release的版本发生了影响契约兼容性(契约兼容:也称语义兼容,指版本演进后,开发者原有程序行为不发生变化)的变更(包括不限于接口名、参数、返回值、所需要的权限、调用顺序、枚举值、配置参数、路径等),则需要在ChangeLog中对变更进行阐述。
-### cl.subsystemname.x xxx功能变更, 例:DeviceType属性变更、相机权限变更(尽量概括,不要超过15个字)
-每个变更标题前需要附加编号:cl.subsystemname.x。cl为ChangeLog首字母缩写,subsystemname请填写子系统英文标准名称,x表示变更序号(从低到高逐位增加)。
-以功能维度对变更点进行概括描述。例如:xxx功能的xxx、xxx等发生了xxx变化,开发者需要根据以下说明对应用进行适配。
-如果有此变更有对应的需求或设计文档,可以在描述中附上对应的设计文档编号。
-
-**变更影响**
-
-是否影响已release的接口或者接口行为发生变更等;影响的是JS接口、Java接口还是Native接口。
-
-**关键的接口/组件变更**
-
-列举此功能变更涉及的接口/组件变更。
-
-**适配指导(可选,不涉及则可以删除)**
-
-(前面空一行)提供指导,帮助开发者针对相关变更进行适配,使应用可以与新版本兼容。例:
-在xxx文件中将xxx参数修改为xxx。
-```
-sample code
-```
-### cl.subsystemname.x xxx功能变更
-每个功能变更点在自己的子系统章节内新增一个功能变更章节。
-
-## xxx子系统
-每个子系统有且只能有一个子系统章节。
-
-
diff --git a/zh-cn/release-notes/api-change/template/js-apidiff-x-x.md b/zh-cn/release-notes/api-change/template/js-apidiff-x-x.md
deleted file mode 100644
index f512798ef3264f737fb86afb9fd5bc0b629ccc54..0000000000000000000000000000000000000000
--- a/zh-cn/release-notes/api-change/template/js-apidiff-x-x.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# JS API Diff
-## 组件
-
-| 组件类型 | 组件名称 | 变更类型 | 变更类型 |
-| -------- | -------- | -------- | -------- |
-| 描述组件的类型,例如:容器组件、基础组件、媒体组件等 | 描述组件名称,例如:div、button等 | 描述变更的类型,包含新增、删除、废弃、修改 | 如果为废弃,则需要描述替换的组件;如果为修改,则需要描述变化点,例如:新增xxx参数、xxx参数的默认值由xxx变更为xxx;其他情况可以使用 - 符号 |
-
-## 接口变更
-
-| 模块名称 | 接口名称 | 变更类型 | 变更说明 |
-| -------- | -------- | -------- | -------- |
-| 描述接口所属的模块,例如:数据存储、文件存储等 | 描述接口名称,例如:storage.get(OBJECT)。如果整个模块新增,则可以使用 - 符号 | 描述变更的类型,包含新增、删除、废弃、修改 | 如果为废弃,则需要描述替换的接口;如果为修改,则需要描述变化点,例如:新增xxx参数、xxx参数的默认值由xxx变更为xxx;其他情况可以使用 - 符号 |
-
diff --git a/zh-cn/release-notes/api-change/template/native-apidiff-x-x.md b/zh-cn/release-notes/api-change/template/native-apidiff-x-x.md
deleted file mode 100644
index 3aa44ad73f8083916414526022c22f16abf7214b..0000000000000000000000000000000000000000
--- a/zh-cn/release-notes/api-change/template/native-apidiff-x-x.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Native API Diff
-
-| 模块名称 | 接口名称 | 变更类型 | 变更类型 |
-| -------- | -------- | -------- | -------- |
-| 描述模块的名称,例如:Native_layer、Image、Media等 | 描述变更元素的名称,包含结构体、类型定义、枚举、函数等,例如:结构体NativeLayerBuffer、类型定义NativeLayer、函数GetNativeLayer (JNIEnv *env, jobject surface)等。如果整个模块新增,则可以使用 - 符号 | 描述变更的类型,包含新增、删除、废弃、修改 | 如果为废弃,则需要描述替换的组件;如果为修改,则需要描述变化点,例如:新增xxx参数、xxx参数的默认值由xxx变更为xxx;其他情况可以使用 - 符号 |
\ No newline at end of file
diff --git a/zh-cn/release-notes/api-change/v2.2-beta2/js-apidiff-v2.2-beta2.md b/zh-cn/release-notes/api-change/v2.2-beta2/js-apidiff-v2.2-beta2.md
deleted file mode 100644
index a5b51592d530ff1552e6dc4d926825340ade4ba2..0000000000000000000000000000000000000000
--- a/zh-cn/release-notes/api-change/v2.2-beta2/js-apidiff-v2.2-beta2.md
+++ /dev/null
@@ -1,234 +0,0 @@
-# JS API 差异报告
-OpenHarmony 2.2 Beta2相较于OpenHarmony 2.0 Canary版本的API变更如下:
-## 标准系统接口变更
-
-| 模块名称 | 接口名称 | 变更类型 | 变更说明 |
-| -------- | -------- | -------- | -------- |
- | 时间日期数字模块-Locale | constructor(locale: string, options?:options) | 新增 | - |
- | 时间日期数字模块-Locale | toString(): string | 新增 | - |
- | 时间日期数字模块-Locale | maximize(): Locale | 新增 | - |
- | 时间日期数字模块-Locale | minimize(): Locale | 新增 | - |
- | 时间日期数字模块-Locale | calendar | 新增 | - |
- | 时间日期数字模块-Locale | caseFirst | 新增 | - |
- | 时间日期数字模块-Locale | collation | 新增 | - |
- | 时间日期数字模块-Locale | hourCycle | 新增 | - |
- | 时间日期数字模块-Locale | numberingSystem | 新增 | - |
- | 时间日期数字模块-Locale | numeric | 新增 | - |
- | 时间日期数字模块-Locale | language | 新增 | - |
- | 时间日期数字模块-Locale | script | 新增 | - |
- | 时间日期数字模块-Locale | region | 新增 | - |
- | 时间日期数字模块-Locale | baseName | 新增 | - |
- | 时间日期数字模块-DateTimeFormat | constructor(locale: string, options?:options) | 新增 | - |
- | 时间日期数字模块-DateTimeFormat | constructor(locale: string[], options?:options) | 新增 | - |
- | 时间日期数字模块-DateTimeFormat | resolvedOptions(): DateTimeOptions | 新增 | - |
- | 时间日期数字模块-DateTimeFormat | format(date: Date): string; | 新增 | - |
- | 时间日期数字模块-DateTimeFormat | formatRange(fromDate: Date, toDate: Date): string; | 新增 | - |
- | 时间日期数字模块-NumberFormat | constructor(locale: string, options?:options) | 新增 | - |
- | 时间日期数字模块-NumberFormat | constructor(locale: string[], options?:options) | 新增 | - |
- | 时间日期数字模块-NumberFormat | resolvedOptions(): NumberOptions | 新增 | - |
- | 时间日期数字模块-NumberFormat | format(number: number): string; | 新增 | - |
- | 时间日期数字模块-DateTimeOptions | locale | 新增 | - |
- | 时间日期数字模块-DateTimeOptions | dateStyle | 新增 | - |
- | 时间日期数字模块-DateTimeOptions | timeStyle | 新增 | - |
- | 时间日期数字模块-DateTimeOptions | calendar | 新增 | - |
- | 时间日期数字模块-DateTimeOptions | dayPeriod | 新增 | - |
- | 时间日期数字模块-DateTimeOptions | numberingSystem | 新增 | - |
- | 时间日期数字模块-DateTimeOptions | localeMatcher | 新增 | - |
- | 时间日期数字模块-DateTimeOptions | timeZone | 新增 | - |
- | 时间日期数字模块-DateTimeOptions | hour12 | 新增 | - |
- | 时间日期数字模块-DateTimeOptions | hourCycle | 新增 | - |
- | 时间日期数字模块-DateTimeOptions | formatMatcher | 新增 | - |
- | 时间日期数字模块-DateTimeOptions | weekday | 新增 | - |
- | 时间日期数字模块-DateTimeOptions | era | 新增 | - |
- | 时间日期数字模块-DateTimeOptions | year | 新增 | - |
- | 时间日期数字模块-DateTimeOptions | month | 新增 | - |
- | 时间日期数字模块-DateTimeOptions | day | 新增 | - |
- | 时间日期数字模块-DateTimeOptions | hour | 新增 | - |
- | 时间日期数字模块-DateTimeOptions | minute | 新增 | - |
- | 时间日期数字模块-DateTimeOptions | second | 新增 | - |
- | 时间日期数字模块-DateTimeOptions | timeZoneName | 新增 | - |
- | 时间日期数字模块-NumberOptions | locale | 新增 | - |
- | 时间日期数字模块-NumberOptions | compactDisplay | 新增 | - |
- | 时间日期数字模块-NumberOptions | currency | 新增 | - |
- | 时间日期数字模块-NumberOptions | currencyDisplay | 新增 | - |
- | 时间日期数字模块-NumberOptions | currencySign | 新增 | - |
- | 时间日期数字模块-NumberOptions | localeMatcher | 新增 | - |
- | 时间日期数字模块-NumberOptions | notation | 新增 | - |
- | 时间日期数字模块-NumberOptions | numberingSystem | 新增 | - |
- | 时间日期数字模块-NumberOptions | signDisplay | 新增 | - |
- | 时间日期数字模块-NumberOptions | style | 新增 | - |
- | 时间日期数字模块-NumberOptions | unit | 新增 | - |
- | 时间日期数字模块-NumberOptions | unitDisplay | 新增 | - |
- | 时间日期数字模块-NumberOptions | useGrouping | 新增 | - |
- | 时间日期数字模块-NumberOptions | minimumIntegerDigits | 新增 | - |
- | 时间日期数字模块-NumberOptions | minimumFractionDigits | 新增 | - |
- | 时间日期数字模块-NumberOptions | maximumFractionDigits | 新增 | - |
- | 时间日期数字模块-NumberOptions | minimumSignificantDigits | 新增 | - |
- | 时间日期数字模块-NumberOptions | maximumSignificantDigits | 新增 | - |
-|文件存储- system.file|mkdir|新增|-|
-|文件存储- system.file|rmdir|新增|-|
-|文件存储- system.file|get|新增|-|
-|文件存储- system.file|list|新增|-|
-|文件存储- system.file|copy|新增|-|
-|文件存储- system.file|move|新增|-|
-|文件存储- system.file|delete|新增|-|
-|文件存储- system.file|access|新增|-|
-|文件存储- system.file|writeText|新增|-|
-|文件存储- system.file|writeArrayBuffer|新增|-|
-|文件存储- system.file|readText|新增|-|
-|文件存储- system.file|readArrayBuffer|新增|-|
-|文件存储- fileio|Dir.readSync|新增|-|
-|文件存储- fileio|Dir.closeSync|新增|-|
-|文件存储- fileio|dirent.name|新增|-|
-|文件存储- fileio|dirent.isBlockDevice()|新增|-|
-|文件存储- fileio|dirent.isCharacterDevice()|新增|-|
-|文件存储- fileio|dirent.isDirectory()|新增|-|
-|文件存储- fileio|dirent.isFIFO()|新增|-|
-|文件存储- fileio|dirent.isFile()|新增|-|
-|文件存储- fileio|dirent.isSocket()|新增|-|
-|文件存储- fileio|dirent.isSymbolicLink()|新增|-|
-|文件存储- fileio|stat.dev|新增|-|
-|文件存储- fileio|stat.ino|新增|-|
-|文件存储- fileio|stat.mode|新增|-|
-|文件存储- fileio|stat.nlink|新增|-|
-|文件存储- fileio|stat.uid|新增|-|
-|文件存储- fileio|stat.gid|新增|-|
-|文件存储- fileio|stat.rdev|新增|-|
-|文件存储- fileio|stat.size|新增|-|
-|文件存储- fileio|stat.blocks|新增|-|
-|文件存储- fileio|stat.atime|新增|-|
-|文件存储- fileio|stat.mtime|新增|-|
-|文件存储- fileio|stat.ctime|新增|-|
-|文件存储- fileio|stat.isBlockDevice()|新增|-|
-|文件存储- fileio|stat.isCharacterDevice()|新增|-|
-|文件存储- fileio|stat.isDirectory()|新增|-|
-|文件存储- fileio|stat.isFIFO()|新增|-|
-|文件存储- fileio|stat.isFile()|新增|-|
-|文件存储- fileio|stat.isSocket()|新增|-|
-|文件存储- fileio|stat.isSymbolicLink()|新增|-|
-|文件存储- fileio|Stream.flushSync()|新增|-|
-|文件存储- fileio|Stream.writeSync()|新增|-|
-|文件存储- fileio|Stream.readSync()|新增|-|
-|文件存储- fileio|Stream.closeSync()|新增|-|
-|文件存储- fileio|fileio.accessSync()|新增|-|
-|文件存储- fileio|fileio.chmodSync()|新增|-|
-|文件存储- fileio|fileio.chownSync()|新增|-|
-|文件存储- fileio|fileio.closeSync()|新增|-|
-|文件存储- fileio|fileio.copyFileSync()|新增|-|
-|文件存储- fileio|fileio.createStreamSync()|新增|-|
-|文件存储- fileio|fileio.fchmodSync()|新增|-|
-|文件存储- fileio|fileio.fchownSync()|新增|-|
-|文件存储- fileio|fileio.fdopenStreamSync()|新增|-|
-|文件存储- fileio|fileio.fstatSync()|新增|-|
-|文件存储- fileio|fileio.fsyncSync()|新增|-|
-|文件存储- fileio|fileio.ftruncateSync()|新增|-|
-|文件存储- fileio|fileio.mkdirSync()|新增|-|
-|文件存储- fileio|fileio.openSync()|新增|-|
-|文件存储- fileio|fileio.opendirSync()|新增|-|
-|文件存储- fileio|fileio.readSync()|新增|-|
-|文件存储- fileio|fileio.renameSync()|新增|-|
-|文件存储- fileio|fileio.rmdirSync()|新增|-|
-|文件存储- fileio|fileio.statSync()|新增|-|
-|文件存储- fileio|fileio.truncateSync()|新增|-|
-|文件存储- fileio|fileio.unlinkSync()|新增|-|
-|文件存储- fileio|fileio.writeSync()|新增|-|
-|设备管理-DeviceManager|DeviceInfo|新增|-|
-|设备管理-DeviceManager|DeviceType|新增|-|
-|设备管理-DeviceManager|DeviceStateChangeAction|新增|-|
-|设备管理-DeviceManager|SubscribeInfo|新增|-|
-|设备管理-DeviceManager|DiscoverMode|新增|-|
-|设备管理-DeviceManager|ExchangeMedium|新增|-|
-|设备管理-DeviceManager|ExchangeFreq|新增|-|
-|设备管理-DeviceManager|SubscribeCap|新增|-|
-|设备管理-DeviceManager|createDeviceManager(bundleName: string, callback: AsyncCallback): void|新增|-|
-|设备管理-DeviceManager|release(): void|新增|-|
-|设备管理-DeviceManager|getTrustedDeviceListSync(): Array|新增|-|
-|设备管理-DeviceManager|startDeviceDiscovery(subscribeInfo: SubscribeInfo): void|新增|-|
-|设备管理-DeviceManager|stopDeviceDiscovery(subscribeId: number): void|新增|-|
-|设备管理-DeviceManager|authenticateDevice(deviceInfo: DeviceInfo): void|新增|-|
-|设备管理-DeviceManager|on(type: 'deviceStateChange', callback: Callback<{ action: DeviceStateChangeAction, device: DeviceInfo }>): void|新增|-|
-|设备管理-DeviceManager|off(type: 'deviceStateChange', callback?: Callback<{ action: DeviceStateChangeAction, device: DeviceInfo }>): void|新增|-|
-|设备管理-DeviceManager|on(type: 'deviceFound', callback: Callback<{ subscribeId: number, device: DeviceInfo }>): void|新增|-|
-|设备管理-DeviceManager|off(type: 'deviceFound', callback?: Callback<{ subscribeId: number, device: DeviceInfo }>): void|新增|-|
-|设备管理-DeviceManager|on(type: 'discoverFail', callback: Callback<{ subscribeId: number, reason: number }>): void|新增|-|
-|设备管理-DeviceManager|off(type: 'discoverFail', callback?: Callback<{ subscribeId: number, reason: number }>): void|新增|-|
-|设备管理-DeviceManager|on(type: 'authResult', callback: Callback<{ deviceId: string, status: number, reason: number }>): void|新增|-|
-|设备管理-DeviceManager|off(type: 'authResult', callback?: Callback<{ deviceId: string, status: number, reason: number }>): void|新增|-|
-|设备管理-DeviceManager|on(type: 'serviceDie', callback: () => void): void|新增|-|
-|设备管理-DeviceManager|off(type: 'serviceDie', callback?: () => void): void|新增|-|
-|播放录制|createAudioPlayer(): AudioPlayer|新增|-|
-|播放录制|AudioState|新增|-|
-|播放录制|play(): void|新增|-|
-|播放录制|pause(): void|新增|-|
-|播放录制|stop(): void|新增|-|
-|播放录制|seek(timeMs: number): void|新增|-|
-|播放录制|setVolume(vol: number): void|新增|-|
-|播放录制|reset(): void|新增|-|
-|播放录制|release(): void|新增|-|
-|播放录制|src: string|新增|-|
-|播放录制|loop: boolean|新增|-|
-|播放录制|readonly currentTime: number|新增|-|
-|播放录制|readonly duration: number|新增|-|
-|播放录制|readonly state: AudioState|新增|-|
-|播放录制|on(type: 'play' / 'pause' / 'stop' / 'reset' / 'dataLoad' / 'finish' / 'volumeChange', callback: () => void): void|新增|-|
-|播放录制|on(type: 'timeUpdate', callback: Callback): void|新增|-|
-|播放录制|on(type: 'error', callback: ErrorCallback): void|新增|-|
-|音频管理|getAudioManager(): AudioManager|新增|-|
-|音频管理|AudioVolumeType|新增|-|
-|音频管理|MEDIA|新增|-|
-|音频管理|RINGTONE|新增|-|
-|音频管理|DeviceFlag|新增|-|
-|音频管理|OUTPUT_DEVICES_FLAG|新增|-|
-|音频管理|INPUT_DEVICES_FLAG |新增|-|
-|音频管理|ALL_DEVICES_FLAG |新增|-|
-|音频管理|DeviceRole |新增|-|
-|音频管理|INPUT_DEVICE |新增|-|
-|音频管理|OUTPUT_DEVICE |新增|-|
-|音频管理|DeviceType |新增|-|
-|音频管理|INVALID |新增|-|
-|音频管理|SPEAKER |新增|-|
-|音频管理|WIRED_HEADSET |新增|-|
-|音频管理|BLUETOOTH_SCO |新增|-|
-|音频管理|BLUETOOTH_A2DP |新增|-|
-|音频管理|MIC|新增|-|
-|音频管理|AudioRingMode |新增|-|
-|音频管理|RINGER_MODE_NORMAL |新增|-|
-|音频管理|RINGER_MODE_SILENT|新增|-|
-|音频管理|RINGER_MODE_VIBRATE |新增|-|
-|音频管理|setVolume(audioType: AudioVolumeType, volume: number,callback: AsyncCallback): void|新增|-|
-|音频管理|setVolume(audioType: AudioVolumeType, volume: number): Promise|新增|-|
-|音频管理|getVolume(audioType: AudioVolumeType, callback: AsyncCallback): void|新增|-|
-|音频管理|getVolume(audioType: AudioVolumeType): Promise|新增|-|
-|音频管理|getMinVolume(audioType: AudioVolumeType, callback: AsyncCallback): void|新增|-|
-|音频管理|getMinVolume(audioType: AudioVolumeType): Promise|新增|-|
-|音频管理|getMaxVolume(audioType: AudioVolumeType, callback: AsyncCallback): void|新增|-|
-|音频管理|getMaxVolume(audioType: AudioVolumeType): Promise|新增|-|
-|音频管理|getDevices(deviceFlag: DeviceFlag, callback: AsyncCallback): void|新增|-|
-|音频管理|getDevices(deviceFlag: DeviceFlag): Promise|新增|-|
-|音频管理|getRingerMode(callback: AsyncCallback): void|新增|-|
-|音频管理|getRingerMode(): Promise|新增|-|
-|音频管理|setRingerMode(mode: AudioRingMode, callback: AsyncCallback): void|新增|-|
-|音频管理|setRingerMode(mode: AudioRingMode): Promise|新增|-|
-|音频管理|isMute(volumeType: AudioVolumeType, callback: AsyncCallback): void|新增|-|
-|音频管理|isMute(volumeType: AudioVolumeType): Promise|新增|-|
-|音频管理|isActive(volumeType: AudioVolumeType, callback: AsyncCallback): void|新增|-|
-|音频管理|isActive(volumeType: AudioVolumeType): Promise|新增|-|
-|音频管理|isMicrophoneMute(callback: AsyncCallback): void|新增|-|
-|音频管理|isMicrophoneMute(): Promise|新增|-|
-|音频管理|mute(volumeType: AudioVolumeType, mute: boolean, callback: AsyncCallback) : void|新增|-|
-|音频管理|mute(volumeType: AudioVolumeType, mute: boolean): Promise|新增|-|
-|音频管理|setMicrophoneMute(mute: boolean, callback: AsyncCallback): void|新增|-|
-|音频管理|setMicrophoneMute(mute: boolean): Promise|新增|-|
-|音频管理|isDeviceActive(deviceType: DeviceType, callback: AsyncCallback): void|新增|-|
-|音频管理|isDeviceActive(deviceType: DeviceType): Promise|新增|-|
-|音频管理|setDeviceActive(deviceType: DeviceType, active: boolean, callback: AsyncCallback): void|新增|-|
-|音频管理|setDeviceActive(deviceType: DeviceType, active: boolean): Promise|新增|-|
-|音频管理|getAudioParameter(key: string, callback: AsyncCallback): void|新增|-|
-|音频管理|getAudioParameter(key: string): Promise|新增|-|
-|音频管理|setAudioParameter(key: string, value: string, callback: AsyncCallback): void|新增|-|
-|音频管理|setAudioParameter(key: string, value: string): Promise|新增|-|
-|音频管理|AudioDeviceDescriptor|新增|-|
-|音频管理|readonly deviceRole: DeviceRole|新增|-|
-|音频管理|readonly deviceType: DeviceType|新增|-|
-|音频管理|AudioDeviceDescriptors |新增|-|
-
diff --git a/zh-cn/release-notes/api-change/v2.2-beta2/native-apidiff-v2.2-beta2.md b/zh-cn/release-notes/api-change/v2.2-beta2/native-apidiff-v2.2-beta2.md
deleted file mode 100644
index 1e98d3437ce6b88d742538d9af91d01a2416de23..0000000000000000000000000000000000000000
--- a/zh-cn/release-notes/api-change/v2.2-beta2/native-apidiff-v2.2-beta2.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Native API 差异报告
-OpenHarmony 2.2 Beta2相较于OpenHarmony 2.0 Canary版本的API变更如下:
-## 轻量级系统接口变更
-
-| 模块名称 | 接口名称 | 变更类型 | 变更类型 |
-| -------- | -------- | -------- | -------- |
-| global_i18n_lite | static LocaleInfo LocaleInfo ::ForLanguageTag(const char *languageTag, I18nStatus &status); | 新增 | 新增接口 |
-| global_i18n_lite | const char LocaleInfo ::*GetExtension(const char *key); | 新增 | 新增接口 |
-| global_i18n_lite | WeekInfo::WeekInfo(const LocaleInfo &localeInfo, I18nStatus &status); | 新增 | 新增接口 |
-| global_i18n_lite | uint8_t WeekInfo::GetFirstDayOfWeek(); | 新增 | 新增接口 |
-| global_i18n_lite | uint8_t WeekInfo::GetMinimalDaysInFirstWeek(); | 新增 | 新增接口 |
-| global_i18n_lite | uint8_t WeekInfo::GetFirstDayOfWeekend(); | 新增 | 新增接口 |
-| global_i18n_lite | uint8_t WeekInfo::GetLastDayOfWeekend(); | 新增 | 新增接口 |
-| global_i18n_lite | int PluralFormat::GetPluralRuleIndex(double number, I18nStatus status); | 新增 | 新增接口 |
-| powermgr_powermgr_lite | const RunningLock *CreateRunningLock(const char *name, RunningLockType type, RunningLockFlag flag); | 新增 | 新增接口 |
-| powermgr_powermgr_lite | void DestroyRunningLock(const RunningLock *lock); | 新增 | 新增接口 |
-| powermgr_powermgr_lite | BOOL AcquireRunningLock(const RunningLock *lock); | 新增 | 新增接口 |
-| powermgr_powermgr_lite | BOOL ReleaseRunningLock(const RunningLock *lock); | 新增 | 新增接口 |
-| powermgr_powermgr_lite | BOOL IsRunningLockHolding(const RunningLock *lock); | 新增 | 新增接口 |
\ No newline at end of file
|