使用华为开发者云主机编译hi3861的OpenHarmony代码

目录

引言

领取华为开发者云主机

下载Docker

下载代码

编译代码

​编辑

烧写镜像

结语


引言

这学期又上OpenHarmony的课程了,大多数学生都在Windows环境下成功的安装了环境,但是也有些学生总是不能成功,包括UTF-8问题和其他一些奇奇怪怪的问题。由此想到利用华为开发者云主机现成的Ubuntu环境来编译一下hi3861的OpenHarmony代码,特记录一下基本步骤。

领取华为开发者云主机

目前华为云正在开展免费领取华为开发者云主机的活动,它的优点是已经配置了很多开发工具,所以比直接安装虚拟机来的方便,性能也还行,编译程序肯定没有问题。访问华为云开发者官网_华为云就可以直接领取。

领取后云主机只能在浏览器中使用。简单的教程可以参考:华为云之开发者空间云主机使用体验【玩转华为云】-云社区-华为云

下载Docker

如果从头安装OpenHarmony所需的Linux软件还是比较麻烦的,推荐你使用海思已经封装好的Docker。只要按照以下的指导一步一步输入命令就可以:

1. 安装docker(开发者云主机默认没有docker)

sudo apt install docker.io -y

2. 将当前用户加入docker组中。如果不进行这一步,会导致“permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock”错误。

sudo usermod -aG docker $USER

 然后,退出并重新登录云主机。

3.  添加Docker以加速Docker下载。华为云主机似乎下载默认的Docker文件,如果不加速的话,会出现 docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) 错误。可以通过修改daemon配置文件/etc/docker/daemon.json来加速Docker文件的下载。

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

4. 拉取封装好的Docker镜像到本地

docker pull hispark/hi3861_hdu_iot_application:1.0

4. 新建一个容器命名为openharmony, 映射你的用户目录~到容器内目录/home/hispark, 同时把容器端口22映射为外部端口2222

docker run -itd -p 2222:22 -v ~/code:/home/hispark --name openharmony hispark/hi3861_hdu_iot_application:1.0

5. 进入容器

docker exec -it openharmony /bin/bash

现在你已经有了一个专门用来编译代码的Docker容器环境了. 你每次可以在虚拟机linux中执行命令行docker exec -it openharmony /bin/bash进入这个Docker容器环境。

下载代码

 进入目录拉取代码 通过命令行或ssh进入容器内部环境中, 执行

cd /home/hispark
git clone https://gitee.com/HiSpark/hi3861_hdu_iot_application.git

我们建议你把所有代码工作都保存在/home/hispark这个映射目录中, 这是因为Docker的容器环境是临时性的, 当Docker容器销毁时, 内部所有数据信息都会被删除而且无法恢复, 这就是为什么我们强烈建议你把代码工作保存在映射的用户目录中, 因为这里是你真实的用户存储空间, 不会随Docker容器销毁而消失.

编译代码

 进入src目录, 执行命令hb set,回车两次(hb set会问你编译哪个配置,默认的那个就是对应润和开发板的), 配置OpenHarmony信息

cd hi3861_hdu_iot_application/src
hb set
hb build -f

编译完成后的固件镜像在src/out目录中. 编译后的镜像名为Hi3861_loader_signed.bin和Hi3861_wifiiot_app_burn.bin。

这个目录对应的主机的目录是'/home/developer/code/hi3861_hdu_iot_application/src/out/' 

这个编译速度还是相当不错的。

烧写镜像

不能直接在云主机中烧写镜像,华为没有提供Windows客户端。所以需要先将镜像文件通过华为云的存储空间(有5GB)拷贝出来,再在电脑上使用hiburn进行烧写。比如:

{HiBurn路径} -com:{串口端口号} -bin:Hi3861_wifiiot_app_burn.bin -signalbaud:2000000 -2ms -
loader:Hi3861_loader_signed.bin

结语

使用华为云开发者主机进行OpenHarmony编译还是比较简单的,只是需要一点Linux知识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神一样的老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值