鸿蒙移植i.mx6ull(一) 鸿蒙介绍、资料下载

简介: 鸿蒙移植i.mx6ull(一) 鸿蒙介绍、资料下载

1.鸿蒙介绍


1.1 鸿蒙不是Linux,也不是安卓


很多人会混淆鸿蒙跟Linux的关系。

先举个例子,大家很熟悉的Windows里面含有内核,也含有UI系统,含有桌面程序,普通人可以直接使用Windows。但是Linux仅仅是一个内核(它提供进程管理、文件系统等概念),必须在Linux之上安装各种APP,普通人才可以使用。基于Linux内核制作出来的完整系统有Ubuntu、debian等等,普通人可以直接使用这些完整系统。

所以鸿蒙要对标的是Windows、安卓、IOS这类完整系统,而Linux只是鸿蒙支持的内核之一。鸿蒙支持多种内核,有Linux,也有Liteos-a。

鸿蒙的体系很庞大,看下图,内核只是其中之一:

1670997481351.jpg


1.2 Liteos-a是什么


Liteos-a是一个内核(也常常被叫做操作系统,反正大家都把操作系统、内核混着说)。常见的内核有freeFTOS、rt-thread、UCOS,这些都属于实时操作系统(RTOS),Linux不是实时操作系统。

有了那么多操作系统,为什么还要开发Liteos-a呢?

大多数的RTOS都是运行于MCU(单片机上),不支持MMU(内存管理单元),内核空间和APP空间不能隔离开,APP出错后整个系统就会崩溃;也不支持POSIX接口,这使得大量的开源软件无法直接在MCU上运行。

Linux的强大在于它支持的硬件非常多,但是它过于庞大,启动慢、耗电,这些缺点导致它不适合用在物联网领域。比如倒车摄像头,没人能忍受2秒钟后才看见图像:即使你能忍受,也很难把Linux优化到2秒内启动。

Liteos-a为物联网而生,支持MMU,支持内核/APP空间隔离、支持各个APP空间隔离,系统更健壮;支持POSIX接口,大量开源软件可以在Liteos-a上直接使用;启动快,省电。

Liteos-a是一个轻量级的内核,设计精巧。它要成功,就必须持更多芯片、更多外设,这也是我们把Liteos-a移植到非海思芯片,并录制教程的原因。

除了Liteos-a,还有一个Liteos-m,后者运行在没有MMU的芯片上,也就是运行在MCU上。


1.3 鸿蒙的开发环境


1.3.1 鸿蒙的IDE


鸿蒙的IDE分为南向IDE、北向IDE。上北下南,北向只APP,南向指内核。

南向IDE的下载地址:https://device.harmonyos.com/cn/ide 它的功能将会很强大,但是目前状况为:


可以在Windows/Linux下阅读源码


但是编译的话,只能在Linux下使用命令行来编译


可以使用Jlink来调试,目前只支持在Windows下调试


这个IDE已经支持IMX6ULL的调试了,后面需要的话我会介绍调试功能。


1.3.2 我们的开发环境

1670997546869.jpg


2.资料下载


先去https://gitforwindows.org/下载Windows版本的git工具。


安装、启动Git Bash。


然后执行命令:

git clone  https://e.coding.net/weidongshan/openharmony/doc_and_source_for_openharmony.git`

1670997558693.jpg


如果只是使用GIT来下载代码,看后面的示例就可以了。如果要深入学习GIT,用GIT来管理你的代码、协同开发,这有一个图形化介绍GIT的网站:https://learngitbranching.js.org/?demo=&locale=zh_CN


下载源码以后,文档结构如下:

1670997574760.jpg

如果在你“克隆”之后,我们又更新了源码,你可以先进入该目录,然后更新。 启动git bash后,使用cd命令可以切换目录。假设要进入D:\abc\ doc_and_source_for_openharmony目录,可以执行以下命令:

$ cd  /D
$ cd abc
$ cd doc_and_source_for_openharmony


也可以执行一个命令直接进入该目录,注意目录分隔符是“/”而非“\”。

$ cd  /D/abc/doc_and_source_for_openharmony


在doc_and_source_for_openharmony目录下,执行以下命令获得最新版本。

$ git pull origin


下图是在Windows上使用git下载、查看、更新源码的操作步骤。

注意:建议下载源码后,复制到其他目录去修改;否则以后更新时可能会和你的本地修改产生冲突。


1. 第1天,下载源码


假设你要把源码下载到D盘abc目录,如下图操作:

1670997603078.jpg


2. 第2天,查看无更新

1670997611108.jpg

3. 第3天,查看有更新


1670997620568.jpg

注意:不执行“git remote show origin”查看状态,而是直接执行“git pull origin”也是可以的,后面这个命令会自动检查,有更新它就会下载更新部分,没有更新也会提示你,如下图:

1670997635120.jpg

3.鸿蒙体验


将鸿蒙烧写进入板子以后,用串口打开板子:


1670997645887.jpg

相关文章
|
Linux 芯片
鸿蒙移植i.mx6ull(十) 系统时钟
鸿蒙移植i.mx6ull(十) 系统时钟
303 0
鸿蒙移植i.mx6ull(十) 系统时钟
|
13天前
|
缓存 前端开发 API
鸿蒙应用开发:下载功能
鸿蒙应用开发:下载功能
34 1
|
Shell Python
鸿蒙移植i.mx6ull(十二) 根文件系统
鸿蒙移植i.mx6ull(十二) 根文件系统
200 0
鸿蒙移植i.mx6ull(十二) 根文件系统
|
存储 Linux 内存技术
鸿蒙移植i.mx6ull(十一) 存储设备驱动程序(基于IMX6ULL)
鸿蒙移植i.mx6ull(十一) 存储设备驱动程序(基于IMX6ULL)
320 0
鸿蒙移植i.mx6ull(十一) 存储设备驱动程序(基于IMX6ULL)
|
Shell
鸿蒙移植i.mx6ull(九) 串口移植(基于IMX6ULL)
鸿蒙移植i.mx6ull(九) 串口移植(基于IMX6ULL)
468 0
鸿蒙移植i.mx6ull(九) 串口移植(基于IMX6ULL)
|
C语言
鸿蒙移植i.mx6ull(八) 添加一个单板(下)
鸿蒙移植i.mx6ull(八) 添加一个单板
133 0
鸿蒙移植i.mx6ull(八) 添加一个单板(下)
|
芯片
鸿蒙移植i.mx6ull(八) 添加一个单板(上)
鸿蒙移植i.mx6ull(八) 添加一个单板
306 0
鸿蒙移植i.mx6ull(八) 添加一个单板(上)
|
物联网
鸿蒙移植i.mx6ull (七) Liteos-a的编译系统(下)
鸿蒙移植i.mx6ull (七) Liteos-a的编译系统
332 0
鸿蒙移植i.mx6ull (七) Liteos-a的编译系统(下)
|
物联网
鸿蒙移植i.mx6ull (七) Liteos-a的编译系统(上)
鸿蒙移植i.mx6ull (七) Liteos-a的编译系统
288 0
鸿蒙移植i.mx6ull (七) Liteos-a的编译系统(上)
|
IDE Linux 编译器
鸿蒙移植i.mx6ull(六) Kconfig_GCC_Mkefile(下)
鸿蒙移植i.mx6ull(六) Kconfig_GCC_Mkefile
196 0
鸿蒙移植i.mx6ull(六) Kconfig_GCC_Mkefile(下)