• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 产品形态配置<a name="ZH-CN_TOPIC_0000001079317008"></a>
2
3-   [简介](#section11660541593)
4-   [配置仓目录结构](#section113275517516)
5-   [配置示例](#section178021418115315)
6-   [常见问题说明](#section174312714582)
7-   [相关仓](#section1371113476307)
8
9## 简介<a name="section11660541593"></a>
10
11产品形态配置仓。
12
13主要包括产品所属的系统类型,产品名称,对应的device配置,产品的部件列表等。
14
15支持的产品需要在productdefine/common/products/ 目录下有同名的配置文件,编译时找不到会报错。在productdefine/common/device/ 目录下要有产品对应的device的同名配置文件。
16
17产品配置文件中,要指定产品所属的系统类型,使用的device,包含的部件列表等。
18
19## 配置仓目录结构<a name="section113275517516"></a>
20
21```
22productdefine/common
23├── base                         # 不同系统类型的最小系统,开发者不用配置,系统提供
24│   └── standard_system.json
25├── device                       # device配置,配置文件按照device name命名
26│   └── hi3516dv300.json
27└── products                     # 产品配置,配置文件按照product name命名
28    └── Hi3516DV300.json
29```
30
31## 配置示例<a name="section178021418115315"></a>
32
33**产品配置示例:** Hi3516DV300.json
34
35```
36{
37  "version": "2.0",                  # 配置文件格式版本
38  "product_name": "Hi3516DV300",     # 产品名
39  "product_company": "hisilicon",    # 产品厂商名
40  "product_device": "hi3516dv300",   # 产品对应的device名,会读取device下的同名配置
41  "type": "standard",                # 系统类型,读取base下对应的系统配置
42  "inherit": [],                     # 继承的部件列表配置, 可以继承通用的部件列表
43  "product_build_path": "",          # product对应的子系统路径
44  "parts":{                          # 产品的部件列表
45    "common:common":{},
46    ......
47  }
48}
49```
50
51每个产品都要配置对应的系统类型,当前仅支持配置:"standard",,产品会继承对应的系统类型的基础部件列表,从productdefine/common/base/ 目录下读取。
52
53product_build_path是product对应子系统路径,编译时会扫描对应目录下的部件配置。
54
55**device配置示例:** hi3516dv300.json
56
57需要提供一个产品配置中product\_device同名的配置文件,配置device信息和board信息。
58
59```
60{
61  "device_name": "hi3516dv300",   # device名
62  "device_company": "hisilicon",  # device厂商名
63  "target_os": "ohos",            # 在设备上部署的操作系统名
64  "target_cpu": "arm",            # 设备的cpu类型
65  "kernel_version": "",
66  "device_build_path": ""         # device对应的子系统路径
67}
68```
69
70device_build_path是device对应子系统路径,编译时会扫描对应目录下的部件配置。
71
72**产品部件类表的生成:**
73
741.  先加载对应系统类型的最小系统部件列表;
752.  加载产品对应的device配置的部件列表;
763.  加载产品继承的通用部件列表;
774.  加载产品配置的部件列表;
785.  一个产品包含的所有部件,从上面几个配置中来,同名的后面的会覆盖前面的。
79
80## 常见问题说明<a name="section174312714582"></a>
81
82**如何给对应的产品新加一个部件?**
83
84productdefine/common/products/ 目录下,找到对应的产品同名的配置文件,在parts中添加部件信息,格式为:"子系统名:部件名":\{\}。
85
86**如何查看一个指定产品的最终的部件列表?**
87
88在编译启动后,编译系统会解析配置文件,生成产品的全部的部件列表,输出为:out/build\_configs/\{产品名\}/preloader/parts.json89
90## 相关仓<a name="section1371113476307"></a>
91
92productdefine/common
93
94