如何移植鸿蒙内核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 从“水之道”感悟“国之交” 7904434
- 2 台当局被曝和日本出现军事勾连迹象 7808856
- 3 1818名明星网红等人查补税款15.23亿 7713194
- 4 全国冰雪季玩法大盘点 7616433
- 5 郎平置换了膝盖颈椎和髋关节 7522041
- 6 周星驰《鹿鼎记》重映首日票房仅18万 7426371
- 7 净网:网民造谣汽车造成8杀被查处 7333928
- 8 政治局召开会议 分析明年经济工作 7236203
- 9 退学北大考上清华小伙被欠家教费 7140521
- 10 流感自救抓住“黄金48小时” 7042901







51CTO技术栈
