zoukankan      html  css  js  c++  java
  • uboot编译配置过程

    一、使用制作好的编译工具链:
    1、解压压缩包
    tar xjf arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2 #并不会显示解压过程

    2、环境变量PATH中增加路径
    exprot PATH=$PATH:/work/tools/gcc-3.4.5-glibc-2.3.6/bin

    更好的修改方法:
    通过修改.bashrc文件:
    vim ~/.bashrc
    //在最后一行添上:
    export PATH=/work/tools/gcc-3.4.5-glibc-2.3.6/bin:$PATH
    生效方法:(有以下两种)
    1、关闭当前终端窗口,重新打开一个新终端窗口就能生效
    2、输入“source ~/.bashrc”命令,立即生效

    二、手动制作编译工具链
    1、

    三、uboot配置、编译、连接
    1、make smdk2410_config
    相当于执行 ./mkconfig smdk2410 arm arm920t smdk2410 NULL s3c24x0
    1)、开发板BOARD_NAME=$1
    2)、创建到平台/开发板相关头文件连接
    ln -s asm-$2
    ln -s arch-$6 asm-$2/arch
    ln -s proc-armv asm-$2/proc #如果$2不是arm的话,此行没有
    3)、创建顶层Makefile包含的文件
    ARCH=$2
    CPU=$3
    BOARD=$5
    SOC=$6
    4)、创建开发板相关头文件include/config.h
    2、手动修改include/config/<board_name>.h来裁剪、设置uboot,即include/config/smdk2410.h文件
    1)、前缀为CONFIG的文件,用于配置CPU、SOC、开发板类型,设置系统时钟、选择设备驱动等,如:
    /*
    * High Level Configuration Options
    * (easy to change)
    */
    #define CONFIG_ARM920T 1 /* This is an ARM920T Core */
    #define CONFIG_S3C2410 1 /* in a SAMSUNG S3C2410 SoC */
    #define CONFIG_SMDK2410 1 /* on a SAMSUNG SMDK2410 Board */
    /* input clock of PLL */
    #define CONFIG_SYS_CLK_FREQ 12000000 /* the SMDK2410 has 12MHz input clock */
    /* Hardware drivers */
    #define CONFIG_DRIVER_CS8900 1 /* we have a CS8900 on-board */

    2)、前缀为CFG文件用于设置malloc缓冲池大小、uboot提示符、uboot下载时默认加载地址、flash起始地址
    #define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128*1024)
    #define CFG_PROMPT "SMDK2410 # " /* Monitor Command Prompt */
    #define CFG_LOAD_ADDR 0x33000000 /* default load address */
    #define PHYS_FLASH_1 0x00000000 /* Flash Bank #1 */

    3、make

    总结:
    1、编译cpu/$(CPU)/start.S,对于不同的CPU,还可能编译cpu/$(CPU)下的其他文件。
    2、然后,对于平台/开发板相关的每个目录,每个通用目录都使用它们格子的Makefile生成对应的库。
    3、将1、2生成的.o、.a文件按照board/$(BOARDDIR)/config.mk文件中指定的代码段地址、board/$(BOARDDIR)/U-Boot.lds连接脚本进行连接。
    4、第3步得到的ELF格式U-Boot,Makefile将它转换为二进制、S-Record格式。


    附、使用补丁文件
    1、cd u-boot-1.1.6/
    2、patch -p1 < ../u-boot-1.1.6_jz2440.patch
    3、make 100ask24x0_config
    4、make

  • 相关阅读:
    代码高亮测试
    自定义Edit控件控制输入范围
    多字节字符与界面 manifest
    实现类成员函数回调
    [VIM插件]fedora22编译vim7.4对perl组件支持的问题
    火车头Ecshop2.7文章采集发布模块
    js 创建对象
    js 属性类型
    JS函数的属性
    JS 函数中返回另一个函数
  • 原文地址:https://www.cnblogs.com/mofei004/p/10406159.html
Copyright © 2011-2022 走看看