ubuntu|我在鸿蒙的第一个Hello World!


顺利拿到板子 , 开搞 , 第一步当然是环境搭建 。 论坛的大大们早就为我们准备好了详细的攻略 。
ubuntu|我在鸿蒙的第一个Hello World!
本文图片
图片来自 Pexels
笔者并没有一台独立的 Ubuntu 机器 , 于是在 Windows 上安装 VMWare 虚拟机作为编译 HarmonyOS 的 Linux 环境 。
过程有些曲折 , 几次想要放弃 , 想直接伸手拿做好的 Ubuntu 镜像 , 不过坚持到最后还是成功了 。
现在想想虽然花的时间有点多 , 但也非常值得 , 让我对鸿蒙 OS 的结构和编译过程有了一个更加直观的认识 。 下面讲一下过程中踩过的坑 , 希望帮助大家少走弯路 。
笔者的环境是 Ubuntu 16.0 , 运行在 VMWare 14 中 。 物理机是 Windows10 。
01
Linux 的编译环境搭建
直接参考官方文档就好了(传送门):
各个工具的安装版本 , 推荐和文章中一致 , 实在不行高一点也可以 , 如果低了就有可能留下隐患 , 且很难排查 。
其中 SCons 不是很好下载 , 如果网络不好的 , 它的官方网站经常访问不到 。 灵活运用下载工具 , 再拷贝进 Ubuntu 离线安装 。
02
源代码编译
推荐从镜像站点下载压缩文件 , 方便快捷 。 关于源代码放在哪里 , 推荐按照官方说的放在 Ubuntu 中 , 用 Samba 等工具设置成共享目录 , 再从 Windows 访问 , 进行烧录和调试 。
我在一开始把源代码放在了 VMWare 提供的共享目录中 , 以为这样更加方便 , 发现在解压源代码的时候 , 提示了一堆错误 , 大意是无法创建软连接 。
我也没有太在意 , 结果编译时的错误一个接一个 。 后来才了解到 , VMWare 的共享目录分区格式是 FAT32 , 不支持创建软连接操作 。
重新拷贝源码压缩包进 Ubuntu 并解压后 , 成功编译 。 所以说还是老老实实的用 Samba 比较稳妥 。
Ubuntu 共享目录设置(原文章):
输入如下命令:
修改 samba 配置文件
在最后加入如下内容:
保存退出后 , 输入如下命令 , 设置 samba 密码 , 建议 123456 即可:
重启 samba 服务
windows 映射
在文件夹路径输入虚拟机的 IP 地址访问一下试试 , 最后映射成网络驱动器即可 。
03
烧录
官方给的烧录方案是 Hiburn 或者 Jlink 。 如果用 Hiburn 方式可以采用 DevEcoDeviceTool 中的集成功能 。
但笔者在使用 VSCode+DevEcoDeviceTool 时 , 总是提示“因为缺少 serialport 模块 , 无法刷新端口号下拉列表...” , 重新安装 serialport 也不能解决 。
最终在官方大大们的帮助下 , 改为直接用 Hiburn 工具烧录成功 。
ubuntu|我在鸿蒙的第一个Hello World!
本文图片
ubuntu|我在鸿蒙的第一个Hello World!
本文图片
烧录时需要注意一件事情 , 一般的操作流程是 , 设置好参数、串口号、选择烧录文件后 , 先不点 Connect , 勾选 Auto burn 即上电自动烧录 , 再点 Connect , 按一下板子上的 RST 按钮重新上电 , Hiburn 就会进行烧录了 。
这时如果想让板子跑起来 , 需要 Disconnect 一下 , 把 Auto burn 勾掉 , 再 Connect , 按 RST 按钮 , 就会看到串口打印的信息了 。
如下图:
ubuntu|我在鸿蒙的第一个Hello World!
本文图片
图中的 [DEMO] Hello Harmony!就是我在 HelloWorld.c 中打印的内容 。 第一个 Hello World 程序就这样完成了 。