赞
踩
由于HarmonyOS的源码编译需要Linux环境,目前HarmonyOS源码只支持在Linux系统中进行编译,可以将Linux环境下的工程目录映射到Windows环境下,然后使用DevEco Device Tool打开,并在Windows环境下进行烧录和调试。所以需要Linux server + Win workstations + Dev Kit结合使用。
官网传送门:https://code.visualstudio.com/,勾选添加到PATH。
安装成功,可在命令行工具进行软件版本的验证:code --version。
官网传送门:https://nodejs.org/en/download/,根据自己PC的系统下载对应的版本。
安装start…
下载完成后,点击软件包进行安装,勾选图中的选项框,自动安装必要工具(如Python、Visual Studio构建工具链);
显示安装完成之后,点击任意键继续,安装其他依赖的工具;
新增NODE_PATH变量,值为:C:\Users{userName}\AppData\Roaming\npm\node_modules,其中userName请替换为实际的用户名称,验证是否安装成功,打开命令行工具,输入"node -v",能显示出版本号即安装成功。
打开命令行工具,输入java -version命令,检查版本号是否1.8版本。安装JDK不再赘述,版本要求为:1.8版本。
npm install -g @ohos/hpm-cli
查看hpm的版本,检查是否安装成功。
hpm -V
下载离线包,采用磁盘安装的方式,下载DevEco Device Tool安装包传送门:https://device.harmonyos.com/cn/ide
详细的安装方法:https://device.harmonyos.com/cn/ … ection5353233124511(环境准备章节)。
Ubuntu使用的是2020.04 LTS版本,Ubuntu的安装流程就不再赘述了,跟着提示走就行了。
在安装Ubuntu后需要安装VMware Tools, 安装VM Tool之后就可以进行全屏操作,PC主机和虚拟机之间的粘贴、复制等操作了。 出现下述的问题时,先取消安装VM Tool工具,先将网络相关的工具先安装上,再进行安装。
sudo apt-get install net-tools
安装完成,可以全屏了。
换源,将Ubuntu的软件源换成国内的软件源,在下更换的是五道口的源,由于原Ubuntu的软件源,server都是海外的,在软件安装时因网络问题造成的安装失败或者其他错误也遇到过不少,所以换成一个比较稳定的源还是挺重要的。PS:记得在换源之前,将原本的软件源文件进行备份以便不时之需。
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-proposed main restricted universe multiverse
换源之后更新软件列表和升级软件。
sudo apt-get update
sudo apt-get upgrade
将Linux shell改为bash,首先查看shell是否为bash,如果显示为“/bin/sh -> bash”则为正常,否则请按以下方式修改在终端运行如下命令。
选择 no即可。
sudo apt-get install python3.8
若系统已安装python3.8或python3.7以上版本则可跳过此步骤。
获取安装包进行安装
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
使用安装包安装的方式,需要先安装curl。
1)安装dosfstools。
sudo apt-get install dosfstools
2)安装mtools。
sudo apt-get install mtools
3)安装mtd-utils。
sudo apt-get install mtd-utils
可从官网download下来安装,同时可在Ubuntu中借助wget工具下载,本人这里是在使用wget工具进行下载。
wget https://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar
wget https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar
wget https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar
wget https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar
设置环境变量
export PATH=~/gcc_riscv32/bin:$PATH
export PATH=~/ninja:$PATH
export PATH=~/gn:$PATH
export PATH=~/hc-gen:$PATH
export PATH=~/llvm/bin:$PATH
注意:上述文件都是存放在用户的根目录的哦。
设置完成之后,更新环境变量:
source ~/.baashrc
在linux服务器上,进入源码包根目录,目录内存放有build.py编译脚本,执行如下脚本编译源码包。结果文件生成在out/ipcamera_hi3516dv300目录下。
python build.py ipcamera_hi3516dv300 -b debug
编译成功:
配置开发板和PC主机环境。
主机ping通,OK。
1)setenv bootcmd "mmc read 0x0 0x80000000 0x800 0x4800; go 0x80000000";
读取FLASH起始地址为0x800(单位为512B,即1MB),大小为0x4800(单位为512B,即9MB)的内容到0x80000000的内存地址,该大小(9MB)OHOS_Image.bin文件大小必须相同。
2)setenv bootargs "console=ttyAMA0,115200n8 root=emmc fstype=vfat rootaddr=10M rootsize=15M rw";
表示设置启动参数,输出模式为串口输出,波特率为115200,数据位8,rootfs挂载于emmc器件,文件系统类型为vfat,“rootaddr=10M rootsize=15M rw”处对应填入rootfs.img的烧写起始位置与长度,此处与rootfs.img文件时所填大小必须相同。
3)saveenv
保存启动参数。
4)reset
重启。
#include <stdio.h>
#include "los_sample.h"
int main(int argc, char **argv)
{
printf("\n************************************************\n");
printf("\n\t\tHello World!\n");
printf("\n\t\t\t\t From: OHOS\n");
printf("\n************************************************\n\n");
LOS_Sample(g_num);
return 0;
}
以上,来自HarmonyOS的Hello World!达成。
注:来源于电子发烧友论坛
本人主页:https://bbs.elecfans.com/user/2105315/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。