• 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

  • 相关阅读:
    给女朋友的微信专属推送
    ECS通过DNAT将C非专线网段并网
    mysql简单备份和恢复
    OKR目前应用到过哪些企业?
    java毕业设计论文题目精品springboot家政服务预订系统
    Ribbon负载均衡
    前端开发趋势:WebAR、VR与沉浸式体验
    Qt元对象系统
    json读写
    如何使用代码来构造HTTP请求?
  • 原文地址:https://blog.csdn.net/qq_72815752/article/details/127658327