【开发板试用报告】HarmonyOS编译踩坑(Windows+VMWare环境)

老船夫
发布于 2020-10-28 14:44
浏览
0收藏

        顺利拿到板子,开搞,第一步当然是环境搭建。论坛的大大们早就为我们准备好了详细的攻略。笔者并没有一台独立的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工具烧录成功。

【开发板试用报告】HarmonyOS编译踩坑(Windows+VMWare环境)-鸿蒙开发者社区【开发板试用报告】HarmonyOS编译踩坑(Windows+VMWare环境)-鸿蒙开发者社区

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

        【开发板试用报告】HarmonyOS编译踩坑(Windows+VMWare环境)-鸿蒙开发者社区

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

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

分类
已于2020-10-29 10:34:11修改
2
收藏
回复
举报
2条回复
按时间正序
/
按时间倒序
锦年半夏
锦年半夏

挖掘到宝藏贴。收藏学习。

回复
2020-11-12 17:47:57
mb5f883c98d3357
mb5f883c98d3357

这样的烧录方式感觉又回到了20世纪

回复
2020-11-24 21:18:18
回复
    相关推荐