第1~2章 鸿蒙系统介绍 和 编译环境搭建 持续更 精华

连志安
发布于 2020-9-22 17:57
浏览
18收藏

该文章已过时,最新版请参考:

【汇总】OpenHarmony轻量系统开发【0】目录和个人感悟

 

第1章 HarmonyOS介绍

 

1.1 鸿蒙系统与Linux、Android的不同

HarmonyOS是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。

HarmonyOS整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 功能/模块”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块。HarmonyOS技术架构如图所示。

第1~2章 鸿蒙系统介绍 和 编译环境搭建  持续更-鸿蒙开发者社区

 

我们可以看到,鸿蒙系统不单单是一个内核,它还包含了整个操作系统的所有框架,更像是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/ 

 

 

第2章 开发环境搭建

注意:该文章的环境是1.0版本的,已经不适用了,请不要再参考了。

其实3.0开发环境很简单的,大家只需要参考官网自己搭建即可:
https://device.harmonyos.com/cn/docs/start/introduce/quickstart-lite-env-setup-linux-0000001105407498

但是最近还是有同学问我,为啥之前的文章的鸿蒙虚拟机环境不对,那是因为之前的文章是1.0的,去年的,现在鸿蒙都更新到了3.0了,很多东西都不一样了。

这里提供一个我自己用的虚拟机环境,见:

open harmony 3.0 虚拟机开发环境

 

关于开发环境的搭建,可以参考华为官网说明。

https://device.harmonyos.com/cn/docs/start/introduce/oem_quickstart_3861_build-0000001054781998 。

目前鸿蒙系统的开发方式是在Linux系统上面编译源码,Windows系统上编写、烧录。

故而需要搭建两个开发环境。

 

2.1 Linux环境搭建

关于Linux系统的环境搭建,个人建议使用ubuntu 20.04。当然我们也提供了搭建好环境的ubuntu 20.04 镜像,大家可以直接下载,直接编译代码,不需要再按官网的操作再重新搭建环境。

目测个人第一次搭建至少需要几个小时的时间,还可能会出错。

由于百度网盘经常封链接,如果发现链接失效,可以联系我,VX 13510979604

 

腾讯云盘
链接:https://share.weiyun.com/6suCAhNN

 

百度网盘

链接:https://pan.baidu.com/s/163JxuvZux01Fd407_WbK-g 
提取码:bny6 

 

说明:

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

编译结果,可以看到已经编译成功了

第1~2章 鸿蒙系统介绍 和 编译环境搭建  持续更-鸿蒙开发者社区

 

 

2.2 Windows访问ubuntu文件

特别说明,如果是下载的百度网盘的镜像,不需要安装samba 了,已经默认安装好了,只需要看如何映射网络驱动器就行!!!

由于我们后面需要在Windows上直接编辑ubuntu系统里面的鸿蒙源码,故而我们需要使用samba服务,让Windows能访问到ubuntu。

操作如下:

1.设置 apt-get 源

可以更快地下载samba。设置如下

(1)在桌面右上角点击打开菜单,点击setting选项。

第1~2章 鸿蒙系统介绍 和 编译环境搭建  持续更-鸿蒙开发者社区
(2)在设置选项右侧下拉找到“关于”,点击 Software Updates。

第1~2章 鸿蒙系统介绍 和 编译环境搭建  持续更-鸿蒙开发者社区
(3)在软件和更新界面里可以看到“下载自”,我们可以进行修改。

第1~2章 鸿蒙系统介绍 和 编译环境搭建  持续更-鸿蒙开发者社区
(4)推荐选择 mirros.aliyun.com 或者 mirrors.tuna.tsinghua.edu.cn,你也可以点击选择最佳服务器,测

(5)试连接最快的软件源(测试时间较长)。
(6)最后,退出软件与更新界面时,会提示更新软件列表信息,点击重新载入即可。

 

2.安装 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 

 

3.windows映射

在文件夹路径输入虚拟机的IP地址

第1~2章 鸿蒙系统介绍 和 编译环境搭建  持续更-鸿蒙开发者社区

最后映射成网络驱动器即可

第1~2章 鸿蒙系统介绍 和 编译环境搭建  持续更-鸿蒙开发者社区

 

 

2.3 Windows环境搭建

Windows的环境搭建,官网已经有了,这里就不在赘述。

https://device.harmonyos.com/cn/docs/ide/user-guides/tool_install-0000001050164976 

 

2.4 烧录

烧录也可以参考官方文档:

https://device.harmonyos.com/cn/docs/ide/user-guides/hi3861_upload-0000001051668683

 

 

已于2022-2-10 13:26:55修改
15
收藏 18
回复
举报
13条回复
按时间正序
/
按时间倒序
鲜橙加冰
鲜橙加冰

厉害厉害。向连老师学习。

回复
2020-9-22 18:13:13
kekenai
kekenai

精华帖 赞赞赞 又是学习的一天

回复
2020-9-22 18:15:30
超心累
超心累 回复了 kekenai
精华帖 赞赞赞 又是学习的一天

how old r u

回复
2020-9-22 18:36:46
啧啧啧GKD
啧啧啧GKD

太棒了吧  绝了

回复
2020-9-30 11:44:53
mb5f8012018402c
mb5f8012018402c

2.4 烧录 链接打不开了?

回复
2020-10-17 17:16:25
连志安
连志安 回复了 mb5f8012018402c
2.4 烧录 链接打不开了?

应该是官方最近更新了链接,我重新更新了,可以打开了

回复
2020-10-17 17:49:18
nicole088
nicole088

Windows下应该是先安装 VMware虚拟机,再运行 Ubuntu

回复
2020-10-20 10:19:53
沙場點將
沙場點將

> Executing task: hpm run 'upload' <

internal/modules/cjs/loader.js:834
  throw err;
  ^

Error: Cannot find module 'Y:\src\code\%UPLOAD_SCRIPT%'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:831:15)        
    at Function.Module._load (internal/modules/cjs/loader.js:687:27)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
    at internal/main/run_main_module.js:17:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}

这个问题怎么解呢

 

回复
2020-10-20 22:03:32
qq5f8f9464e969c
qq5f8f9464e969c

非常好的帖子,我自己进了一个华为鸿蒙系统的群,挺不错(1002787694)

回复
2020-10-21 09:54:13
时空未宇
时空未宇

连老师,按照您的视频教程我操作到了这一步,但是出现“访问不到头文件”的问题,这种情况该怎么处理呢??

回复
2021-2-17 20:43:48
软通田可辉
软通田可辉

收货满满

回复
2021-2-18 09:00:08
丿丨ㄥ丨丨
丿丨ㄥ丨丨

Linux 如果想运行在云服务器上,有没有什么方法及软件解决?

回复
2021-9-18 20:23:49
wx616d8dee1ba97
wx616d8dee1ba97

连老师,请问标准系统驱动编译配置有什么例子可以参考吗,貌似和小型系统不太一样

回复
2021-11-2 16:10:18
回复
    相关推荐