韦东山老师B站鸿蒙OS系统移植直播答疑问题锦集 - HarmonyOS技术社区 - 电子技术william hill官网 - 广受欢迎的专业电子william hill官网 - 威廉希尔官方网站
分享 收藏 返回

小伍 关注 私信
[问答]

韦东山老师B站鸿蒙OS系统移植直播答疑问题锦集

鸿蒙支持多种内核,Linux是其中之一,但是鸿蒙绝对不是Linux。

liteos-a是轻量级的操作系统,不是微内核。
所谓微内核,是把各种服务用进程来实现。比如文件系统,在linux和liteos-a里面都是放在内核里面实现的;对于微内核而言就可以用一个应用程序来实现文件系统的功能,这样的话假设应用程序崩溃了也不会影响到整个操作系统。微内核有个好处,就是系统可能更加强壮;但是微内核也有一些缺点,就比如说某个应用程序要去读写文件,我还得给另外一个应用程序发消息,发各种数据,这就导致系统运行慢,效率低。

韦老师是怎么知道拷贝uboot里面的代码?
u-boot就是一个非常复杂的裸机程序,里面肯定会对处理器进行初始化,并初始化各种硬件,所以参考uboot来设置cpu比较好。

liteos-a和Linux内核并不是共存的关系,比如手机上使用Linux,物联网上使用liteos-a,这是在华为的框架构思中这样做的。因为Linux启动比较慢,liteos-a启动时间较快,所以对于物联网设备使用liteos-a比较好。鸿蒙会把韦老师PPT中提到的那一套系统做得既支持liteos-a又支持linux。如果鸿蒙这套系统完全开放,大家会发现鸿蒙与linux和安卓完全不一样。鸿蒙确实是针对物联网的。鸿蒙对比linux的不同点:实际上,所有的内核相对于linux来说支持的外设不是很多。

free RTOS过于简单,和liteos-a完全没有办法比较。Free-RTOS不支持MMU,它只实现了任务调度,内存管理和任务通讯这些简单的功能。

鸿蒙系统里面使用的uboot基本上不用改,因为uboot只不过是为了把鸿蒙的内核读入内存来启动而已,不需要去修改。

liteos-a可以不使用uboot,任何的操作系统都可以在前面加一小段启动代码,把uboot扔掉。我们之所以使用uboot是因为它比较简单,比如我们可以使用uboot的USB下载功能就可以非常方便的调试程序。如果你不想使用uboot的话,完全可以把它扔掉。

怎么判断liteos-a是实时操作系统:老师也没有去判断过,只是咨询了华为内部,华为官方说“是”。

MMU跟实时没有关系。MMU只是为了让APP之间互相隔离,让APP和内核空间隔离。实时性和MMU没有关系。

怎么加启动代码:实际上对于6ull来说,我们之前写了很多裸机程序,只需要在这些程序前面加一个头部就可以了。对于6ull来说,其内部有一个固件,这个固件会根据你烧录的文件的头部把你的程序加载到内存来启动,所以只需要加头部就可以了,不需要添加额外的启动代码。

liteos-a一定要用MMU。它里面也有设备树的概念,不过和linux相比这个概念比较简化,也可以做到设备树同样的功能。

在liteos-a里面并没有明显的总线模型。没有这么分。

GPIO子系统不是输入子系统。它只是为了控制GPIO,比如让某个引脚配置成输出输入而已。输入子系统实际上就是例如触摸屏、按键这类,叫做输入子系统。

Cortex-M不可以使用liteos-a,只能使用liteos-m。后面录播课程将会有lites-a的详细讲解。但是会优先讲Linux

Liteos-a和linux的开发非常类似,只不过linux做的比较完善,结构考虑的比较完美,也导致linux的代码很庞大。

大家不要总是将鸿蒙和linux比较。比如我们的windows,有桌面,有各种应用程序,windows一装到电脑上去,普通人就可以使用了;但是Linux呢?linux只是一个内核,在linux上面还要装各种应用程序,就比如ubuntu,就是在linux内核之上,开发了一套桌面一套应用程序,这才叫ubuntu;鸿蒙支持多种内核,可以认为鸿蒙对标windows,安卓,ubuntu,但是它不是用来对标linux的。

Liteos-a启动快得益于这两点,首先它的各个驱动层次没有搞的那么复杂;第二,它挂载根文件系统时是用一个进程来实现的,所以这样就比较快。可以认为它是使用进程来进行各种初始化,这样可以同步进行。

录制完6ull的课程之后就将鸿蒙移植到STM32MP157上去

汇编不需要掌握很深,掌握一点点就可以了。要做嵌入式操作系统,嵌入式底层开发,汇编还是要懂一点点的。汇编并没有想象中的那么复杂。

用内存模拟flash:把一块内存划出来,然后仿照flash的驱动程序,提供读函数,写函数,擦除函数就可以了。

先学liteos-a还是linux:建议先学linux,如果你已经有了基础,或者对RTOS比较感兴趣的话,那liteos-a可以学一下,因为毕竟liteos-a的产品还没有出来,我们可以先准备着,但是目前恰饭的东西还是linux。

回帖(1)

李郝荫

2020-9-28 17:55:34
老师讲的很棒啊

更多回帖

×
发帖