S3C2440移植uboot之编译烧写uboot

S3C2440移植uboot之编译烧写uboot移植环境主机:VMWare–ubuntu16.04开发板:S3C24402440编译器:arm-linux-gcc-4.3.2.tgzu-boot:u-boot-2012.04.01.tar.bz2获取uboot进入https://www.denx.de/wiki/U-Boot下载uboot一直往下拉选择如下将下载好的压缩包解压到任意文件夹,并创建sourceinsig…

大家好,又见面了,我是你们的朋友全栈君。

移植Uboot其他文章链接:

S3C2440移植uboot之新建单板_时钟_SDRAM_串口

S3C2440移植uboot之启动过程概述

S3C2440移植uboot之支持NAND启动

S3C2440移植uboot之支持NORFLASH

S3C2440移植uboot之支持NANDFLASH操作

S3C2440移植uboot之支持DM9000

S3C2440移植uboot之裁剪和修改默认参数

S3C2440移植uboot之支持烧写yaffs映像及制作补丁

移植环境

主 机: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的整个启动流程。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131124.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python 爬虫一 简介

    Python 爬虫一 简介什么是爬虫?爬虫可以做什么?爬虫的本质爬虫的基本流程什么是request&response爬取到数据该怎么办什么是爬虫?网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间

    2022年7月6日
    18
  • 微通道产品经理Grover采访:美国的微通道设计

    微通道产品经理Grover采访:美国的微通道设计

    2022年1月5日
    58
  • ORM常用字段介绍

    Django中的ORMDjango项目使用MySQL数据库1.在Django项目的settings.py文件中,配置数据库连接信息:2.在Django项目的__init__.py文件中写如下

    2022年3月29日
    42
  • SPSS—回归—二元Logistic回归案例分析

    SPSS—回归—二元Logistic回归案例分析数据分析真不是一门省油的灯,搞的人晕头转向,而且涉及到很多复杂的计算,还是书读少了,小学毕业的我,真是死了不少脑细胞,学习二元Logistic回归有一段时间了,今天跟大家分享一下学习心得,希望多指教!二元Logistic,从字面上其实就可以理解大概是什么意思,Logistic中文意思为“逻辑”但是这里,并不是逻辑的意思,而是通过logit变换来命名的,二元一般指“两种可能性”…

    2025年7月1日
    3
  • TiDB 分布式数据库搭建[通俗易懂]

    TiDB 分布式数据库搭建

    2022年3月5日
    102
  • Loadlibrary 失败的原因

    Loadlibrary 失败的原因  今天调试公司的游戏程序时,发现Loadlibrary总是调用失败,查看加载的动态库路径完全正确,为什么还是会加载失败呢?莫非是这个被加载的动态库本身有问题,我用工具查看了其依赖性,发现没问题,难道是该动态库依赖的动态库有问题?我继续查看该动态库依赖的动态库依赖性果然是这样。

    2022年7月13日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号