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是芯片的型号。
初学的时候,可以先不用管补丁文件,先直接使用厂商提供的。熟悉之后,你就可以为所欲为了。
uboot——之初体验的更多相关文章
- BSP中uboot初体验
一. uboot源码获取 1.1. 从板级厂家获取开发板BSP级uboot(就是由开发板厂家提供的) 1.2. 从SOC厂家获取相同SOC的BSP级uboot 1.3. 从uboot官方下载 1.4. ...
- .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...
- Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验
Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...
- Spring之初体验
Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...
- Xamarin.iOS开发初体验
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0
- 【腾讯Bugly干货分享】基于 Webpack & Vue & Vue-Router 的 SPA 初体验
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57d13a57132ff21c38110186 导语 最近这几年的前端圈子,由于 ...
- 【Knockout.js 学习体验之旅】(1)ko初体验
前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...
- 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验
在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...
- 百度EChart3初体验
由于项目需要在首页搞一个订单数量的走势图,经过多方查找,体验,感觉ECharts不错,封装的很细,我们只需要看自己需要那种类型的图表,搞定好自己的json数据就OK.至于说如何体现出来,官网的教程很详 ...
随机推荐
- thinkphp使用中遇到的问题
参数传递的问题: 在传递文件路径的参数时,因为路由模式把斜杠解析了,所以需要对参数进行encode,使用urlencode不行,后来尝试用base64_encode,解决问题:
- please verify the preference field with the prompt:Tomcat JDK name
使用MyEclipse的Tomcat的时候出现下面的问题: a configuration error occurred during startup. please ve ...
- Oracle 12C -- 删除audit policy
删除之前,必须将policy disable掉:然后再删除 SQL> noaudit policy audit_sysprvi_po01; SQL> drop audit policy a ...
- SharePoint 2013 Farm 安装指南——构建一个双层SharePoint Farm
最近要对公司里的SharePoint进行升级,由于旧的系统SharePoint 2010已经有2年了,上面改动比较多,而且权限也很混乱了,所以下定决心要对其做一次升级,重新部署一台新的SharePoi ...
- 近期对招聘Android开发者的一些思考
公司要招聘Android开发者,故面试了大概十来个人.由于是小公司,所以来的人大多是90后,比較年轻.90后大概二十三四岁吧,从简历上看都写了一到两年的工作经验. 也由于是小公司,所以对工作经验这些没 ...
- [转]Greenplum 资源隔离的原理与源码分析
摘要: 背景 Greenplum是一个MPP的数据仓库系统,最大的优点是水平扩展,并且一个QUERY就能将硬件资源的能力发挥到极致. 但这也是被一些用户诟病的一点,因为一个的QUERY就可能占光所有的 ...
- Gitlab Runner的使用(涵盖gitlab-page)
#gitlab-runner 的简单安装和部署##背景 因为公司要使用CI 功能,已经使用gitlab-page的功能能,所以这里记录一下 ###安装步骤: 参考官方文档:https://doc ...
- Outlook 如何初始化邮箱
首先我们找到邮箱的安装位置,我们可以右键Outlook,然后看其属性.找到其安装位置,复制下来,比如说 "C:\Program Files\Microsoft Office\root\Off ...
- 在 Windows 7 中安装 .NET Framework 时遇到错误:无法建立到信任根颁发机构的证书链
当全新安装 Windows 7 SP1 后,在未安装任何补丁,也未进行联网的状态下,安装 .NET Framework 4.6 或更高的版本时,应该会遇到错误提示:无法建立到信任根颁发机构的证书链. ...
- Android应用一般上架流程
Android App上架所需文件 上架准备 App文件: 1. 安装包 2. 应用商标:图片格式KB. 3. 应用截图(4~6张):图片格式JPG或者PNG.图片大小480*800,且每张大小一致 ...