鸿蒙版本支持
鸿蒙版本支持
本项目兼容OpenHarmony操作系统,适配到本项目的OHOS已做过小型化裁剪,支持运行无屏xts,部分案例支持直接运行在OHOS,案例功能与OHOS裁剪后的基础服务可同时运行。
适用场景
该文档适用于需要编译构建OHOS的镜像的场景。
1.拉取OHOS代码
首次使用 repo 时,请在空目录中初始化并同步源码:
repo init -u https://gitcode.com/HiSpark/hi_aiot_solution_manifest.git -b main
repo sync
repo start master --all
2.编译OHOS镜像
samples/base 案例为例,OHOS 编译命令:
Hi3516CV610:
bash scripts/build_ohos.sh --chip hi3516cv610 --target cv610_ev_board samples base --shell busybox --ccache --no-prebuilt-sdk --build-xts=true
Hi3516CV608:
bash scripts/build_ohos.sh --chip hi3516cv608 --target cv610_ev_board samples base --shell busybox --ccache --no-prebuilt-sdk --build-xts=true
参数说明:
| 字段 | 说明 |
|---|---|
--chip hi3516cv610\|hi3516cv608 |
选择芯片,默认 hi3516cv610。决定适配目录、默认产品名和镜像文件名。 |
--target cv610_ev_board samples base |
指定目标硬件单板cv610_ev_board 案例类型samples 案例名称base。 |
--shell busybox |
指定目标系统的 shell 环境为 busybox(默认)可切换toybox,用于xts测试验证toybox。 |
--product-name=<产品名> |
定义了最终编译出的产品/系统镜像的名称。标准产品名也可用于推断芯片;若同时指定 --chip,两者必须一致。 |
--ccache |
启用 ccache 编译缓存,加速增量编译。 |
--build-xts=true |
启用 XTS测试套件的编译。 |
--no-prebuilt-sdk |
透传给 OHOS,不使用预编译 SDK。 |
编译产物:
| 芯片 | 默认输出目录 | 根文件系统镜像 |
|---|---|---|
| Hi3516CV610 | ohos/out/hispark_hi3516cv610/ipcamera_hispark_hi3516cv610_linux/ |
rootfs_hi3516cv610.ubifs |
| Hi3516CV608 | ohos/out/hispark_hi3516cv608/ipcamera_hispark_hi3516cv608_linux/ |
rootfs_hi3516cv608.ubifs |
两个目录均包含以下文件,<chip> 替换为 hi3516cv610 或 hi3516cv608:
注意事项
切换不同案例编译时需要清理产物和sdk
清理:
rm -rf ohos/out
rm -rf sdk/Hi3516CV610/
repo sync HiSpark/Hi3516CV610 HiSpark/busybox HiSpark/linux HiSpark/u-boot
3.烧录固件
在 CV610 烧录工具中选择“按分区烧写”,勾选“默认采用 XML 所在路径”,加载项目的 nand_burn_table.xml,并填写 boot、env、kernel 和 rootfs 四个分区。
烧录工具介绍见BurnTool快速介绍
烧录完成后,通过串口访问开发板确认开发板能够正常启动。
附录
xts测试
-
XTS送检机构需要带有豁免项的测试报告,因此需要开启XTS测试套件的豁免项,请修改hi_aiot_solution\ohos\test\xts\acts\security_lite\BUILD.gn文件第22行的代码,删除"//test/xts/acts/security_lite/huks/liteos_a_adapter:Hukslitetest"前面的“#”号。此外,若要修改产品信息相关字段,请参考后文《XTS申请测评注意事项》章节。
-
XTS 测试套编译时,在上一章节的 CV610/CV608 命令后添加
--build-xts=true。该参数原样传递给 OHOS,脚本会在编译结束时检查测试程序是否生成。原有的--gn-args build_xts=true方式仍可透传给 OHOS。
编译结束后,在所选芯片的输出目录下生成 suites/acts/ 测试套件。CV610 路径为 ohos/out/hispark_hi3516cv610/ipcamera_hispark_hi3516cv610_linux/suites/acts/,CV608 路径为 ohos/out/hispark_hi3516cv608/ipcamera_hispark_hi3516cv608_linux/suites/acts/。版本烧写方法和上一章相同。
后续路径以 CV610 为例,CV608 将路径中的 hispark_hi3516cv610、ipcamera_hispark_hi3516cv610_linux 分别替换为 hispark_hi3516cv608、ipcamera_hispark_hi3516cv608_linux;vendor/hisilicon/hispark_hi3516cv610_linux 对应替换为 vendor/hisilicon/hispark_hi3516cv608_linux。
- XTS环境搭建与测试请参考OpenHarmony社区兼容性测评服务指导:
https://www.openharmony.cn/certification/document/guid
请参考链接中“兼容性测试执行环境搭建”章节,配置Windows环境,安装必要的软件。Hi3516CV610 和 Hi3516CV608 的本方案均为小型系统,请参考“小型系统应用兼容性测试指导”章节完成环境搭建和配置。或者按如下的步骤:
①配置Windows环境。进入python官网,安装python3.7及以上版本(建议安装最新版本)。然后进入cmd,依次执行如下命令:
```
python --version 显示出python对应版本
pip install setuptools 安装setuptools
pip install pyserial 安装pyserial
pip install rsa 安装rsa
pip install python-dateutil 安装dateutil
```
②PC运行环境准备,需依次点击: 控制面板——系统和安全——Windows Defender防火墙——高级设置——入站规则——新建规则【勾选端口next——TCP——特定本地端口,添加111, 1058, 2049 next(haneWIN NFS 服务器里面的端口映射)——允许连接next——勾选域、专用、共用 next】——为该规则定义一个名字haneWinTcp——完成。
**图 1** haneWinTcp规则
③XTS测试需要的资源文件,请下载社区OpenHarmony 6.1 LTS 小型系统ACTS资源文件,复制到hi_aiot_solution/ohos/out/hispark_hi3516cv610/ipcamera_hispark_hi3516cv610_linux/suites/acts/resource目录下。然后将acts文件夹复制到本地创建的共享路径(例如D:\xtswork\nfs)。
下载地址:https://www.openharmony.cn/certification/document/xts
图 2 小型系统资源文件

OH5.0及以前社区下载的resource\tools\query.bin是32位的,无法在64位的设备上使用。客户需要使用自行编译生成的query.bin文件(hi_aiot_solution/ohos/out/hispark_hi3516cv610/ipcamera_hispark_hi3516cv610_linux/suites/acts/resource/tools/query.bin)。 OH5.1社区下载resource没有tools目录。
④在PC上配置NFS服务器,请先下载安装hanewin_nfs_server_V1.1.69,找到NFS的安装目录下的exports文件,原exports文件是只读,需要更改其权限,对其添加D:\xtswork\nfs -public -name:nfs -alldirs -maproot:0;添加成功后如下图所示。若没有出现建议重启NFS服务器或电脑。
图 3 haneWIN NFS服务器
解释命令:
D:\xtswork\nfs 路径:这是希望共享的目录路径,即acts测试套件存放的位置;
-public:表示共享是公开的,任何客户端都可以访问,无需身份验证;
-name:nfs 指定共享名称为nfs。客户端在挂载时会使用这个名字来引用共享目录;
-alldirs:表示允许客户端挂载共享目录中的任何子目录,而不仅仅是根目录。
-maproot:0:允许客户端的 root 用户以服务器 root 身份写入和操作文件
⑤配置运行环境,cv610设备与PC相连后,进入串口,完成被测设备IP配置:
PC进入控制面板——网络和Internet——网络连接,配置PC端IP(需和被测设备同网段,例如192.168.1.26),可通过PC上ping被测设备IP确认是否配置成功。之后修改D:\xtswork\nfs\acts\config\user_config.xml的配置,如下图所示。
图 4 user_config.xml配置
解释配置:
com:单板设备在PC端映射端口的串口号;
ip:NFS服务器地址,即上一步配置的PC ip地址;
port:NFS服务的默认通信端口;
dir:NFS服务器用于存放挂载文件的路径;
remote:安全pc与本地单板组网,取false。
完成配置后,进入串口输入如下的mount命令,使被测设备可以访问NFS服务端的nfs共享文件:
mkdir /dev/nfs
mount -o nolock,addr=192.168.1.26 -t nfs 192.168.1.26:/nfs /dev/nfs
NFS服务器配置了-name:nfs,因此这里可以直接指定192.168.1.26:/nfs
XTS测试套补充说明
带屏幕和应用的产品,需要测试ActsAbilityMgrTest和ActsBundleMgrTest。若客户产品需过鸿蒙XTS认证A标,需要测试此两项。
- 修改hi_aiot_solution/ohos/test/xts/acts/build_lite/BUILD.gn文件第106行和第107行的代码(删除前面的“#”号)。
- 重新编译工程后,在hi_aiot_solution/ohos/out/hispark_hi3516cv610/ipcamera_hispark_hi3516cv610_linux/suites/acts/testcases/ability目录下生成测试套ActsAbilityMgrTest.bin,在hi_aiot_solution/ohos/out/hispark_hi3516cv610/ipcamera_hispark_hi3516cv610_linux/suites/acts/testcases/appexecfwk目录下生成测试套ActsBundleMgrTest.bin。
XTS测试命令说明
关闭串口会话(注意不要断开串口),双击执行acts路径下的run.bat,界面启动后,输入用例执行指令。
-
全量执行命令
-
单模块执行命令
-
多模块执行命令
XTS申请测评注意事项
-
请参考《OpenHarmony设备兼容性规范x.x自检表_小型系统 .xlsx》 sheet1表格的规范要求修改配置如下文件,自行设置产品信息。如下为cv610的修改路径,cv608路径为hi_aiot_solution\ohos_adapt\patch\vendor\hisilicon\hispark_hi3516cv608_linux\hals\utils\sys_param\vendor.para 其他同下
hi_aiot_solution\ohos_adapt\patch\vendor\hisilicon\hispark_hi3516cv610_linux\hals\utils\sys_param\vendor.para hi_aiot_solution\ohos\base\startup\init\services\etc\param\ohos.para hi_aiot_solution\ohos\base\startup\init\services\etc_lite\param\ohos_const\ohos.para
关键字段对应关系说明如下:
| 平台字段 | API接口 | 备注 | 举例 | 修改位置 | summary_report.html对应字段 |
|---|---|---|---|---|---|
| 企业简称(英⽂) | GetManufacture() | HUAWEI | vendor.para,const.product.manufacturer | manuFacture | |
| 操作系统版本号 | GetOsFullName() | OpenHarmony-3.1.1.1 | ohos_const\ohos.para,const.ohos.fullname | OsFullName | |
| 设备名称(传播名) | GetMarketName() | Mate 30 | vendor.para,const.product.name | marketName | |
| 设备型号 | GetProductModel() | TAS-AL00 | vendor.para,const.product.model | productModel | |
| 品牌英⽂名称 | GetBrand() | HUAWEI | vendor.para,const.product.brand | brand | |
| 软件版本号 | GetDisplayVersion() | 不是OH系统版本号,不能包含OpenHarmony | 1.0.0.6 | vendor.para,const.software.model | softwareModel |
| 安全补丁标签 | GetSecurityPatchTag() | 2021/1/1 | ohos_const\ohos.para,const.ohos.version.security_patch | Security Patch | |
| 版本id | GetVersionId() | 由多个字段拼接而成:$(设备类型) + '/' + $(企业简称) + '/' + $(品牌英文名称) + '/' + $(产品系列英文名称) + '/' + $( 操作系统版本号 ) + '/' + $(设备型号) + '/' + $(软件版本号) + '/' + $(系统软件API Version ) + '/' + $(差异版本号) + '/' + $(构建类型) | linkiot/MANU/BRAND/SERIES(AA)/OpenHarmony-3.1.1.1/MODEL(AA)/SM/3/1.0.0.6/release | ①ohos.para, const.product.devicetype; ②vendor.para, const.product.manufacturer; ③vendor.para, const.product.brand; ④vendor.para, const.build.product; ⑤ohos_const\ohos.para, const.ohos.fullname; ⑥vendor.para, const.product.model; ⑦vendor.para, const.software.model; ⑧ohos_const\ohos.para, const.ohos.apiversion; ⑨ohos.para, const.product.incremental.version; ⑩ohos.para, const.product.build.type |
VersionID |
OpenHarmony设备兼容性规范自检表下载地址:https://www.openharmony.cn/certification/document/pcs/
图 1 小型系统 PCS5.x 自检表

-
填写申请测评电子流的时候需要上传PCID.sc文件,请从out目录下获取(hi_aiot_solution/ohos/out/hispark_hi3516cv610/ipcamera_hispark_hi3516cv610_linux/PCID.sc)。
-
送测时需要执行全量XTS,acts\reports目录下生成的测试报告摘要(summary_report.html)里面必须包含产品信息。
图 2 XTS测试报告描述信息

-
请按照如下目录准备测评材料。注意提交测评的外观图片要和送测的实物保持一致;且芯片丝印要带有芯片对外传播名称。
OH5.0及以前社区下载的resource\tools\query.bin是32位的,无法在64位的设备上使用。客户需要使用自行编译生成的query.bin文件(hi_aiot_solution/ohos/out/hispark_hi3516cv610/ipcamera_hispark_hi3516cv610_linux/suites/acts/resource/tools/query.bin)。 OH5.1社区下载resource没有tools目录。