2. 开发环境搭建:DevEco Device Tool安装、源码获取与编译环境配置、Hi3861/Hi3516开发板烧录、串口调试工具使用

说实话,很多初学者在鸿蒙南向开发上栽跟头,不是栽在代码逻辑上,而是栽在环境搭建上。我见过太多人花了两三天装环境,结果一个编译错误就卡住了。这一章,我就带你一步步把开发环境捋顺。

本章核心目标:完成从工具安装到串口调试的全链路打通。说白了,就是让你的电脑能写代码、能编译、能烧录、能看日志。

2.1 DevEco Device Tool 安装

DevEco Device Tool 是华为官方提供的集成开发环境插件,基于 VS Code。我个人习惯直接用它管理源码、编译和烧录,比命令行省心不少。

2.1.1 安装步骤

  1. 安装 VS Code:从官网下载最新版,安装时勾选“添加到 PATH”。
  2. 安装 DevEco Device Tool 插件:在 VS Code 扩展市场搜索 DevEco Device Tool,点击安装。
  3. 配置 Python 环境:要求 Python 3.8~3.11,我建议用 3.9,兼容性最好。
  4. 安装 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 编译工具。配置步骤如下:

  1. 安装编译依赖:sudo apt-get install python3-pip curl git gcc-arm-none-eabi
  2. 安装 hb 工具:pip3 install --user ohos-build
  3. 设置环境变量:在 ~/.bashrc 中添加 export PATH=~/.local/bin:$PATH
  4. 验证安装:运行 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 自带的烧录功能。流程如下:

  1. 用 USB 转串口线连接开发板(TX→RX, RX→TX, GND→GND)。
  2. 在 VS Code 中打开源码目录,按 F1 输入 DevEco: Build 编译。
  3. 编译完成后,按 F1 输入 DevEco: Upload,选择串口和波特率(默认 921600)。
  4. 按住开发板上的 BOOT 键,再按 RESET 键进入烧录模式。
  5. 点击 Upload 开始烧录,进度条走完即成功。

避坑指南:我曾经因为串口线太长(超过 1.5 米)导致烧录失败。换了一根 50cm 的线就好了。另外,波特率如果设太高(比如 1500000),某些 USB 转串口芯片会丢包,降到 921600 最稳。

2.3.2 Hi3516 烧录(多媒体 SoC)

Hi3516 支持网口和串口两种烧录方式。我一般用网口,速度快得多。

烧录方式 工具 速度 适用场景
串口烧录 DevEco Device Tool 慢(约 115200 bps) 首次烧录、无网络环境
网口烧录 HiTool + TFTP 快(约 100 Mbps) 日常调试、频繁更新

网口烧录步骤:

  1. 开发板网口连接路由器,电脑也连同一网络。
  2. 打开 HiTool,选择 HiBurn 标签页。
  3. 配置开发板 IP(例如 192.168.1.100)和服务器 IP(电脑 IP)。
  4. 选择编译好的 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 内置终端

  1. 在 VS Code 中按 F1,输入 DevEco: Serial Monitor。
  2. 选择串口号和波特率,点击 Open。
  3. 开发板复位后,就能看到内核启动日志了。

我的习惯:我会同时开两个终端——一个看串口日志,另一个用 adb shell 进入系统(如果支持)。这样既能看内核打印,又能执行命令,调试效率翻倍。

2.5 环境搭建知识体系

下面这张图总结了整个环境搭建的流程和工具链关系,你对照着走一遍,基本不会漏步骤。

开发环境搭建流程 开发环境搭建知识体系 DevEco Device Tool Python 3.9 + Node.js hb 编译工具 repo init + repo sync 获取 OpenHarmony 源码 hb set → hb build 编译目标(Hi3861 / Hi3516) Hi3861:串口烧录 Hi3516:网口烧录 串口调试(MobaXterm / DevEco Serial Monitor) 关键路径

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,烧录完就看看串口有没有打印。这样出了问题能立刻定位,而不是等到最后才发现前面哪步错了。