Ubuntu 20.04 下VSCode编译并烧录openHarmony源码(Neptune w800开发版) |
您所在的位置:网站首页 › 鸿蒙就是linux › Ubuntu 20.04 下VSCode编译并烧录openHarmony源码(Neptune w800开发版) |
昨天写过一篇文章,是在命令行编译,使用命令行串口工具minicom烧录的。有点小麻烦。 推荐大家先试用上述方法试一试,里面要安装的依赖也在文章里面。文章链接 鸿蒙Dev Device Tool本身就是VSCode的一个扩展,在VSCode中试用图形界面一站式开发更加快捷。 鸿蒙开发学习我建议直接上Ubuntu+VScode,不用切换系统搞来搞去的。 本文将介绍在Ubuntu+VScode环境下鸿蒙源码编译与烧录的全过程。(这里用的是在gitee拉取的工程,本文先不讲工程各个目录、文件的作用,先走一遍完整过程) 鸿蒙开发者社区:https://device.harmonyos.com/cn/community/,遇到问题除了百度、csdn搜索,还可以在这里搜索,很多开发者都会遇到类似的问题。 目录 1.获取源码2.搭建开发环境2.1 DevEco Device Tool 安装2.1.1 将Ubuntu Shell环境修改为bash2.1.2 下载DevEco Device Tool 3.0 Release Linux版本。 2.2 导入工程2.3 工程配置(重点)2.3.1工具链构建2.3.2 编译器下载与配置2.3.3 w800执行配置 3.编译与下载3.1 Build3.2 Upload3.3 Monitor 1.获取源码我的开发板是Neptune w800,是HiHope公司(润和软件)的,直接去他们gitee的仓库拉取代码。 地址: https://gitee.com/hihopeorg_group/neptune-harmony-os1.1-iot下载后解压放到合适位置就先不用管了: 这里是在vscode中使用DevEco Device Tool ,工具链(gn、hc-gen、ninja)都会在下载DevEco Device Tool 的时候一并下载好,位置在: /home/jaychou/.deveco-device-tool 后面在工程配置的时候还会说到。 如果你在命令行编译就要参考我上一篇文章进行环境配置了。 除此之外:VSCode和Python3.8是必需的,python3.8在ubunut20.04中本来就有,vscode下载安装就行了。 2.1 DevEco Device Tool 安装 2.1.1 将Ubuntu Shell环境修改为bash 执行如下命令,确认输出结果为bash。如果输出结果不是bash,请根据步骤2,将Ubuntu shell修改为bash。 ls -l /bin/sh jaychou@jaychou-TM1705:~$ ls -l /bin/sh lrwxrwxrwx 1 root root 4 4月 8 15:56 /bin/sh -> bash 打开终端工具,执行如下命令,输入密码,然后选择No,将Ubuntu shell由dash修改为bash。 sudo dpkg-reconfigure dash 2.1.2 下载DevEco Device Tool 3.0 Release Linux版本。地址:DevEco Device Tool 3.0 Release Linux 解压: unzip devicetool-linux-tool-3.0.0.400.zip 赋予可操作权限: chmod 777 devicetool-linux-tool-3.0.0.400.sh 安装: sudo ./devicetool-linux-tool-3.0.0.400.sh -- --install-plugins安装成功,界面输出“Deveco Device Tool successfully installed.”。 打开vscode查看:![]() ![]() ![]() ![]() ![]() ![]() ![]() 如图,在VSCode左侧菜单栏点击DevEco——Quick Access——主界面——工程设置,出现下面的配置界面。 工具链存放路径是默认设置好的,在那个目录下存放着如下工具:
OpenHarmony版本选1.x,根据实际选择即可。 产品是wifiiot的,这些一般都不需要多余配置。 接下来是构建OpenHarmony的工具链,点击详情,可以看到鸿蒙需要的各种包如下,类型也不尽相同,有deb、pip等等,如果安装好了,就像下面一样status显示valid,否则是红色的invalid。
Python安装 scons、pycryptodome等各种库很慢、安装失败 2.3.2 编译器下载与配置再往下,就是编译器的路径配置了。Neptune w800使用的是国产指令集c-sky(可自行百度),不同于一般arm芯片的RISC精简指令集。所以需要下载对应的编译器。 编译器资源在平头哥的网站:https://occ.t-head.cn/community/download,进去选择 工具 - 工具链-800 Series 中相应的版本。 名称:csky-elfabiv2-tools-x86_64-minilibc-xxxxx.tar.gz 下载完成后将工具包拷贝到相应的目录下,我的是:~/HarmonyOS_Tool(我试用命令行编译方式的时候工具的存放目录) 解压:(注意你的压缩包名字) tar xzvf csky-elfabiv2-tools-x86_64-minilibc-20210423.tar.gz在~/.bashrc文件添加环境变量(根据你的路径来): sudo gedit ~/.bashrc export PATH=~/HarmonyOS_Tool/csky-elfabiv2-tools-x86_64-minilibc-20210423/bin:$PATH刷新环境变量: source ~/.bashrc回到vscode中选择相同的目录: 上面都是toolchain下面的配置,接着对w800选项进行配置。需要设置的有: build_type:默认为debug upload_partitions:选择待烧录的文件名称。 upload_port:选择烧录的串口(下面马上讲)。 upload_protocol:选择烧录协议,固定选择“xmodem”。
如图。 clean:清除之前编译的内容。 build:编译(只编译项目更改的内容,相对更快一点)。 rebuild:重新编译。 upload:烧录。 monitor:和串口助手这类工具类似,可以实时监视串口输出。 下面按步骤进行说明。 在各种环境配置好之后,点击Build,可能会出现以下报错: 下载llvm安装包: sudo wget https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-36191/linux/llvm-linux-9.0.0-36191.tar解压,我是复制到前面说过的/HarmonyOS_ToolHarmonyOS_Tool文件夹下面才解压的: sudo tar -xvf llvm-linux-9.0.0-36191.tar同样的,在环境变量中添加路径: export PATH=~/HarmonyOS_Tool/llvm/bin:$PATH再刷新环境变量就可以了。 再次编译: 编译完成之后,插上开发版,点击Upload,可能会出现下面报错: 来到linux,最敏感的一个东西就是文件的权限了:读、写、执行。 来我给/dev/ttyUSB0权限不就OK了?直接最高权限(滑稽) sudo chmod 777 /dev/ttyUSB0再次烧录,确实OK了。但下一次烧写就有不行了,我不能每一次都赋予一遍权限吧。 我直接给USB to TTL设备权限:通过增加udev规则来实现,步骤如下: sudo gedit /etc/udev/rules.d/70-ttyusb.rules在文件内增加一行 KERNEL=="ttyUSB[0-9]*", MODE="0666"重新插入,直接一劳永逸。 成功烧录:(按照提示按一下板子上的reset) 点击Monitor,重启设备,看到输出: |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |