官方下载地址:ftp://ftp.denx.de/pub/u-boot/

uboot的终极奥义就是启动内核。

但是,现在,我们先做最基本的,去官网下载一个支持自己板子的uboot,然后解压缩,打补丁。

官网的uboot肯定不能对应所有的板子,所有需要根据自己特定的板子打补丁,以满足自己特定cpu的需求。

在我之前的博客中有说到高级变量引用功能。

看看uboot中的某处Makefile代码:

艾特符表示的是目标文件。

现在,我们说一下打补丁的操作。

天下的uboot都是一样的,都在官网下载,不同的用户,对uboot有不同的配置需求,如果每次都从uboot本身的源码去更改,那么工作量也太大了,也不利于维护,补丁文件则解决了这个问题,通过打不同的补丁,可以达到不直接更改uboot源码的目的,通过补丁文件可以看出自己的板级支持包和官网uboot源码的异同,补丁也是现在推荐的方式。

打补丁通过linux的patch命令,先解压缩uboot源码,

然后准备好韦老师的补丁文件。由于补丁是要打在我们解压缩的uboot目录里面去的,所以要先进入这个uboot解压缩好的目录,因为补丁文件依赖于uboot的某些文件或路径,这也是为韦老师要给我们说一下 -p 选项,patch -p1 <  补丁文件目录,-p1表示忽略补丁文件的第一级目录,-p2表示忽略二级,-p3表示忽略三级,-p4表示忽略4级,以此类推。我们需要先cd到解压缩的uboot目录下执行patch命令,由于已经位于当前uboot目录下,所以需要忽略第一级目录,故应该加上-p1选项,也就是 patch -p1  < ../ubootxxx_jz2440.patch.

打好补丁之后,执行make 100askconfig,再make,就可以编译处uboot.bin文件了。

打好补丁之后,要了解uboot最好的方式就是先看Makefile,先执行make 100ask24x0_config配置,然后make编译,可以得到最后的uboot.bin文件,这样就可以烧写进单板了。

为什么需要先make 100ask24x0_config配置,可以参见uboot文件夹中的README文件,里面有介绍。

上面是打好补丁之后的uboot文件中的makefile中的一部分。源码该部分如下:

韦老师自己加入了100ask的配置。

这里说明一下smdk2440和s3c2440的区别:

smdk:Samsung MCU Development Kit  三星开发板

s3c2440是芯片的型号。

初学的时候,可以先不用管补丁文件,先直接使用厂商提供的。熟悉之后,你就可以为所欲为了。

转载于:https://www.cnblogs.com/yangguang-it/p/8323872.html

uboot——之初体验相关推荐

  1. STM32Cube和HAL库使用初体验-第5季第2部分-朱有鹏-专题视频课程

    STM32Cube和HAL库使用初体验-第5季第2部分-308人已学习 课程介绍         本季课程主要讲解STM32的全新开发方式:使用STM32CubeMX工具做图形化配置,自动生成初始化代 ...

  2. 视频教程-STM32Cube和HAL库使用初体验-第5季第2部分-单片机/工控

    STM32Cube和HAL库使用初体验-第5季第2部分 互联网课程品牌<朱老师物联网大讲堂>创始人.精通U-Boot.Linux kernel移植及驱动程序开发;精通C.C++.Java. ...

  3. linux 虚拟机 交叉,华恒s3c2440,虚拟机下redhat-linux交叉环境的搭建初体验

    华恒s3c2440,虚拟机下redhat-linux交叉环境的搭建初体验 一,前期准备工作 1. 安装VMRAME虚拟机软件. 2.下载REDHAT的安装光盘,共三个.iso的文件.并在虚拟机下安装R ...

  4. 【全志T113-S3_100ask】7-编译Tina系统初体验

    [全志T113-S3_100ask]7-编译Tina系统初体验 背景 (一)SDK准备 (二)环境准备 (三)编译系统 1.初次编译系统 2.进阶编译操作 (四)烧录系统 背景 7月28日,百问网官方 ...

  5. 苹果电脑安装python3密码_mac系统安装Python3初体验

    前沿 对于iOS开发不要随便拆卸系统自带的Python,因为有很多 library 还是使用 Python2.7. 1 安装Xcode 1.1 App Store 搜索Xcode 并安装 1.2 安装 ...

  6. MapReduce编程初体验

    需求:在给定的文本文件中统计输出每一个单词出现的总次数 第一步: 准备一个aaa.txt文本文档 第二步: 在文本文档中随便写入一些测试数据,这里我写入的是 hello,world,hadoop he ...

  7. 小程序 缩放_缩放流星应用程序的初体验

    小程序 缩放 by Elie Steinbock 埃莉·斯坦博克(Elie Steinbock) 缩放流星应用程序的初体验 (First Experiences Scaling a Meteor Ap ...

  8. wxWidgets刚開始学习的人导引(3)——wxWidgets应用程序初体验

    wxWidgets刚開始学习的人导引全文件夹   PDF版及附件下载 1 前言 2 下载.安装wxWidgets 3 wxWidgets应用程序初体验 4 wxWidgets学习资料及利用方法指导 5 ...

  9. 用鸿蒙跑了个 “hello world”!鸿蒙开发初体验

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源 | https://my.oschina.net/u ...

最新文章

  1. net start mysql启动mysql,提示发生系统错误 5 拒绝访问 解决方法
  2. linux 查看ntp版本号_如何让Linux时间与internet时间同步(CentOS)?
  3. 生物信息学(Bioinformatics)
  4. JS中的加号+运算符详解
  5. 实用知识点梳理:网络操作系统、HTTPS、交换机中用户权限、路由器与集线器功能、HTTP2.0特性
  6. Visual Studio项目引用出现感叹号怎么办?
  7. WPF 创建自定义面板
  8. 开启市场新格局 且看新华三计算与存储新品发布会
  9. Objective-C中的associated object释放时机问题
  10. 猜数字游戏python123_【趣味数学】可以说谎的猜数字游戏
  11. 前端开发——模块化(html模块化开发)
  12. eclipse进行远程调试教程,轻松搞定生产环境问题
  13. 华为设备OSPF配置命令
  14. 星环大数据使用经验总结
  15. amaze ui教程
  16. linux刷新本地dns命令_如何刷新本地DNS缓存
  17. 驰骋计算产业数十年的Wintel联盟开始分崩离析
  18. r语言导入spss数据_R软件导入数据_r语言怎么导入数据_R软件导入数据
  19. Android Studio 工具:Lint 代码扫描工具(含自定义lint)
  20. matlab 精品课程,同济大学经济与管理学院精品课程

热门文章

  1. oracle中merge into用法解析
  2. [深度学习-优化]梯度消失与梯度爆炸的原因以及解决方案
  3. python nums函数_Python中的内置函数
  4. [论文阅读][经典ICP] A Method For Registration Of 3D Shapes
  5. Pandas数据操作
  6. pytorch —— nn网络层 - 卷积层
  7. NLP论文 -《Distributed Representations of Sentences and Documents》-句子和文档的分布式表示学习(二)
  8. 基于深度学习的文本分类1
  9. 动态规划(DP)——通俗易懂!
  10. CSU 1120 病毒