Ubuntu交叉编译U-boot_Darton_Zhang的博客-程序员宝宝_uboot交叉编译

技术标签: u-boot  交叉编译  Ubuntu系统  

U-Boot:全称 Universal Boot Loader,是遵循GPL条款的开放源码项目.

作用:系统引导.(相当于我们电脑的BIOS).

1.下载相应的Uboot 压缩包.(Uboot 下载地址:ftp://ftp.denx.de/pub/u-boot/

交叉编译通俗地讲就是在一种平台上编译出能运行在体系结构不同的另一种平台上的程序

例如:

在PC平台(X86 CPU)上编译出能运行在以ARM为内核的CPU平台上的程序,编译得到的程序在X86 CPU平台上是不能运行的,必须放到ARM CPU平台上才能运行,虽然两个平台用的都是Linux系统

2.下载交叉编译工具GCC压缩包.(下载地址:http://www.veryarm.com/cross-tools

3.解压缩GCC压缩包.(sudo tar -zxvf arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.bz2)

解压缩之后,如图所示:

图中的arm-2009q1文件夹即为解压缩之后的文件夹.

然后打开用户目录下的bash文件,在文件的最后面添加我们的GCC工具路径,如图所示.(vi ~/.bashrc)


添加完成之后,检查是否成功,打开终端,输入arm-,按Tab键,会显示如下:

说明添加成功.

二.

解压缩Uboot 压缩包,进入到Uboot文件路径下,先执行下:

1. make distclean

2.执行 make smdk2410_config


3.make all

会在Uboot的根目录下,生成u-boot 的相关文件(u-boot.bin u-boot等).


在进行make的时候,如果出现类似问题.

是因为没有指定交叉编译器的问题.所以需要执行以下命令:(注意:一定不要在最后面加上gcc,这样会报错,至于为什么,还没有进行研究,我感觉

应该是Uboot当中的makefile命令的原因)

然后进行命令即可.

(未完,待续)

参考:

Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解(http://www.linuxidc.com/Linux/2013-06/85902.htm

arm-linux-gcc:command not found问题(http://bbs.21ic.com/icview-747612-1-1.html

嵌入式linux交叉编译工具链搭建(http://blog.csdn.net/lead_solo/article/details/40539247










版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Darton_Zhang/article/details/78236366

智能推荐

独木桥_csdn_PatrickStar的博客-程序员宝宝_独木桥csdn博客

题目背景战争已经进入到紧要时间。你是运输小队长,正在率领运输部队向前线运送物资。运输任务像做题一样的无聊。你希望找些刺激,于是命令你的士兵们到前方的一座独木桥上欣赏风景,而你留在桥下欣赏士兵们。士兵们十分愤怒,因为这座独木桥十分狭窄,只能容纳11个人通过。假如有22个人相向而行在桥上相遇,那么他们22个人将无妨绕过对方,只能有11个人回头下桥,让另一个人先通过。但是,可以有多个人同时呆在同一个位...

读《疯狂的程序员》有感_孟祥月的博客-程序员宝宝

用了很长很长的时间,终于看完了《疯狂的程序员》,当看完的那一刻,我感到我自己跟书中的绝影比较,相差的是太多了。网上许多人都评论这本书,说这本书是程序员版的奋斗,书中写绝影怎样的努力,怎样的辛苦,怎样最后取得了进步,但是对于我感触最深的还是绝影生活对我的影响。我是学计算机的,最

Android中ListView的优化_一日看尽长安花G的博客-程序员宝宝

安卓中ListView使用的频率还是很高的,为了避免内存泄漏,优化就显得是必须的了 直接上代码(这里只写了一级、二级优化)public class MyAdapter extends BaseAdapter { private Context context;//上下文 private ArrayList<CaiBean> cbs;//数据源 public MyAdapter

结合ABP源码实现邮件发送功能_diaoyin8902的博客-程序员宝宝

1. 前言2. 实现过程1. 代码图(重)2.具体实现2.1 定义AppSettingNames及AppSettingProvider2.2 EmailSenderConfiguration配置2.3 SmtpEmailSender实现(Smtp实现邮件发送)1. 前言最近pm临时提出了多种邮件验证操作的需求,...

随便推点

微信小程序解密手机号码异常_卡了个卡的博客-程序员宝宝_小程序解析手机号 given final block not properly padded

在后台解密用户手机号码时,偶尔会报以下异常:javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryptionjavax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a

Carthage Vs Pods_RL_muyang的博客-程序员宝宝_pod 和 carthage 区别

1.Carthagecarthage更加的灵活并且没有入侵性,是去中心化的,就是说需要自己手动将carthage集成到自己的项目当中优点:把依赖的库都编译成framework,这样一来就不需要每次编译工程,都去编译一遍依赖的第三方库缺点:使用的依赖库比较多,集成起来就比较麻烦。build是framewotk库需要自行引用进来checkout文件夹是从git上下来下来...

HBase启动之后HMaster自动关闭的问题处理_思灵月的博客-程序员宝宝_hmaster启动后自动关闭

查看HBase的日志有报错2018-02-10 03:42:00,570 WARN [Thread-72] hdfs.DFSClient: DataStreamer Exceptionorg.apache.hadoop.ipc.RemoteException(java.io.IOException): File /hbase/.tmp/hbase.version could only ...

多线程:多生产者与多消费者(线程通信)、线程池_骑恐龙去钓鱼的博客-程序员宝宝

多线程单生产者与单消费者(线程通信)多生产者与多消费者(线程通信)public static void main(String[] args) { //创建资源对象 Resource r = new Resource(); //创建生产者和消费者对象 Product p = new Product(r); Customer c = new Customer(r); //创建多个生产者线程 Thread p0 = new Thread(p); Thread p1 = new Thread

Hadoop 总结 四 配置集群_千山暮雪CN的博客-程序员宝宝

Hadoop 总结 四 配置集群分析:至少需要三台虚拟机(主机)(关闭防火墙,静态IP,主机名称)需要安装好JDK,Hadoop,以及环境变量的配置需要配置好集群需要单点启动需要节点间ssh配置启动并测试集群虚拟机准备见前两章,并将hadoop103,hadoop104进行同样的配置编写集群分发脚本#scp 安全拷贝 方式#语法:scp -r $pdir/$fname [email protected]$host:$pdir/$fname#例:在Hadoop102上将jdk

推荐文章

热门文章

相关标签