OpenHarmony 芯片移植完成后,需要开展 OpenHarmony 兼容性测试以及芯片 SDK 功能性测试。除可获得测试认证之外,还可以在开发阶段提前发现缺陷,大幅提高代码质量。
OpenHarmony 兼容性测试
OpenHarmony 兼容性测试是 XTS(OpenHarmony 生态认证测试套件)之一,详见 OpenHarmony 兼容性测试 。
- 添加 test 子系统以及 xts_acts 部件。
在“vendor/xxx/xxx/config.json”文件中,添加如下代码:
{
"subsystem": "test",
"components": [
{ "component": "xts_acts", "features":[] },
{ "component": "xts_tools", "features":[] }
]
}
- 链接 XTS 生成的.a 库。
在链接选项中,需要链接生成于“out/MyBoard/MyProduct/libs”目录下的 XTS 的.a 库,其库的名称格式为 libmodule_ActsXxxTest.a,链接方式为"-lmodule_ActsXxxTest",示例代码如下:
"-Wl,--whole-archive",
......
"-lhctest",
"-lbootstrap",
"-lbroadcast",
"-lmodule_ActsBootstrapTest",
"-lmodule_ActsCMSISTest",
"-lmodule_ActsDfxFuncTest",
"-lmodule_ActsParameterTest",
"-lmodule_ActsSamgrTest",
"-lmodule_ActsSecurityDataTest",
......
"-Wl,--no-whole-archive",
- 根据测试报告调整代码。
将编译生成的文件烧录到开发板上,使用串口工具查看 xts 测试报告。如果出现"failed"的测试项,则需要整改代码。
定位问题时,可在“test/xts/acts/build_lite/BUILD.gn”中,将不需要的测试项注释,以便调试。
if (ohos_kernel_type == "liteos_m") {
all_features += [
"//test/xts/acts/communication_lite/lwip_hal:ActsLwipTest",
"//test/xts/acts/communication_lite/softbus_hal:ActsSoftBusTest",
"//test/xts/acts/communication_lite/wifiservice_hal:ActsWifiServiceTest",
"//test/xts/acts/utils_lite/file_hal:ActsUtilsFileTest",
"//test/xts/acts/startup_lite/syspara_hal:ActsParameterTest",
"//test/xts/acts/iot_hardware_lite/iot_controller_hal:ActsWifiIotTest",
"//test/xts/acts/kernel_lite/kernelcmsis_hal:ActsCMSISTest",
"//test/xts/acts/utils_lite/kv_store_hal:ActsKvStoreTest",
"//test/xts/acts/security_lite/datahuks_hal:ActsSecurityDataTest",
"//test/xts/acts/hiviewdfx_lite/hilog_hal:ActsDfxFuncTest",
"//test/xts/acts/distributed_schedule_lite/samgr_hal:ActsSamgrTest",
"//test/xts/acts/update_lite/updater_hal:ActsUpdaterFuncTest",
"//test/xts/acts/startup_lite/bootstrap_hal:ActsBootstrapTest",
]
}
注意:
- XTS 会在 OHOS_SystemInit()调用之后,自行运行测试。
- 需要在"-Wl,–whole-archive"和"-Wl,–no-whole-archive"中间添加,否则链接不到。
进行 XTS 测试时,必须链接以下静态库
"-lhctest",
"-lbootstrap",
"-lbroadcast",
厂商 SDK 功能性测试
芯片移植完成后需要客户验证 SDK 自身功能,例如 Wi-Fi,蓝牙,OTA 等基础能力是否正常。
总是有很多小伙伴反馈说:OpenHarmony开发不知道学习哪些技术?不知道需要重点掌握哪些OpenHarmony开发知识点? 为了解决大家这些学习烦恼。在这准备了一份很实用的鸿蒙全栈开发学习路线与学习文档给大家用来跟着学习。
针对一些列因素,整理了一套纯血版鸿蒙(HarmonyOS Next)全栈开发技术的学习路线,包含了鸿蒙开发必掌握的核心知识要点,内容有(OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、OpenHarmony驱动开发、系统定制移植……等)技术知识点。
OpenHarmony 开发环境搭建:https://gitcode.com/HarmonyOS_MN/733GH/overview
《OpenHarmony源码解析》
搭建开发环境
系统架构分析
- 构建子系统
- 启动流程
- 子系统
- 分布式任务调度子系统
- 分布式通信子系统
- 驱动子系统
- ……