码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • uboot启动学习笔记六-uboot启动参数传递及第二阶段函数board_init_f


    首先我们先要插播一点内容,就是uboot如何想内核传递启动参数的.我们前面也将了关于gd结构体,重要的关键点就在这里,在这里uboot会将gd初始化,并放到内存中.

    传递参数

    U-BOOT 在启动内核时,会向内核传递一些参数.BootLoader 可以通过两种方法传递参数给内核, 一种是旧的参数结构方式(parameter_struct),主要是 2.6 之前的内核使用的方式。另外一种就是现在的 2.6 内核在用的参数链表 (tagged list) 方式。这些参数主要包括,系统的根设备标志,页面大小,内存的起始地址和大小, RAMDISK 的起始地址和大小,压缩的 RAMDISK 根文件系统的起始地址和大小,当前内核命令参数等而这些参数是通过 struct tag 来传递的。 U-boot 把要传递给 kernel 的东西保存在 struct tag 数据结构中,启动 kernel 时, 把这个结构体的物理地址传给 kernel; Linux kernel 通过这个地址分析出 u-boot 传递的参数。大家都知道 U-Boot启动的时候会将启动参数的地址放入 R2 中,然后再启动内核。
    第一个数据结构 global_data,在文件include/asm-generic/golbal_data.h

    typedef struct global_data {
    bd_t bd;
    unsigned long flags;

  • 相关阅读:
    为什么说数字化工厂解决方案是制造企业的未来
    【电子通识】案例:采用电阻分压式采样电压的设计注意事项
    给电脑一键重装系统后找回照片查看器的方法
    代码随想录65——额外题目【二叉树】:129求根节点到叶节点数字之和、1382将二叉搜索树变平衡、100相同的树、116填充每个节点的下一个右侧节点指针
    基于深度残差网络与人脸关键点的表情识别
    【MySQL性能优化系列】百万数据limit分页优化
    MyBatisPlus学习(2)—— 初始化环境配置 + 自定义Mapper
    基于非对称纳什谈判的多微网电能共享运行优化策略(附带MATLAB程序)
    计组笔记 数据表示与运算 校验码部分
    GD32F30x系列ADC源码,对初学者参考价值巨大,(非常详细篇)万字源码
  • 原文地址:https://blog.csdn.net/mainmaster/article/details/126405122
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号