学习笔记之uboot启动

简单记录一下uboot的启动流程,认识不深,以后逐渐添加细节并修改。
uboot的大体启动流程
首先板子在上电之后,CPU会从nandflash或者norflash读汇编指令,这段儿汇编代码主要功能是初始化最基本的硬件和自搬移到内存,硬件包括时钟、串口、内存等基本硬件,同时为考虑,会关闭中断、看门狗、mmu等,关掉中断,避免中断打断带来的保存返回的问题。 关掉MMU,因为u-boot软件是硬件实地址访问,根本没有用到内存地址映射。 看门狗如果没关,硬件上默认到时会复位的。 所以要关掉。

执行完这些会跳到c语言部分,之所以要分为汇编和c,因为c如果要执行需要提前准备栈,且特殊功能寄存器需要切换SVC模式,C不能做到。C语言主要是做初始化大部分硬件,搬移内核到内存同时运行内核,

U-BOOT搬移到RAM中运行的原因是:
在RAM中速度更快,但因掉电就没了,所以要保存在Nandflash或Norflash中。 如果搬移,直接在Norflash上运行也是可以的。Nandflash因是按块操作的,不太合适直接运行。

内核调试:
arm-none-linux-gnueabi-addr2line pc地址 -e vmlinux -f 可在 在源码中显示具体出错的位置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值