基于海思WS63芯片平台的开发环境,如果只是使用海思的SDK的LiteOS系统版本,在海思的官方仓库有提供说明文档,指导如何在window下使用基于VSCode的HiSpark Studio插件进行开发。但如果使用适配了OpenHarmony系统的SDK,则不支持在Windows环境下的开发。
项目介绍
小鸿系列产品基于海思 WS63 芯片,采用 RISC-V 架构,搭载开源鸿蒙(OpenHarmony)6.1Release操作系统,以"开源鸿蒙+ RISC-V"双开源为核心,集成星闪(NearLink)无线技术,打造出兼具 AI 在线陪伴与星闪智能家居控制功能的 AI 对话助手,满足家庭用户的双重核心需求,实现"一声唤醒,万物响应"的智能生活体验。
第一代小鸿(xiaohong)
开源项目名称为:小鸿AI(xiaohong)
主板上只有一颗WS63主控芯片,单芯片单系统。
项目的代码: xiaohong 。
第二代小鸿(xiaohong-se)
开源项目名称为:小鸿SE(xiaohong-se),项目实际由 xiaohong-se + xiaohong-p4 两部分组成。
小鸿SE主板上有两颗芯片:
-
一颗是WS63 星闪/WiFi/BT芯片,开源鸿蒙轻量系统,用于做网络通信并运行AI Agent;
-
一颗是ESP32-P4芯片,开源鸿蒙轻量系统,用于做外设控制、拾音和语音播放、显示屏、摄像头等控制类功能。
两颗芯片之间通过高速串口进行通信和交互。
两颗芯片都适配了开源鸿蒙轻量系统,组成双系统的开发板,须要分别开发/编译/烧录各自的固件。
项目代码分别是:
- WS63 芯片 端项目代码: xiaohong-se
- P4 芯片 端项目代码: xiaohong-p4
开发环境搭建
开发环境一般建议以 Windows主机+Ubuntu虚拟机方式为主(Mac主机+Ubuntu虚拟机、纯Ubuntu主机等方式也是可以的,需要开发者自行搭建)。
开发环境的搭建可以参考 docs-代码预览-docs:基于开源鸿蒙与RISC-V的AI对话助手项目 - AtomGit | GitCode 这里的说明进行搭建和使用。
在搭建好Openharmony的开发环境之后,要编译小鸿SE的ESP32-P4芯片端的代码,还需要参考 xiaohong-p4 的README_CN.md 文档搭建与ESP32相关的开发环境。
拉取代码
两代小鸿项目共用一套代码,可以通过如下四个步骤拉取完整的代码。
# 步骤一:
# 通过“repo + ssh”方式,拉取基于OH 6.1 版本的代码
repo init -u git@gitcode.com:xiaohong-ai/manifest.git -b OpenHarmony-6.1.0.31-Release -m default_xiaohong.xml -g ohos:mini --no-repo-verify -v
# 或者通过“repo + https”方式,拉取基于OH 6.1 版本的代码
repo init -u https://atomgit.com/xiaohong-ai/manifest.git -b OpenHarmony-6.1.0.31-Release -m default_xiaohong.xml -g ohos:mini --no-repo-verify -v
# 步骤二:
repo sync -c -j8
# 步骤三:
repo forall -c 'git lfs pull'
# 步骤四:
./build/prebuilts_download.sh
# 注意:步骤四会下载一个大约18G的编译工具链包。小鸿系列项目可以不执行这一步。
# 直接去 https://pan.baidu.com/s/5sVfap2wmaGsovWxKS66tpA 查看README文档,
# 下载一个 prebuilts_for_ohos_6.1_mini_ws63.tar.gz 压缩包到步骤一所下载的OH代码根目录下,
# 执行:tar -xvf prebuilts_for_ohos_6.1_mini_ws63.tar.gz
# 解压出一个 prebuilts/ 文件夹即可,解压出来的工具链包大约2.4G大小。
# 编译xiaohong-p4(ESP32-P4芯片)项目,需要去 https://pan.baidu.com/s/5sVfap2wmaGsovWxKS66tpA
# 下载一个 toolchains_for_esp32_riscv32-esp-elf.tar.gz 压缩包,将其解压到
# OH代码根目录下的prebuilts目录中或其他目录下,然后编辑 ~/.bashrc 文件,增加如下一行代码:
# export PATH=${你存放riscv32-esp-elf的路径}/riscv32-esp-elf/bin:$PATH
# 保存后退出即可。
# 上述网盘内还有对应的烧录工具,可以一并保存到本地备用。
编译代码
hb set # 选择 mini,再选择 atomgit 下的项目
OHOS Which os_level do you need? mini
OHOS Which product do you need? (Use arrow keys)
atomgit
❯ xiaohong
xiaohong-p4
xiaohong-se
# 编译小鸿项目的固件,编译之前,详细阅读下面的注意事项。
hb build -f
注意:
xiaohong 与 xiaohong-se(含独立模块) 两代产品,在WS63模块的配置上有一点差别,影响编译的是xiaohong-se在ws63这一端没有连接外挂NorFlash,也就没有适配LFS文件系统,需要使用海思SDK自己的文件系统,因此需要做如下两处修改:
device\soc\hisilicon\ws63v100\sdkv106\build\config\target_config\ws63\menuconfig\acore\ws63_liteos_app.config 文件
CONFIG_MIDDLEWARE_SUPPORT_LFS=y # 编译 xiaohong-se 时,打开这个定义 # CONFIG_MIDDLEWARE_SUPPORT_LFS is not set # 编译 xiaohong 时,关闭这个定义device\soc\hisilicon\ws63v100\sdkv106\build\config\target_config\ws63\config.py 文件,在 'ws63-liteos-app' 编译目标的 'ram_component' 组件列表中,找到 "littlefs_adapt_ws63"
"little_fs", "littlefs_adapt_ws63", # 编译 xiaohong-se 时,打开这个组件 "little_fs", # "littlefs_adapt_ws63", # 编译 xiaohong 时,注释掉这个组件
固件路径
# 小鸿项目的固件
//out/xiaohong/xiaohong/ws63-liteos-app/ws63-liteos-app_all.fwpkg
//out/xiaohong/xiaohong-se/ws63-liteos-app/ws63-liteos-app_all.fwpkg
烧录固件
两个开源项目,有各自的烧录步骤,请按照下面的文档说明操作烧录。
小鸿AI(xiaohong)的固件烧录说明见:README_CN.md
小鸿SE(xiaohong-se)的WS63部分(以及独立模块)的固件烧录说明见:README_CN.md
小鸿SE(xiaohong-se)的ESP32-P4部分(xiaohong-p4)的固件烧录说明见:README_CN.md