• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

arm平台上,Uboot引导Linux内核启动?

沃尔夫斯堡的羊 2020-08-04 浏览量:585
在Arm平台上,调试应用uboot 引导 Linux内核镜像启动,查看Uboot的文件结构,以及Uboot的工作流程,觉得uboot在某种程度上也是个“内核”,其完成的一些工作,如初始化CPUCPU关键寄存器和Linux内核中的初始化CPU关键寄存器等是否有重复?或者Linux内核代码中是不是包括部分boot完成功能的代码,如目录arch/arm/boot/**?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • uboot 和 kernel 两个项目支持的架构都差不多,使用的 build 系统也一样,当然目录和组织结构都类似。uboot 只是初始化硬件,引导 kernel 的,所以 uboot 会初始化 cpu ,内存, 存储器 flash/ sd/ emmc,串口,屏幕,甚至更多的外设。uboot 是可以i单独使用的。也可以运行程序的。uboot 本身就是一个完整的系统,并且参考 kernel 引入了设备树和驱动的概念。

    他虽然是个小系统,但是主要功能还是 引导 系统用的,所以他的初始化硬件部分很完善,系统层面很弱很弱。

    kernel 就是 linux 内核,是完整的系统,uboot 引导 kernel 后,kernel 完全自己运行,不依赖不需要 uboot 任何代码和功能

    • 发布于 2020-08-10
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:5
  • Uboot设计本身就是参考的linux内核。所以其架构和linux内核很想,只是把重点放到了驱动和引导上了。初始化寄存器方面,大部分寄存器是可以被多次初始化的,所以uboot初始化后再linux内核初始化也是没问题的,有些不能多次初始化的,需要uboot和linux内核配合,如果在uboot中初始化了,linux可以不用初始化了。
    • 发布于2020-08-04
    • 举报
    • 评论 0
    • 1
    • 0

  • boot用来启动内核,启动后就没boot什么事了,启动过程中会调用函数、操作flash、sdram等。


    内核里边驱动就有和boot类似功能的代码。

    • 发布于2020-08-04
    • 举报
    • 评论 0
    • 0
    • 0

  • 最近也是在学习 linux, 也是被绕的云里雾里,唉,多看几遍对应章节消化消化了,一起共勉,加油干
    • 发布于2020-08-04
    • 举报
    • 评论 0
    • 0
    • 0

  • 有一些是重复的有一些不是,如配置CPU频率这些,是uboot配置的,内核不配置的,有一些外设,如flash 等 一般内核还会再配置一下的
    • 发布于2020-08-04
    • 举报
    • 评论 0
    • 0
    • 0

  • uboot里面一般是个裸机程序,它没有多线程的支持,就是一个main函数跑到最后引导linux
    • 发布于2020-08-30
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

arm平台上,Uboot引导Linux内核启动?