2. 开发环境搭建:DevEco Device Tool安装、源码获取与编译环境配置、Hi3861/Hi3516开发板烧录、串口调试工具使用
说实话,很多初学者在鸿蒙南向开发上栽跟头,不是栽在代码逻辑上,而是栽在环境搭建上。我见过太多人花了两三天装环境,结果一个编译错误就卡住了。这一章,我就带你一步步把开发环境捋顺。
本章核心目标:完成从工具安装到串口调试的全链路打通。说白了,就是让你的电脑能写代码、能编译、能烧录、能看日志。
2.1 DevEco Device Tool 安装
DevEco Device Tool 是华为官方提供的集成开发环境插件,基于 VS Code。我个人习惯直接用它管理源码、编译和烧录,比命令行省心不少。
2.1.1 安装步骤
- 安装 VS Code:从官网下载最新版,安装时勾选“添加到 PATH”。
- 安装 DevEco Device Tool 插件:在 VS Code 扩展市场搜索
DevEco Device Tool,点击安装。 - 配置 Python 环境:要求 Python 3.8~3.11,我建议用 3.9,兼容性最好。
- 安装 Node.js:版本 14.x 以上,用于插件后端服务。
我的经验:安装完成后,打开 VS Code 按 Ctrl+Shift+P,输入 DevEco: Check Environment,插件会自动检测缺失项。我曾经在一台新电脑上发现缺少 python3-distutils,补上就好了。
2.2 源码获取与编译环境配置
鸿蒙源码托管在 Gitee 上,获取方式有两种:直接下载压缩包,或者用 repo 工具同步。我推荐后者,方便后续更新。
2.2.1 使用 repo 获取源码
# 安装 repo 工具
mkdir -p ~/bin
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o ~/bin/repo
chmod a+x ~/bin/repo
export PATH=~/bin:$PATH
# 初始化仓库(以 OpenHarmony 3.2 Release 为例)
mkdir ohos_source
cd ohos_source
repo init -u https://gitee.com/openharmony/manifest.git -b OpenHarmony-3.2-Release --no-repo-verify
repo sync -c -j8
这里有个坑:repo sync 如果网络不稳定容易中断。我建议加 --no-clone-bundle 参数,能跳过一些大文件的预下载,减少失败概率。
2.2.2 编译环境配置
鸿蒙南向开发主要依赖 hb 编译工具。配置步骤如下:
- 安装编译依赖:
sudo apt-get install python3-pip curl git gcc-arm-none-eabi - 安装 hb 工具:
pip3 install --user ohos-build - 设置环境变量:在
~/.bashrc中添加export PATH=~/.local/bin:$PATH - 验证安装:运行
hb --version,看到版本号即成功。
注意:如果你用的是 Ubuntu 20.04 及以上版本,gcc-arm-none-eabi 的版本可能过旧。我曾经遇到过编译报错 unknown option --specs=nano.specs,后来手动安装了 ARM 官方工具链才解决。
2.3 Hi3861 / Hi3516 开发板烧录
两块开发板的烧录方式不同,咱们分开讲。
2.3.1 Hi3861 烧录(Wi-Fi IoT 模组)
Hi3861 使用串口烧录,工具是 DevEco Device Tool 自带的烧录功能。流程如下:
- 用 USB 转串口线连接开发板(TX→RX, RX→TX, GND→GND)。
- 在 VS Code 中打开源码目录,按
F1输入DevEco: Build编译。 - 编译完成后,按
F1输入DevEco: Upload,选择串口和波特率(默认 921600)。 - 按住开发板上的
BOOT键,再按RESET键进入烧录模式。 - 点击
Upload开始烧录,进度条走完即成功。
避坑指南:我曾经因为串口线太长(超过 1.5 米)导致烧录失败。换了一根 50cm 的线就好了。另外,波特率如果设太高(比如 1500000),某些 USB 转串口芯片会丢包,降到 921600 最稳。
2.3.2 Hi3516 烧录(多媒体 SoC)
Hi3516 支持网口和串口两种烧录方式。我一般用网口,速度快得多。
| 烧录方式 | 工具 | 速度 | 适用场景 |
|---|---|---|---|
| 串口烧录 | DevEco Device Tool | 慢(约 115200 bps) | 首次烧录、无网络环境 |
| 网口烧录 | HiTool + TFTP | 快(约 100 Mbps) | 日常调试、频繁更新 |
网口烧录步骤:
- 开发板网口连接路由器,电脑也连同一网络。
- 打开 HiTool,选择
HiBurn标签页。 - 配置开发板 IP(例如
192.168.1.100)和服务器 IP(电脑 IP)。 - 选择编译好的
OHOS_Image.bin和rootfs.img,点击烧录。
注意:Hi3516 烧录前必须确保 uboot 已正常工作。如果串口打印停在 Hit any key to stop autoboot,按回车进入 uboot 命令行,输入 setenv serverip 192.168.1.x 设置服务器地址。
2.4 串口调试工具使用
烧录完成后,第一件事就是看串口日志。我常用的工具是 MobaXterm 和 PuTTY,但 DevEco Device Tool 也内置了串口终端。
2.4.1 配置串口参数
无论用哪个工具,参数都一样:
- 波特率:115200(Hi3861 和 Hi3516 默认都是这个值)
- 数据位:8
- 停止位:1
- 校验位:无
- 流控:无
2.4.2 使用 DevEco 内置终端
- 在 VS Code 中按
F1,输入DevEco: Serial Monitor。 - 选择串口号和波特率,点击
Open。 - 开发板复位后,就能看到内核启动日志了。
我的习惯:我会同时开两个终端——一个看串口日志,另一个用 adb shell 进入系统(如果支持)。这样既能看内核打印,又能执行命令,调试效率翻倍。
2.5 环境搭建知识体系
下面这张图总结了整个环境搭建的流程和工具链关系,你对照着走一遍,基本不会漏步骤。
2.6 常见问题与解决
环境搭建过程中,我遇到过不少问题,挑几个典型的说说:
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
hb: command not found |
PATH 未包含 ~/.local/bin |
执行 export PATH=~/.local/bin:$PATH,并写入 ~/.bashrc |
烧录时提示 No such file or directory |
串口权限不足 | sudo usermod -a -G dialout $USER,然后注销重登 |
编译报错 python3: not found |
系统默认 Python 版本不对 | 安装 python-is-python3 包,或创建软链接 |
| Hi3516 网口烧录超时 | 防火墙阻挡 TFTP 端口 | 关闭防火墙,或开放 UDP 69 端口 |
最后提醒一句:环境搭建最忌讳“一步到位”的心态。每完成一个步骤,都验证一下——比如装完 hb 就跑一下 hb --version,烧录完就看看串口有没有打印。这样出了问题能立刻定位,而不是等到最后才发现前面哪步错了。