杨泽彬的神秘商店

博客园 首页 新随笔 联系 订阅 管理
  71 随笔 :: 0 文章 :: 0 评论 :: 7699 阅读

1.U-Boot是什么?有什么用?
2.Linux设备的启动流程?
3.uboot移植是什么?
4.uboot怎么用?
5.编译完uboot之后用过什么工具烧写镜像?
6.如何进入uboot命令行?
在启动的倒计时时输入enter可进入命令行模式(是run_cli_loop函数)
6.常用的uboot命令?
大致分为十类
8.uboot配置.config文件是怎么生成的?
通过 make xxxdefconfig 生成.config文件。
9.uboot、Linux内核如何控制某项功能是否使能?
.config 中 控制xxx=y 表示使能。makefile 在展开和使用中会判断。

10.uboot的启动流程简要描述
从链接脚本uboot.lds 决定跳转到_start的位置(中断向量表),然后跳转到reset
reset->save-boot-prams->save-boot-prams-ret
cpu_init_cp15 | cpu_init_crit(lower init) ->_main

11.uboot中__main函数干了什么
关键的四个函数:board_init_f , relocate_code, relocate_vectors, board_init_r

  • board_init_f:初始化一系列外设(串口、定时器等);初始化 gd的各个成员变量 同时uboot自己将自己重定位到Dram最后面的地址,防止Linux kernel 覆盖掉uboot.

  • relocate_code: 用于代码拷贝

  • relocate_vectors: 用于重定位向量表

  • board_init_r : 完成一些board_init_f未完成的初始化,其中有很多与我们之前学习单片机的内容接近。

在 board_init_r中有设备树的初始化(解析)、stdio、串口、看门狗的初始化,还有一个关键的board_init(时钟电压等等初始化)

12.通过uboot的启动流程我们可以知道什么?

  • 关键外设驱动在哪里被初始化
  • Linux内核怎么被启动

13.uboot启动后会进入什么函数,从哪里进入Linux内核
进入run_main_loop 如果 在倒计时结束前按下按键就能进入 cli_loop(uboot的命令行模式)

最后调用kernel_entry 进入 Linux内核 然后uboot的使命就结束了。

14.uboot相关的图形化配置
menuconfig/Kconfig

menuconfig

posted on   快乐过了阈值  阅读(114)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示