f1c100s入坑笔记(3)-从uboot开始

     其实我所希望的是:拿到一颗arm芯片,能从原理图的设计开始,自己打样板,自己创建启动文件,然后加载自己定制的linux系统…… 好吧,想的有点远,arm的学习还得一步一步来。

1. 初识uboot

  • uboot作用
          uboot属于bootloader的一种,用来引导和启动内核的,其目的是从flash中读出内核放到内存中,启动内核
  • uboot是怎样引导启动内核的
          uboot刚开始被放入flash中,cpu上电后,先拷贝一部分代码到内存中,然后这部分代码负责把其余代码拷贝到内存中,然后再把kernel代码拷贝到内存中并启动。内核启动后,挂着根文件系统,执行应用程序
  • uboot的启动过程
          uboot启动主要分两个阶段,主要在start.s文件中。
          第一阶段:
              主要做的是硬件的初始化。包括,设置处理器模式为SVC模式,关闭看门狗,屏蔽中断,初始化sdram,设置栈、时钟,从flash拷贝代码到内存,清除bss段等(bss段是存储静态变量及全局变量的),然后程序跳转到start_arm_boot函数。
         第二阶段:
              主要是从flash中读出并启动内核。
              从start_arm_boot开始, 其的主要流程为,设置机器id,初始化flash,然后进入main_loop,等待uboot命令,uboot要启动内核,主要经过两个函数,第一个是s=getenv("bootcmd"ÿ
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值