电子产业一站式赋能平台

PCB联盟网

搜索
查看: 840|回复: 0
收起左侧

HarmonyOS编译踩坑(Windows+VMWare环境)

[复制链接]

2607

主题

2607

帖子

7472

积分

高级会员

Rank: 5Rank: 5

积分
7472
发表于 2020-12-16 15:56:26 | 显示全部楼层 |阅读模式
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对大家来说都是一个比较新的东西,一步一个脚印才能掌握扎实。这里把过程记录下来,希望对大家有所帮助。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表