U-BOOT
ufo714
这个作者很懒,什么都没留下…
展开
-
uboot源码分析(1)
1.U-Boot系统加载器 U-Boot是一个规模庞大的开源Bootloader软件,最初是由denx(www.denx.de)发起。U-Boot的前身是PPCBoot,目前是SourceForge(www.sourceforge.net)的一个项目。 最初的U-Boot仅支持PowerPC架构的系统,称做PPCBoot。从0.3.2官方版本之后开始逐步支持多种架构的处理器,目前可以支持 Po转载 2013-04-28 14:13:03 · 776 阅读 · 0 评论 -
uboot源码分析(3)
正式开始了第二阶段: relocate部分的代码负责把U-Boot Stage2的代码从Flash存储器加载到内存,代码如下: 163 #ifndef CONFIG_SKIP_RELOCATE_UBOOT 164 relocate: 165 adr r0, _start转载 2013-04-28 14:15:34 · 743 阅读 · 0 评论 -
uboot源码分析(2)
取出CPSR寄存器的值,CPSR寄存器保存当前系统状态, 使用比特清除命令清空了CPSR寄存器的中断控制位,表示清除中断。 设置了CPSR寄存器的处理器模式位为管理模式,然后在第117行写入 CPSR的值强制切换处理器为超级保护模式。 定义看门狗控制器有关的变量, 根据平台设置看门狗定时器。 设置时钟分频寄存器的值。 需要根据CONFIG_SKIP_LOWLEVEL_INIT宏的值是否转载 2013-04-28 14:14:34 · 646 阅读 · 0 评论 -
uboot源码分析(4)
main_loop()函数 main_loop()函数做的都是与具体平台无关的工作,主要包括初始化启动次数限制机制、设置软件版本号、打印启动信息、解析命令等。 (1)设置启动次数有关参数。在进入main_loop()函数后,首先是根据配置加载已经保留的启动次数,并且根据配置判断是否超过启动次数。代码如下: 295 void main_loop (void) 296 { 297 #i转载 2013-04-28 14:16:57 · 696 阅读 · 0 评论