首页 > 系统服务 > 详细

Uboot 和 Linux启动流程

时间:2014-04-08 07:50:15      阅读:554      评论:0      收藏:0      [点我收藏+]

Uboot启动流程

第一阶段:关闭看门狗,设置系统时钟,初始化RAM,复制第二阶段的代码到内存中,设置好栈,跳转到第二阶段的C语言入口点。

第二阶段:检测内存映射,将内核映像和要传给内核的参数从flash复制到内存中,,设置处理器为SVC模式,关闭MMU、缓存,调用theKernel函数,传入机器号和参数列表地址作为参数,跳转到内核在内存的地址,从而启动内核。


Linux内核启动

架构和开发板相关(汇编代码):

1.检测是否支持该架构,__lookup_processor_type,检测是否支持该机器。

2.建立一级页表,__creat_page_table

3.关闭Cache,使能Mmu。

4.复制数据段、清除BSS段、设置栈、保存机器ID到全局变量。

4.start_kernel

后续通用过程:

setup_arch,初始化CPU子系统,之后让内存和进程管理系统就位,解析uboot传给内核的参数,接下来启动外部总线和外部设备,最后一步是激活用户空间的Init进程,Init进程执行必要的服务和用户空间的脚本,根据配置文件,决定启动哪些程序,如shell、桌面。



Uboot 和 Linux启动流程,布布扣,bubuko.com

Uboot 和 Linux启动流程

原文:http://blog.csdn.net/luopingfeng/article/details/23125113

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!