《鸿蒙智能互联设备开发(微课版)》 课件 5.1.3 LiteOS-A内核态启动流程_第1页
《鸿蒙智能互联设备开发(微课版)》 课件 5.1.3 LiteOS-A内核态启动流程_第2页
《鸿蒙智能互联设备开发(微课版)》 课件 5.1.3 LiteOS-A内核态启动流程_第3页
《鸿蒙智能互联设备开发(微课版)》 课件 5.1.3 LiteOS-A内核态启动流程_第4页
《鸿蒙智能互联设备开发(微课版)》 课件 5.1.3 LiteOS-A内核态启动流程_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

5.1.3LiteOS-A内核态启动流程通过本节学习,您可以:了解LiteOS-A内核态启动流程LiteOS-A内核态启动流程内核启动流程如图所示。LiteOS-A内核态启动流程内核启动流程包含汇编启动阶段和C语言启动阶段两部分。汇编启动阶段完成CPU初始设置,关闭dcache/icache与MMU,使能FPU及neon,设置MMU建立虚实地址映射,设置系统栈,清理bss段,调用C语言main函数等。C语言启动阶段包含OsMain函数及开始调度等。LiteOS-A内核态启动流程OsMain函数用于内核基础初始化和架构、板级初始化等,其整体由内核启动框架主导初始化流程,如图所示。LiteOS-A内核态启动流程①LOS_INIT_LEVEL_EARLIEST:最早期初始化。不依赖架构,单板以及后续模块会对其有依赖的纯软件模块初始,例如:内核Trace模块初始化。②LOS_INIT_LEVEL_ARCH_EARLY:架构早期初始化。与架构相关,后续模块会对其有依赖的模块初始化,如启动过程中非必需的功能,建议放到⑥LOS_INIT_LEVEL_ARCH层。LiteOS-A内核态启动流程③LOS_INIT_LEVEL_PLATFORM_EARLY:平台早期初始化。与单板平台、驱动相关,后续模块会对其有依赖的模块初始化,如启动过程中必需的功能,建议放到⑦LOS_INIT_LEVEL_PLATFORM层。④LOS_INIT_LEVEL_KMOD_PREVM:内存初始化前的内核模块初始化。在内存初始化之前需要使能的模块初始化。LiteOS-A内核态启动流程⑤LOS_INIT_LEVEL_VM_COMPLETE:基础内存就绪后的初始化。此时内存初始化完毕,需要进行使能且不依赖进程间通讯机制与系统进程的模块初始化。⑥LOS_INIT_LEVEL_ARCH:架构后期初始化。与架构拓展功能相关,后续模块会对其有依赖的模块初始化。LiteOS-A内核态启动流程⑦LOS_INIT_LEVEL_PLATFORM:平台后期初始化。单板平台、驱动相关,后续模块会对其有依赖的模块初始化,例如:驱动内核抽象层初始化(mmc、mtd)。⑧LOS_INIT_LEVEL_KMOD_BASIC:内核基础模块初始化。内核可拆卸的基础模块初始化。例如:VFS初始化。LiteOS-A内核态启动流程⑨LOS_INIT_LEVEL_KMOD_EXTENDED:内核扩展模块初始化。内核可拆卸的扩展模块初始化。例如:系统调用初始化、ProcFS初始化、Futex初始化、HiLog初始化、LiteIPC初始化。⑩LOS_INIT_LEVEL_KMOD_TASK:内核任务创建。进行内核任务的创建(内核任务,软

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论