顺利拿到板子,开搞,第一步当然是环境搭建。论坛的大大们早就为我们准备好了详细的攻略。笔者并没有一台独立的Ubuntu机器,于是在Windows上安装VMWare虚拟机作为编译HarmonyOS的Linux环境。过程有些曲折,几次想要放弃,想直接伸手拿做好的Ubuntu镜像,不过坚持到最后还是成功了。现在想想虽然花的时间有点多,但也非常值得,让我对鸿蒙OS的结构和编译过程有了一个更加直观的认识。下面讲一下过程中踩过的坑,希望帮助大家少走弯路。

笔者的环境是Ubuntu 16.0,运行在VMWare 14中。物理机是Windows10。

一. Linux的编译环境搭建

直接参考官方文档就好了(传送门)。各个工具的安装版本,推荐和文章中一致,实在不行高一点也可以,如果低了就有可能留下隐患,且很难排查。其中SCons不是很好下载,如果网络不好的,它的官方网站经常访问不到。灵活运用下载工具,再拷贝进Ubuntu离线安装。

二. 源代码编译

推荐从镜像站点下载压缩文件,方便快捷。关于源代码放在哪里,推荐按照官方说的放在Ubuntu中,用Samba等工具设置成共享目录,再从Windows访问,进行烧录和调试。我在一开始把源代码放在了VMWare提供的共享目录中,以为这样更加方便,发现在解压源代码的时候,提示了一堆错误,大意是无法创建软连接。我也没有太在意,结果编译时的错误一个接一个。后来才了解到,VMWare的共享目录分区格式是FAT32,不支持创建软连接操作。重新拷贝源码压缩包进Ubuntu并解压后,成功编译。所以说还是老老实实的用Samba比较稳妥。

Ubuntu共享目录设置(原文章):1.输入如下命令:

sudo apt-get install samba

sudo apt-get install samba-common

2.修改samba配置文件

sudo vim /etc/samba/smb.conf

在最后加入如下内容:

[work]

comment = samba home directory

path = /home/harmony/

public = yes

browseable = yes

public = yes

writeable = yes

read only = no

valid users = harmony

create mask = 0777

directory mask = 0777

#force user = nobody

#force group = nogroup

available = yes

3.保存退出后,输入如下命令,设置samba密码,建议123456即可

sudo smbpasswd -a harmony

4.重启samba服务

sudo service smbd restart

5.windows映射

在文件夹路径输入虚拟机的IP地址访问一下试试,最后映射成网络驱动器即可。

三. 烧录

官方给的烧录方案是Hiburn或者Jlink。如果用Hiburn方式可以采用DevEcoDeviceTool中的集成功能,但笔者在使用VSCode+DevEcoDeviceTool时,总是提示“因为缺少serialport模块,无法刷新端口号下拉列表...”,重新安装serialport也不能解决。最终在官方大大们的帮助下,改为直接用Hiburn工具烧录成功。

2a56998d91ce8c48d7f811c877af593f.png

7d2176c8a84a8c897858d743d31b6a6f.png

烧录时需要注意一件事情,一般的操作流程是,设置好参数、串口号、选择烧录文件后,先不点Connect,勾选Auto burn即上电自动烧录,再点Connect,按一下板子上的RST按钮重新上电,Hiburn就会进行烧录了。这时如果想让板子跑起来,需要Disconnect一下,把Auto burn勾掉,再Connect,按RST按钮,就会看到串口打印的信息了。如下图:

d46110acf09c1dc91ccd328e67efb9b6.png

图中的[DEMO] Hello Harmony!就是我在HelloWorld.c中打印的内容。第一个Hello World程序就这样完成了。

HarmonyOS对大家来说都是一个比较新的东西,一步一个脚印才能掌握扎实。这里把过程记录下来,希望对大家有所帮助。

作者:老船夫

想了解更多内容,请访问:

51CTO和华为官方战略合作共建的鸿蒙技术社区

https://harmonyos.51cto.com?jssq

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐