uboot启动过程之概述

我们上一节已经编译出了uboot,然后会看到生成了一个uboot.lds的文件。看看这个文件


可以看到链接地址是0,从这里更可以知道它只能在nor flash上运行

从哪里开始运行呢,从arch/arm/cpu/armv7下的start.s下面开始运行

我们就需要去分析start.s这个文件

看看他在哪里出错,我们应该修改哪里


一般的uboot做下面几件事

1.初始化硬件:关闭看门狗,设置时钟,设置SDRAM,初始化nand flash

2.如果bootloader比较大,重定位到SDRAM

3.把内核从nand falsh读到sdram

4,设置要传给内核的参数

5.跳转执行内核



先看看start.s这个文件

一上电从0地址开始运行


从reset开始运行

然后reset跳到save_boot_params这里  这里又跳转到save_boot_params_ret这里


屏蔽中断,设置管理模式


绕了一圈之后,我们进入lowlevel_init这个里面


这里我们看看做了什么事情


首先关闭看门狗




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值