From 4cf5fcf818833d22616f9d31320c53571f0d0287 Mon Sep 17 00:00:00 2001 From: mubaoyu Date: Fri, 11 Nov 2022 07:14:33 +0000 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0chippord=E6=89=93=E5=8C=85?= =?UTF-8?q?=E9=95=9C=E5=83=8F=E4=BD=BF=E7=94=A8=E8=AF=B4=E6=98=8E=E6=96=87?= =?UTF-8?q?=E6=A1=A3=20Signed-off-by:=20=E7=A9=86=E5=AE=9D=E4=BD=99=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device-dev/subsystems/subsys-build-all.md | 2 +- .../subsystems/subsys-build-reference.md | 53 +++++++++++++++++++ 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/zh-cn/device-dev/subsystems/subsys-build-all.md b/zh-cn/device-dev/subsystems/subsys-build-all.md index 602e4e7f22..e597856d1b 100644 --- a/zh-cn/device-dev/subsystems/subsys-build-all.md +++ b/zh-cn/device-dev/subsystems/subsys-build-all.md @@ -352,4 +352,4 @@ optional arguments: - [开源软件Notice收集策略说明](subsys-build-reference.md#开源软件notice收集策略说明) - [加快本地编译的一些参数](subsys-build-reference.md#加快本地编译的一些参数) - [查看NinjaTrace](subsys-build-reference.md#查看ninjatrace) - +- [定制打包chip_prod镜像使用说明](subsys-build-reference.md#定制打包chip_prod镜像使用说明) diff --git a/zh-cn/device-dev/subsystems/subsys-build-reference.md b/zh-cn/device-dev/subsystems/subsys-build-reference.md index 3279c9bb5d..c2d3e75574 100644 --- a/zh-cn/device-dev/subsystems/subsys-build-reference.md +++ b/zh-cn/device-dev/subsystems/subsys-build-reference.md @@ -185,3 +185,56 @@ out/rk3568/.ninja_log文件记录了每个模块编译的开始和结束时间(m 1. 点击静态检查下的“成功”; 2. 点击输出列的“输出”即可在左侧的build_trace列看到build.trace.html文件,单击该文件即可打开。 + +## 定制打包chip_prod镜像使用说明 + +### 背景 + +针对同一个芯片解决方案下的子产品的定制能力,将差异能力放到 chip_prod 分区,因此需要支持对不同子产品生成对应的 chip_prod.img。 + +### 使用步骤 +1. 产品解决方案配置:
+ 产品解决方案配置文件config.json中添加`"chipprod_config_path"`配置选项,即`"chipprod_config_path":"子产品定义文件所在的路径"`。 + 其中子产品定义文件的文件名为`chip_product_list.gni`,文件格式为:`chip_product_list = ["productA", "productB", ...]` 。
+ 示例:
+ 以MyProduct产品定制chipprod镜像为例,//vendor/产品厂商/MyProduct/config.json配置如下: + ```shell + { + "product_name": "MyProduct", # 产品名称 + "version": "3.0", # config.json的版本号, 固定"3.0" + "chipprod_config_path": "", # 存放chipprod配置文件路径,可选项 + "subsystems": [ + { + "subsystem": "arkui", # 选择的子系统 + "components": [ + { + "component": "ace_engine", + "features":[ "ace_engine_feature_enable_web = true", + "ace_engine_feature_enable_accessibility = true" ] } + ] + }, + { + ...... + } + ...... + 更多子系统和部件 + } + } + ``` + +2. 模块编译配置:
+ 某个配置文件在不同的子产品中有差异,比如要打包到productA对应的chip_prod.img中,则模块编译需要配置`install_images`和`module_install_dir`。
+ 以`ohos_prebuilt_executable`示例: + ```shell + ohos_prebuilt_executable("moduleXXX"){ + install_images = [ "chip_prod" ] + module_install_dir = "productA/etc/***" # module_install_dir指定的路径需要以productA开始。 + } + ``` + +3. 打包结果:
+ 如果定义了子产品productA和productB,即`chip_product_list = ["productA", "productB"],`并且有模块安装到了该产品下,则打包后镜像输出路径如下: + ``` + images/productA/chip_prod.img + images/productB/chip_prod.img + ``` \ No newline at end of file -- GitLab