鸿蒙开发环境介绍和编译环境搭建
大家好,小白初入csdn,分享一些平时使用的经验和心得 , 保证时刻有个良好的学习状态 , 随后持续更新关于hi3861-iot开发板 ,以及鸿蒙操作系统的使用。
Hello everyone, Xiaobai has just joined CSDN, and shared some experience and experience of using it at ordinary times, so as to ensure a good learning state at all times. Then, he continued to update the hi3861 IOT development board and the use of Hongmeng operating system.
(练习忽略)
前言
HarmonyOS 是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体
娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS 提出了基
于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。
⚫ 对消费者而言,HarmonyOS 能够将生活场景中的各类终端进行能力整合,形成一个
“超级虚拟终端”,可以实现不同的终端设备之间的快速连接、能力互助、资源共
享,匹配合适的设备、提供流畅的全场景体验。
⚫ 对应用开发者而言,HarmonyOS 采用了多种分布式技术,使得应用程序的开发实现
与不同终端设备的形态差异无关,降低了开发难度和成本。这能够让开发者聚焦上层
业务逻辑,更加便捷、高效地开发应用。
⚫ 对设备开发者而言,HarmonyOS 采用了组件化的设计方案,可以根据设备的资源能
力和业务特征进行灵活裁剪,满足不同形态的终端设备对于操作系统的要求。。
提示:以上摘自自鸿蒙官方网站,鸿蒙学堂 hmxt.org
一、HarmonyOS介绍
1.1 鸿蒙系统与Linux、Android的不同
HarmonyOS是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。
HarmonyOS整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 功能/模块”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块。HarmonyOS技术架构如图所示。
我们可以看到,鸿蒙系统不单单是一个内核,它还包含了整个操作系统的所有框架,更像是Windows和Android。
而鸿蒙系统的内核支持 Linux和LiteOS。
1.2 LiteOS 内核
LiteOS是一个内核,相比其Linux来说,它更精简,启动时间更快。同时liteOS内核有liteOS-a 和 liteOS-m 。
liteOS-a通常运行支持MMU的芯片上,支持内核/APP空间隔离。
liteOS-m运行在没有MMU的芯片上,也就是MCU,例如我们常见的STM32芯片。所以鸿蒙OS也是支持STM32系列单片机的,但是目前还没有完成移植工作。
1.3 相关资料
鸿蒙官方文档:https://www.harmonyos.com/cn/develop
鸿蒙gitee:https://openharmony.gitee.com/openharmony
鸿蒙OS代码下载:https://device.harmonyos.com/cn/docs/start/get-code/oem_sourcecode_guide-0000001050769927
官方技术社区:https://harmonyos.51cto.com/
二、 开发环境搭建
关于开发环境的搭建,可以参考华为官网说明。
https://device.harmonyos.com/cn/docs/start/introduce/oem_quickstart_3861_build-0000001054781998 。
目前鸿蒙系统的开发方式是在Linux系统上面编译源码,Windows系统上编写、烧录。
故而需要搭建两个开发环境。
1. Linux环境搭建
关于Linux系统的环境搭建,这里使用了连志安老师的Ubuntu 20.04 , 配置和源码都OK , 放一个百度云链接。
链接:https://pan.baidu.com/s/1yqw4InLTXmiGhAdrokgGiw
提取码:2222
连老师的说明:
1、已配置好开发环境,可直接编译代码,编译可以正常运行
2、配置好 sftp ,可远程传输文件
账号:harmony
密码:123456
代码路径:~/harmony/code/code-1.0
相关的环境工具路径(可以不用管了,已经配置好了,直接可以编译):~/harmony/tools
编译命令:
(1)对应开发板: hi3516 IPC开发板
python build.py ipcamera_hi3516dv300
(2)对应开发板: hi3518 IPC开发板
python build.py ipcamera_hi3518ev300
(3)对应开发板: hi3861 智能家居 开发板
python build.py wifiiot
编译结果,可以看到已经编译成功了
2.Windows访问ubuntu文件
2.1由于我们后面需要在Windows上直接编辑ubuntu系统里面的鸿蒙源码,故而我们需要使用samba服务,让Windows能访问到ubuntu。
如果下载太慢 , 可以切换镜像源。
安装 samba
输入如下命令:
sudo apt-get install samba
sudo apt-get install samba-common
修改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
保存退出后,输入如下命令,设置samba密码,建议123456即可
sudo smbpasswd -a harmony
重启samba服务
sudo service smbd restart
2.2 windows映射
在文件夹路径输入虚拟机的IP地址
2.3烧录
官方推荐的是使用VScode , 下载安装DevEco Device Tool插件 , 使用HIBurn烧录 ,
过程比较繁琐 , 虽然小编已经安装成功 , 但是仍然避免不了各种踩坑的风险,常见的坑可以参考
https://blog.csdn.net/llb19900510/article/details/109224389和https://bbs.elecfans.com/jishu_1989366_1_1.html。
这里推荐一种方法 ,方便快捷 ,但是也有缺点详见https://www.cnblogs.com/xusw/p/13787705.html。