文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Uboot 分析与 Linux启动 [mips smp]

Uboot 分析与 Linux启动 [mips smp]

时间:2010-12-23  来源:tuibo


1,uboot分为两个阶段, 1.1阶段1代码在rom上运行,栈在cache,可以运行c语言代码,但是全局和静态变量不能被赋值。
1.2阶段2代码在ram上运行,可以完全运行c语言
1.3从rom搬运到ram所有全局变量,函数的地址都发生了改变,当然栈里面的变量是不用考虑这个地址问题的,都是临时的相对地址。为了解决这个问题,uboot链接的时候使用了GOT全局偏移地址表,即全局变量地址,静态变量地址,函数地址组成的。 搬运后,表里的每一项都统一加减搬运地址的差值就可以啦。代码中对这些变量,函数的访问都是通过 gp + GOT offset 来实现的。

多核启动时候,首先是主核启动,其他核等待主核初始化。主核初始化差不多了,已经把linux内核的起始地址给每个核填充好了,通过写寄存器,唤醒从核们reset。

进入linux后,仍然是主核做初始化,start_kernel。 初始化完毕后,逐个唤醒处于忙等中的从核。linux看到的主核是uboot传给linux的参数标识出来的。
 
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载