如何移植鸿蒙内核Liteos-a?一小时上手
01
鸿蒙不是 Linux,也不是安卓
很多人会混淆鸿蒙跟 Linux 的关系。
先举个例子,大家很熟悉的 Windows 里面含有内核,也含有 UI 系统,含有桌面程序,普通人可以直接使用 Windows。
但是 Linux 仅仅是一个内核(它提供进程管理、文件系统等概念),必须在 Linux 之上安装各种 APP,普通人才可以使用。
基于 Linux 内核制作出来的完整系统有 Ubuntu、debian 等等,普通人可以直接使用这些完整系统。
所以鸿蒙要对标的是 Windows、安卓、iOS 这类完整系统,而 Linux 只是鸿蒙支持的内核之一。鸿蒙支持多种内核,有 Linux,也有 Liteos-a。
鸿蒙的体系很庞大,看下图,内核只是其中之一:
02
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-a 移植到了 NXP 的 IMX6ULL、全志的 V3S。
现在我想把移植过程展示给学员,让更多的人掌握移植方法,能移植到更多芯片上去。
我是 51CTO 学院的特级讲师韦东山,拥有 12 年 Linux 培训经验,也是华为认证的鸿蒙课程先行者。
擅长 ARM 系列方面的硬件原理图设计,精通 ARM、MIPS、Blackfin 等架构处理器的 Linux 底层系统开发。
10 月 14日 晚8:00我将做一场免费直播,主题是《在STM32MP157上移植鸿蒙内核Liteos-a》,根据 Liteos-a 启动流程,分析涉及的硬件操作,修改代码适配 STM32MP157。
关注公众号:拾黑(shiheibook)了解更多 [广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

随时掌握互联网精彩
- 1 跑好历史的接力棒 7904303
- 2 游船事故最后1名失联人员被找到 7809173
- 3 护士发论文称男性确诊子宫肌瘤 7713460
- 4 他们是中国“00后” 7618911
- 5 泰山两游客翻护栏差点坠崖 场面惊险 7521817
- 6 五一山姆超市堪比旅游景点 7424004
- 7 网警|藏蓝青春 “键”指河山 7333627
- 8 特朗普扬言不排除“武力夺岛” 7234054
- 9 霍建华林心如带女儿逛街 7141475
- 10 感受中国 爱上中国 7040284