WSL_DOCKER环境使用指南
前置条件
- 确保PC网络可以正常访问Web,如Microsoft Store
- 系统要求: Windows 10(版本1903或更高) 或 Windows 11
- CPU虚拟化已启用(任务管理器 -> 性能 -CPU查看 -> 虚拟化:已启用)
- 磁盘剩余空间不低于100GB
启用WSL 2功能
以管理员身份打开PowerShell,执行下面命令。启用 WSL和虚拟机平台命令和设置WSL 2为默认版本命令。若wsl命令执行不成功,请参考wsl命令执行失败
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl --set-default-version 2
安装完成后,重启系统。
安装Linux发行版和Docker Desktop
在Windows系统开始菜单中,搜索Microsoft Store并打开(如何查找Microsoft Store,请参考如何查找Microsoft Store应用)
安装Ubuntu并初始化用户名和密码
从Microsoft Store中搜索并安装Ubuntu(如下左图)。 安装成功后,从Windows启动菜单中搜索并启动Ubuntu(如下右图)。按照提示信息,初始化用户名和密码。
安装Docker Desktop并启动Docker Desktop
从Microsoft Store中搜索并安装Docker Desktop(如下左图)。 安装成功后,从Windows启动菜单中搜索并启动Docker Desktop(如下右图)。
配置Docker Desktop
在"设置 > 通用"中勾选"使用基于 WSL 2 的引擎"(Use the WSL 2 based engine)(如下左图)。 在 "设置>资源>WSL 集成",启用 Docker 集成的已安装 WSL 2 分发版。(Enable integration with my default WSL distro)(如下右图)
更多Docker Desktop优化配置,请参考 docker优化配置
WSL中运行docker环境
docker配置
在 WSL 命令界面,将当前用户加入到docker用户组,可以免sudo使用Docker
安装git lfs工具
需要通过lfs下载Diting的开发镜像,因此需要先安装git lfs工具,只需安装一次即可。
在WSL中输入git --version命令检查版本,如git未安装或git版本低于1.8.2,需要通过下方命令安装git
执行下方命令安装git lfs
加载docker镜像
(1)从docker仓库中下载docker镜像文件 首次下载,配置git信息
git config --global http.sslVerify false
git config --global https.sslVerify false
git config --global credential.helper store
按照界面提示,首次执行git clone命令时,需要输入gitcode账号和令牌信息,按照提示输入即可。
(2)加载镜像
执行docker load命令后,如无异常,则会输出当前加载镜像名,如Loaded image: swr.cn-north-4.myhuaweicloud.com/hispark_docker/ubuntu22.04_dt:env
如果docker命令执行失败,请参考docker命令执行失败
创建容器
使用docker run命令创建容器。镜像名为上一步骤加载的镜像名,如下:
如无异常情况,会输出64位的容器ID号,如744c012a440e11c4c25211452fe01e80658c4f0995e27513311de418bfb48d2f
进入容器
使用docker exec可进入容器,容器ID为上一步骤创建的ID号,如下:
完整执行流程如下图

如果忘记容器ID号,可通过下面命令找到指定的容器ID

docker中代码下载与编译
源码获取
首次下载,配置git信息
git config --global http.sslVerify false
git config --global https.sslVerify false
git config --global credential.helper store

编译器获取
进入工程目录
编译前运行预处理脚本。脚本读取 src/build/config/target_config/3322/3322.json 中
requires.toolchains 的名称和版本,从毕昇下载目录的 tools.json 清单选择当前 Linux 架构对应的安装包,校验 SHA256 后解压:
python3 src/tools/bin/fbb_tool/install_bisheng.py --root src --config src/build/config/target_config/3322/3322.json --platform linux
下载目录为 https://dl.hispark.hisilicon.com/?tool=bisheng。编译器存放目录由
name 和 version 生成,版本号中的点替换为下划线。例如 bisheng 26.03.1 对应
src/tools/bin/compiler/bisheng_26_03_1。

注意:
tag_V26.08.1和HiDiTing V26.08.1 首个正式版本因为缺少install_bisheng.py脚本,下载好tag或者发行版代码后,可以通过以下两种方式进行编译器下载。 - 方法1:拷贝代码仓主干src/tools/bin/fbb_tool/install_bisheng.py脚本到tag和发行版中,按上述流程操作下载; - 方法2:工程目录下,执行命令git submodule update --init --recursive,等待编译器同步到工程目录src/tools/bin/compiler/bisheng_26_03_1下。
SDK编译
进入sdk目录
构建普通社区固件 构建行车形态社区固件 不带 target 执行./build.py 时,当前脚本会列出 8 个独立 target 和 4 个完整固件 target group。其中,diting-community-bike 是行车形态应用 target,pack_diting_community_bike 会联动构建启动镜像、恢复镜像、SELiteOS 和行车形态应用镜像并生成完整固件包。菜单序号由当前 config.py 中的定义顺序生成,建议直接使用 target 名称构建,避免后续目标调整造成误选。
编译目标选择界面:

编译结果:

构建资源镜像
需要将界面、字体、应用等文件系统资源随固件一起烧写时,在容器内打开 src/build/config/target_config/3322/config.py,将本次构建所用 target 的 fs_image 设置为 True。例如 pack_diting_community 目标组对应 diting-community:
target = {
# 保留 config.py 中已有的完整字段,仅修改 diting-community 条目
'diting-community': {
# 其余配置保持不变
'fs_image': True,
},
}
完成配置后,在 src 目录重新构建:
构建脚本会调用 Linux 版 YAFFS2 镜像工具,并在 src/output/3322/file.bin 生成资源镜像,随后将其打包进 src/output/3322/fwpkg/diting-community.fwpkg。使用其他目标时,应修改与目标组对应的 target,并以该目标的实际输出文件名为准。
Windows 环境下的一站式 CLI 和 HiSpark Studio for VS Code 可构建代码固件,但不执行 file.bin 生成流程;需要资源镜像时使用本节的 WSL + Docker 环境。
固件获取
编译完成后,从 SDK 的 output/3322/fwpkg 输出目录获取 diting-community.fwpkg。启用 fs_image 后,还应确认 output/3322/file.bin 已生成且固件打包成功。WSL 中可通过 Docker 命令拷贝到 PC,请参考docker数据拷贝。
如需直接验证开发板,可从 tag_V26.08.1 发行版下载 26.08.1 默认社区固件。该固件使用 pack_diting_community 目标组构建,应用 target 为 diting-community,fs_image 为 True,资源镜像 file.bin 已包含在 .fwpkg 中。

烧写与调试
工具获取
BurnTool
-
下载链接:HiSpark资源下载中的BurnTool 26.03.3
-
功能支持:
- 支持多种烧写协议(基于脚本集成)
- 支持eFuse读写
- 支持Flash导出
- 支持cmd命令行烧写或者BurnTool GUI烧写
- 支持一拖多
DebugKits
-
下载链接:HiSpark资源下载中的DebugKits 26.03.3
-
功能支持:
- 支持日志查看
- 支持自定义参数配置
- 支持自定义维测命令
- 支持多种数据导入导出
- 支持寄存器读写
- 支持死机分析
串口工具
推荐SSCOM V5.13.1- 用于串口调试,不单独提供,可自行百度下载安装
开发板
开发板接口与接线

- 电源:type-c 5V电源供电
- 屏幕:MIPI/QSPI屏幕
- USB转串口:USB转串口板两块,分别用于烧写和调试(推荐FT232RL USB To TTL UART,可淘宝/京东采购);PC端需要安装对应驱动才可识别串口板(推荐:CDM21228串口驱动,可百度下载安装)
- 波特率:串口工具/BurnTool波特率为750000;DebugKits波特率为921600
- 开关键:支持上下电
- Power键:亮屏、切页面
- 接线:开发板上T2用于烧写和串口通信,T3用于DebugKits调试,开发板的RX/TX与串口小板的RX/TX反接,即:开发板RX接串口板TX,开发板TX接串口板RX,开发板地线GND任选与串口板地线GND连接
开发板接口、电平、拨码开关和外设接线详见社区开发板使用指南;模组管脚、电源和 PCB 参考设计详见硬件用户指南。
固件烧写
BurnTool配置与烧写
因串口工具和烧写工具共用一个串口,所以烧写固件时,串口工具里要关闭串口

- ① 操作按钮中切换芯片
- ② 选择Hi3322
- ③ 切换串口为烧写串口(与串口工具共用一个串口,可在串口工具中设置波特率750000上电看串口是否有日志打印,选择有打印的串口作为烧写串口,如图中COM4)
- ④ 勾选"自动烧写"
- ⑤ 勾选"烧写完成后断开连接"
- ⑥ 选择文件,选择SDK编译后的固件包"diting-community.fwpkg",下方列表中会展开各镜像信息
- ⑦ 点击"连接"按钮开始烧写,如下图所示:

- ① 点击"连接"并将开发板断电后重新上电,开始烧写;"连接"变成"断开连接",点击可以终止烧写
- ② 烧写进度显示,烧写完成后,自动断开连接,显示所有镜像烧写成功

使用 USB 加速烧写
开发板已有可正常启动的基础镜像时,可以使用 USB DFU 缩短完整固件的烧写时间:
- 在 BurnTool 的“Option > Change Chip”中选择
Hi3322-USB(部分版本显示为3322-USB),填写Vid=0x3361、Pid=0x3322。 - 选择本节编译得到的
diting-community.fwpkg,点击“Start burn”。 - 使用
750000波特率打开 UART2 对应串口,发送AT+USBDFUTRIGGER;开发板进入 USB DFU 后,以 BurnTool 的进度和 PASS/Fail 结果为准。
无法发送 AT 指令时,先将开发板断电并短接 UART2 的 RX2 与 GND,点击“Start burn”后重新上电也可触发 USB 烧写;烧写结束后应断电并移除短接线。首次空板或基础镜像不能启动时,使用前述串口烧写流程。完整操作与注意事项参见 BurnTool 工具使用指南的 USB 快速烧写章节。
烧写完成后,双击"Power键"亮屏进入APP list,下滑找到Hello World应用,点击应用进入,屏幕显示"Hello World"。
BurnTool工具更多用法和介绍,可参考HiDiTingV100 BurnTool工具 使用指南
串口调试
固件烧写完成后,打开串口工具,开启串口,输入正确的波特率,单板上下电会打印启动日志,后续开发板运行日志也在日志区域显示,如下图所示:

- ① 选择端口号,与烧写端口一致
- ② 开启串口
- ③ 串口波特率750000
- ④ ①到③也可在"串口设置"中设置
- ⑤ 点击"多字符串",可以显示多字符串列表
- ⑥ 多字符串列表中填写AT调试命令,可以进行调试,如设置"退出低功耗模式"、设置"开发板系统时间"
- ⑦ 多字符串命令发送需要先勾选"加回车换行"
DebugKits调试
开始 DebugKits 调试前,请确认开发板已连接 T3 调试线;T2 用于烧写和串口日志,T3 用于 DebugKits。两组线缆的用途不同,不能仅连接 T2。
以"Hello World"js应用开发为例,应用开发完成后,使用DebugKits推送应用安装包到开发板上进行日志调试
获取samples代码
从 hs-fbb 工程的 samples/js_samples/helloworld 目录中将 Hello World 应用工程源码拷贝到 Windows,可通过 Docker 命令拷贝到 PC,请参考docker数据拷贝。
js应用编译
使用DevEco Studio For OpenHarmony(链接下载,以下简称DevEco Studio,推荐下载DevEco Studio 5.0 Release)打开js工程; 点击Build -> Build Hap(s)进行应用编译

DevEco Studio是基于IntelliJ IDEA Community开源版本打造,用作开发穿戴JS应用。当前HiDiTing产品使用的IDE版本为DevEco Studio 5.0 Release。
更多 OpenHarmony JS 应用开发可参考工程目录下 samples/js_samples 中的样例代码,JS 应用开发指南可参考HiDiTingV100 OpenHarmony JS应用开发用户指南。
DebugKits配置
- 选择芯片3322

- 配置端口号和波特率

应用包推送
编译成功后,从应用工程的 entry/build/default/outputs/default/bin 中找到应用包,并将其 Windows 磁盘路径配置到 DebugKits 中进行推送,例如 D:\332x\entry-default-unsigned.bin。samples/js_samples 存放应用源码,SDK 归档的应用二进制位于 src/application/wearable/res/js/IDE5.0,其中 Hello World 应用包为 com.vendor.helloworld.bin。

使用 DebugKits 从 System 页面将应用包推送到开发板,并将目标路径设置为 /user/helloworld.bin。必须先确认文件推送成功,再进入串口安装和应用调试步骤。

应用安装
确认 /user/helloworld.bin 已推送到开发板后,再在串口工具中执行安装命令:AT+OHOS=OHOSFWK_BM_INSTALL,/user/helloworld.bin。当前 SDK 注册的命令名为 OHOSFWK_BM_INSTALL;部分早期资料写作 OHOSFWK_INSTALL,请以仓库中的 OHOS 命令表为准。应用如果没有使用 OpenHarmony 应用市场签名,可先执行 AT+OHOS=OHOSFWK_BM_SET,disable 关闭签名后安装。

更多AT调试指令用法和介绍,可参考HiDiTingV100 AT指令 使用指南
应用运行
应用安装完成后,双击 Power 键进入 APP list,滑动 APP list 找到 Hello World 应用,点击应用运行,显示如下:

DebugKits工具更多用法和介绍,可参考HiDiTingV100 DebugKits工具 使用指南
其他
HiDiTing 开发进阶
更多Native/Native-js应用开发、外设驱动开发、蓝牙/星闪开发可参考开发文档快速入口 HiDiTing也提供了一些外设驱动的Demo和Demo开发指南,请参考"/docs/zh-CN/HiDiTingV100/samples/"路径下的指南,跟随指南可快速上手相关外设的应用开发
WSL+Docker环境搭建注意事项
避免C盘空间占用
将Docker数据目录迁移到其他分区(需通过Docker Desktop 设置 -> Advanced 调整磁盘路径)。在WSL中将项目代码存储在Linux文件系统(如~/project),而非/mnt/c/路径,避免占用C盘空间。
docker数据拷贝
(1) 将docker中的文件拷贝到宿主机Ubuntu目录下
在WSL中,通过
获取目标容器ID(CONTAINER ID),通过下列命令,将docker容器中/home/{PATH}/{FILE_NAME}的文件,复制到宿主机的指定{LOCAL_PATH}路径下
如需要将CONTAINER ID为744c012a440e中的/home/diting下的images.tar.gz文件,拷贝到Ubuntu宿主机/home/build/projects下。执行命令如下:
(2) 将Ubuntu上的文件复制到Windows
在Windows文件管理树结构中,找到Linux图标下的Ubuntu目录,展开子目录找到/home/build/projects,在里面找到images.tar.gz文件,直接拷贝复制到Windows上使用即可。

其他docker命令参考
以下为部分可能会用到的docker命令,供参考。
容器停止:
容器删除:
镜像删除:
退出容器:
更多的git和git lfs相关配置指引参考
WSL+Docker环境搭建常见问题排查
WSL命令执行失败
(1)执行wsl指令,若出现"未安装适用于Linux的Windows子系统"时,根据提示直接回车安装

或在PowerShell中执行下面指令单独安装
wsl.exe --install
(2)若执行wsl命令报错,如下图

请在Windows开始菜单中,直接搜索wsl,手动启动wsl,并按提示安装

如何查找Microsoft Store应用
(1)Windows系统上,在开始菜单中,搜索Microsoft Store

docker命令执行失败
(1)从Windows开始菜单中搜索WSL,点击启动。在终端界面输入
sudo docker info
有下面输出信息,即表明docker环境已运行正常

(2)在PowerShell中,执行如下命令,查看WSL已安装的发行版及版本
wsl --list --verbose

因下载WSL、Ubuntu、Docker的顺序不同,可能默认的WSL发行版不是Ubuntu,可通过 wsl --set-default Ubuntu 命令切换

docker优化配置
在 "设置>资源>高级"中,可以更改Disk image location路径(默认为C盘。建议修改到其他磁盘,且磁盘剩余空间大于100GB)。
更多 Docker 设置参见 Microsoft WSL 容器开发环境教程。