uboot——之初体验
官方下载地址: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——之初体验相关推荐
- STM32Cube和HAL库使用初体验-第5季第2部分-朱有鹏-专题视频课程
STM32Cube和HAL库使用初体验-第5季第2部分-308人已学习 课程介绍 本季课程主要讲解STM32的全新开发方式:使用STM32CubeMX工具做图形化配置,自动生成初始化代 ...
- 视频教程-STM32Cube和HAL库使用初体验-第5季第2部分-单片机/工控
STM32Cube和HAL库使用初体验-第5季第2部分 互联网课程品牌<朱老师物联网大讲堂>创始人.精通U-Boot.Linux kernel移植及驱动程序开发;精通C.C++.Java. ...
- linux 虚拟机 交叉,华恒s3c2440,虚拟机下redhat-linux交叉环境的搭建初体验
华恒s3c2440,虚拟机下redhat-linux交叉环境的搭建初体验 一,前期准备工作 1. 安装VMRAME虚拟机软件. 2.下载REDHAT的安装光盘,共三个.iso的文件.并在虚拟机下安装R ...
- 【全志T113-S3_100ask】7-编译Tina系统初体验
[全志T113-S3_100ask]7-编译Tina系统初体验 背景 (一)SDK准备 (二)环境准备 (三)编译系统 1.初次编译系统 2.进阶编译操作 (四)烧录系统 背景 7月28日,百问网官方 ...
- 苹果电脑安装python3密码_mac系统安装Python3初体验
前沿 对于iOS开发不要随便拆卸系统自带的Python,因为有很多 library 还是使用 Python2.7. 1 安装Xcode 1.1 App Store 搜索Xcode 并安装 1.2 安装 ...
- MapReduce编程初体验
需求:在给定的文本文件中统计输出每一个单词出现的总次数 第一步: 准备一个aaa.txt文本文档 第二步: 在文本文档中随便写入一些测试数据,这里我写入的是 hello,world,hadoop he ...
- 小程序 缩放_缩放流星应用程序的初体验
小程序 缩放 by Elie Steinbock 埃莉·斯坦博克(Elie Steinbock) 缩放流星应用程序的初体验 (First Experiences Scaling a Meteor Ap ...
- wxWidgets刚開始学习的人导引(3)——wxWidgets应用程序初体验
wxWidgets刚開始学习的人导引全文件夹 PDF版及附件下载 1 前言 2 下载.安装wxWidgets 3 wxWidgets应用程序初体验 4 wxWidgets学习资料及利用方法指导 5 ...
- 用鸿蒙跑了个 “hello world”!鸿蒙开发初体验
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源 | https://my.oschina.net/u ...
最新文章
- net start mysql启动mysql,提示发生系统错误 5 拒绝访问 解决方法
- linux 查看ntp版本号_如何让Linux时间与internet时间同步(CentOS)?
- 生物信息学(Bioinformatics)
- JS中的加号+运算符详解
- 实用知识点梳理:网络操作系统、HTTPS、交换机中用户权限、路由器与集线器功能、HTTP2.0特性
- Visual Studio项目引用出现感叹号怎么办?
- WPF 创建自定义面板
- 开启市场新格局 且看新华三计算与存储新品发布会
- Objective-C中的associated object释放时机问题
- 猜数字游戏python123_【趣味数学】可以说谎的猜数字游戏
- 前端开发——模块化(html模块化开发)
- eclipse进行远程调试教程,轻松搞定生产环境问题
- 华为设备OSPF配置命令
- 星环大数据使用经验总结
- amaze ui教程
- linux刷新本地dns命令_如何刷新本地DNS缓存
- 驰骋计算产业数十年的Wintel联盟开始分崩离析
- r语言导入spss数据_R软件导入数据_r语言怎么导入数据_R软件导入数据
- Android Studio 工具:Lint 代码扫描工具(含自定义lint)
- matlab 精品课程,同济大学经济与管理学院精品课程
热门文章
- oracle中merge into用法解析
- [深度学习-优化]梯度消失与梯度爆炸的原因以及解决方案
- python nums函数_Python中的内置函数
- [论文阅读][经典ICP] A Method For Registration Of 3D Shapes
- Pandas数据操作
- pytorch —— nn网络层 - 卷积层
- NLP论文 -《Distributed Representations of Sentences and Documents》-句子和文档的分布式表示学习(二)
- 基于深度学习的文本分类1
- 动态规划(DP)——通俗易懂!
- CSU 1120 病毒