zoukankan      html  css  js  c++  java
  • u-boot顶层Makefile

    u-boot的配置、编译过程:

    1、cd /work/system/u-boot-1.1.6

    2、patch -p1 <../u-boot-1.1.6_jz2440.patch 打补丁

    3、make 100ask24x0_config 配置u-boot

    4、make

    ① 为了分析上述的命令过程,需要参考u-boot文件下的Makefile文件 搜索 “100ask24x0_config”

     分析上面的命令,需要知道各个部分是什么意思,搜索"MKCONFIG“:

     可以知道 ”MKCONFIG“ 就是指mkconfig

    所以在上面配置中键入命令 make 100ask24x0_config,所表示的意思就是

    mkconfig 100ask24x0 arm arm920t 100ask24x0 NULL s3c24x0

    所以为了分析上面的命令是什么意思,需要去分析u-boot文件下的mkconfig文件。

    ② 在mkconfig文件中

    mkconfig 100ask24x0 arm arm920t 100ask24x0 NULL s3c24x0 分别对应着

       $0               $1            $2     $3           $4               $5       $6

     

     

     

     

     

     

     

     

     ③ mkconfig文件分析完成,也就是u-boot的配置过程结束,所以下面就要分析顶层目录下的Makefile,来分析 make 命令发生了什么。

    在顶层makefile文件中可以看到,包含了上面配置的文件config.mk

    配置交叉编译工具链

     一堆链接库

    make的目标 all后的所有东西

     

    我们的目标u-boot.bin需要先生成 u-boot文件 u-boot文件就是u-boot.elf文件(二进制文件)

     

     而u-boot文件需要用到下面的命令:

     其中 LDFLAGS 表示链接文件:在ubuntu中搜索可以查到 :grep "LDFLAGS" * -nR

     

     所以继续搜索TEXT_BASE : grep "TEXT_BASE" *-nR

     

     

    可以看出,u-boot的链接地址是在0x33F80000

    为了分析方便,可以直接在ubuntu中键入 make ,然后再反推下面命令的意思

     

     从上面的输出结果分析一波:

     链接文件时 /work/system/u-boot-1.1.6/board/100ask24x0/u-boot.lds

    第一个执行的文件是 cpu/arm920t/start.S

     所以下面的任务就是从第一个文件 start.S中开始。

  • 相关阅读:
    一个自动打补丁的脱机程序
    OPC 学习交流感想
    串口标准,说说流控制(RTS/CTS/DTR/DSR 你都明白了吗?)
    asp.net中调用COM组件发布IIS时常见错误 80070005解决方案
    可运行XP的最少后台服务配置
    MapGIS 7.0 SP2 企业版 & MapGIS 7.1IMS
    简单认识一下S60系统
    常用正则表达式
    图像处理:遮罩
    office2003中WORD中visio图无法打印中文问题解决方法
  • 原文地址:https://www.cnblogs.com/lihanrui/p/13896104.html
Copyright © 2011-2022 走看看