• uboot源码


    uboot源码分析

    在这里插入图片描述

    分析uboot源码目录可知
    arch:存放平台架构相关的文件
    board:存放各个板子相关文件
    README:帮助文件,存放所有源码配置编译的信息

    分析README文件可知
    在这里插入图片描述
    处理器架构和板子类型的选择:
    对于所有支持的板,都有现成的默认配置可用;只需输入"make _defconfig"
    示例:对于TQM823L模块类型:
    cd u-boot
    make TQM823L_defconfig
    所以要首先确认board_name

    方法一:

    1.在uboot源码目录下执行:make fsmp1a_defconfig
    在这里插入图片描述

    显示不能在 arch/…/config/下找到 fsmp1a_defconfig这个文件,可知默认的配置文件存放在arch/…/config/目录下,进入该目录查看需要的配置信息。

    方法二:

    通过makefile文件查找对应的目标文件。
    在uboot源目录下,打开Makefile文件,搜索 config
    在这里插入图片描述

    使用echo命令打印每个变量的参数,( ( Q ) 、 (Q)、 (Q)(MAKE)、 ( b u i l d ) 、 (build)、 (build)@)。
    返回uboot源码目录下,执行make fsmp1a_defconfig,会打印出如下信息:

                @
                make
                -f ./scripts/Makefile.build obj
                fsmp1a_defconfig
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    可知$(Q)就是@符,去掉即可执行回显,去掉后再次运行make fsmp1a_defconfig,打印出:

     make -f ./scripts/Makefile.build obj=scripts/kconfig fsmp1a_defconfig = make obj=scripts/kconfig fsmp1a_defconfig
    
    • 1

    如上可知,到scripts/kconfig目录下,打开Makefile文件,搜索defconfig,如上诉步骤,再次使用echo命令打印出每个变量的参数,再次去掉$(Q),去掉后再次运行make fsmp1a_defconfig,打印出:

    scripts/kconfig/conf  --defconfig=arch/../configs/fsmp1a_defconfig Kconfig
    
    • 1

    scripts/kconfig/conf:通过file命令,查看scripts/kconfig/conf文件,是一个elf可执行文件
    –defconfig=arch/…/configs/fsmp1a_defconfig:板子参数
    Kconfig:是uboot源码顶层目录下配置文件
    通过以上分析可知:conf是一个可执行文件,fsmp1a_defconfig和 Kconfig作为参数传递给conf

  • 相关阅读:
    做音视频开发要掌握哪些知识?
    Hudi第二章:集成Spark(二)
    cassandra安装及配置
    TensorFlow 张量
    共享WiFi贴项目地推技巧,轻松学会推广!
    用HTML、CSS技术设计的个人网页与实现制作(web前端期末大作业)
    看DevExtreme如何用HTML/Markdown编辑器轻松设置多行工具栏
    使用 Footprint Analytics, 快速搭建区块链数据应用
    Rust星号(*)的作用-基础篇
    Win11如何删除升级包?Win11删除升级包的方法
  • 原文地址:https://blog.csdn.net/qq_72815752/article/details/127658327