mtk-系统启动流程

1.启动流程一览,图片中不考虑ATF(arm trust firmware),加上ATF,则preloader和LK之间插上个ATF

2.启动流程分析

1.上电后启动ROM中的代码
  • 从reset vector开始启动
  • 初始化stack空间
  • 找到并初始化启动设备(sd/nand/emmc)
  • 加载preloader到SRAM中,并跳转到preloader中执行代码
2.preloader执行
  • 创建c运行环境
  • 必要的硬件初始化
  • 加载ATF(安全相关)
  • 加载并跳转到lk执行
3.lk执行
  • 获取preloader中传递的参数
  • 使能mmu
  • 初始化必要的硬件设备
  • 设置启动模式
  • 加载并跳转到kernel执行
4.kernel执行
  • 函数执行入口stext
  • start kernel
  • boot param
  • kthread
  • kernel_init
  • init.rc

 

 

posted @ 2018-05-25 11:30  sh驱动小蚂蚁  阅读(1637)  评论(0编辑  收藏  举报