【开发板试用报告】HarmonyOS编译踩坑(Windows+VMWare环境)
顺利拿到板子,开搞,第一步当然是环境搭建。论坛的大大们早就为我们准备好了详细的攻略。笔者并没有一台独立的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工具烧录成功。
烧录时需要注意一件事情,一般的操作流程是,设置好参数、串口号、选择烧录文件后,先不点Connect,勾选Auto burn即上电自动烧录,再点Connect,按一下板子上的RST按钮重新上电,Hiburn就会进行烧录了。这时如果想让板子跑起来,需要Disconnect一下,把Auto burn勾掉,再Connect,按RST按钮,就会看到串口打印的信息了。如下图:
图中的[DEMO] Hello Harmony!就是我在HelloWorld.c中打印的内容。第一个Hello World程序就这样完成了。
HarmonyOS对大家来说都是一个比较新的东西,一步一个脚印才能掌握扎实。这里把过程记录下来,希望对大家有所帮助。
挖掘到宝藏贴。收藏学习。
这样的烧录方式感觉又回到了20世纪