电子说
很多人会混淆鸿蒙跟Linux的关系。
先举个例子,大家很熟悉的Windows里面含有内核,也含有UI系统,含有桌面程序,普通人可以直接使用Windows。
但是Linux仅仅是一个内核(它提供进程管理、文件系统等概念),必须在Linux之上安装各种APP,普通人才可以使用。基于Linux内核制作出来的完整系统有Ubuntu、debian等等,普通人可以直接使用这些完整系统。
所以鸿蒙要对标的是Windows、安卓、IOS这类完整系统,而Linux只是鸿蒙支持的内核之一。鸿蒙支持多种内核,有Linux,也有Liteos-a。
鸿蒙的体系很庞大,看下图,内核只是其中之一:
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上……
Liteos-a目录结构
我们以Cortex-A系列处理器内核为例:kernel_liteos_a,可以知道总共有12个目录,4个文件,具体目录和文件作用,如下所示:
目录的作用:
文件的作用:
原文标题:鸿蒙实战课堂 | 韦老师手把手教你Liteos-a内核移植全流程
文章出处:【微信公众号:电子发烧友网】欢迎添加关注!文章转载请注明出处。
全部0条评论
快来发表一下你的评论吧 !