zoukankan      html  css  js  c++  java
  • S3C2440移植uboot之编译烧写uboot

    移植环境

    主 机:VMWare--ubuntu16.04
    开发板:S3C2440
    编译器:arm-linux-gcc-4.3.2.tgz
    u-boot:u-boot-2012.04.01.tar.bz2

    获取uboot

      进入https://www.denx.de/wiki/U-Boot下载uboot
    在这里插入图片描述
    在这里插入图片描述
      一直往下拉选择如下
    在这里插入图片描述
      将下载好的压缩包解压到任意文件夹,并创建source insight工程。将下载好的u-boot-2012.04.01.tar_2.bz2放到ubuntu服务器/work/system中。执行以下命令解压uboot:

    cd /work/system
    tar xjf u-boot-2012.04.01.tar_2.bz2
    

    进入文件夹配置uboot

    cd u-boot-2012.04.01
    make smdk2410_config
    make
    

      编译报错如下
    在这里插入图片描述
      发生了段错误,arm-linux-ld 工具链版本不支持uboot中新的属性。我们的交叉编译链版本为3.4.5,因此,需要更换新的交叉编译链支持uboot。

    更新交叉编译工具

      将arm-linux-gcc-4.3.2.tar.bz2上传到ubuntu服务器/work/tools。将arm-linux-gcc-4.3.2.tar.bz2解压到/work/tools/tmp文件夹。

    cd /work/tools
    mkdir tmp
    tar xjf arm-linux-gcc-4.3.2.tar.bz2 -C tmp/
    

      解压完成,进入tmp目录查看usr/local/arm/4.3.2/bin文件夹,有各种工具链。

    cd tmp/usr/local/arm/4.3.2/bin
    ls
    

    在这里插入图片描述

    配置环境变量

      将新的工具链解压到根目录并配置环境变量,新的交叉编译工具链就生效了。

    sudo tar xjf arm-linux-gcc-4.3.2.tar.bz2 -C /
    

      为什么要设置环境变量?
      因为我们执行ls 命令时,系统会去寻找所执行的命令,去哪里找呢?就在环境变量中。在ubuntu查看环境变量如下
    在这里插入图片描述
      设置新的环境变量

    export PATH=/usr/local/arm/4.3.2/bin:.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
    

      执行

    arm-linux-gcc -v
    

    在这里插入图片描述
      永久修改环境变量需要修改/etc/environment

    sudo vi /etc/environment
    

      修改前

    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/work/tools/gcc-3.4.5-glibc-2.3.6/bin"
    

      修改后

    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin"
    

      重启后即可生效。

      再次编译新的uboot

    cd /work/sysytem/u-boot-2012.04.01
    make distclean
    make smdk2410_config
    make
    

      编译没有报错,将新的uboot.bin烧写到开发板发现,程序不能运行。所以需要分析并修改uboot
    下一节S3C2440移植uboot之启动过程概述我们将分析UBOOT的整个启动流程。

    有任何问题,均可通过公告中的二维码联系我

  • 相关阅读:
    跨浏览器的事件处理程序(javascript高级程序设计第二版第十二章)
    json
    html5 本地存储Web Storage
    sicily 6497. 字符统计
    sicily 6415. linear correlation
    sicily 1154. Easy sort
    sicily 6496. 二维数组
    sicily 6423. 反向输出数字
    sicily 1636. show me the money
    sicily 1324. Score
  • 原文地址:https://www.cnblogs.com/dongxb/p/14207411.html
Copyright © 2011-2022 走看看