一、X210官方uboot配置编译实践
1、找到官方移植好的uboot(BSP概念)
(1)源头的源代码是uboot官网下载的。这个下载的源代码可能没有你当前使用的开发板的移植,甚至找不到当前开发板使用的SoC对应的移植版本。
(2)SoC厂商在推出一款SoC后,厂商的工程师会去uboot官网下载一个uboot,根据自己的SoC进行第一步的移植,移植的目标是厂商推出的开发板。(譬如三星的S5PV210芯片厂商出的开发板就叫SMDKV210).所以三星的工程师移植的uboot是根据他们自己的SMDKV210开发板移植的。
(3)具体的开发板供应商(譬如X210的生产商深圳市九鼎科技)首先购买三星的SMDKV210开发板,然后进行裁剪(把一些无用的接口功能裁剪去,配置降低一下,某些配置会被替换)。硬件替换和裁剪之后生成的新的开发板(譬如X210)和三星官方的SMDKV210有所不同,因此uboot也不同。但是因为SoC是相同的,所以相似度至少有60%以上。所以具体开发板供应商会以三星SMDKV210中移植的uboot为蓝本来移植得到自己的开发板的一个uboot移植。我们买X210开发板时厂商光盘中带的BSP中的uboot源码就是他移植过的。
总结:uboot可以有3种获取途径:uboot官方、SoC官方、具体开发板的官方。

2、在linux源生目录下配置编译
(1)X210移植过的uboot在开发板光盘的BSP中。
(2)BSP就是board support package(板级支持包,一般由开发板供应商提供),里面的内容就是这个开发板的所有相关的源代码、文档、教程等。
(3)将整个BSP打包文件弄到linux的源生目录中去解压分析,不要在windows中的共享文件夹中解压开。(除非你的代码只在windows下去分析而不去编译,如果你想编译工程就一定不要在windows共享文件夹下,否则会出错)
(4)tar -jxvf qt_x210v3_130807.tar.bz2
(5)我们在linux下维持一份uboot,在windows下也维持一份uboot,在我们没有开始任何工作之前,这两份uboot内容一样的,都是九鼎官方的uboot 内容。我们这样做目的是:在linux中进行编译、在windwos下进行代码分析和观看。(windwos下有SourceInsight等很好的工具辅助我们看代码、编辑代码,在linux下编译和看代码都很麻烦·····)

二、配置
(1)uboot和linux kernel等复杂项目,都不能直接编译,都要先配置才能编译。
(2)uboot也要先配置,配置方法是:首先cd进入uboot源码的根目录,然后在根目录下执行:make x210_sd_config。执行配置命令后,如果出现:Configuring for x210_sd board...
说明配置好了,如果不是这个是别的说明配置出错了。

三、编译得到uboot.bin
(1)编译之前一定要注意检查arm-linux-gcc对不对,检查份2步:
第一步:检查当前编译环境中有没有安装合适的arm-linux-gcc。我们装的是arm-2009q3,因为这个是三星官方、九鼎官方开发uboot时使用的。
第二步:检查当前目录下(uboot根目录)的Makefile中编译器的设置是否正确。在工程的总Makefile中会设置交叉编译工具链的路径和名字,必须确保这个路径和名字和我们自己装的一致,否则编译会出错。
(2)确保了以上2点,即可进行编译。编译很简单,直接make即可。或者可以make -j4 (多线程编译,主机如果是多核心电脑,可以尝试多线程编译,会快一些)

生成的.bin文件就可以直接拿来烧录了

(九)uboot配置编译、源码分析的更多相关文章

  1. U-BOOT概述及源码分析(一)

    嵌入式Linux系统从软件角度通常可以分为以下4个层次: 引导加载程序 | Linux内核 | 文件系统 | 用户应用程序 嵌入式Linux系统中典型分区结构: 正常启动过程中,Bootloader首 ...

  2. UBoot配置编译及Makefile分析

    一. UBoot配置编译初步分析 1. UBoot源码结构 (1)UBoot工程项目中的文件可以分为3类 ① 第1类目录:与处理器体系结构或开发板硬件直接相关 ② 第2类目录:一些通用的函数或驱动程序 ...

  3. 深入理解Spring之九:DispatcherServlet初始化源码分析

    转载 https://mp.weixin.qq.com/s/UF9s52CBzEDmD0bwMfFw9A DispatcherServlet是SpringMVC的核心分发器,它实现了请求分发,是处理请 ...

  4. 使用react全家桶制作博客后台管理系统 网站PWA升级 移动端常见问题处理 循序渐进学.Net Core Web Api开发系列【4】:前端访问WebApi [Abp 源码分析]四、模块配置 [Abp 源码分析]三、依赖注入

    使用react全家桶制作博客后台管理系统   前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用react全家桶制作的博客后台管理系统 概述 该项目是基 ...

  5. spring cloud EurekaClient 多网卡 ip 配置 和 源码分析(转)

    https://blog.csdn.net/qq_30062125/article/details/83856655 1.前言对于spring cloud,各个服务实例需要注册到Eureka注册中心. ...

  6. JDK(九)JDK1.7源码分析【集合】HashMap的死循环

    前言 在JDK1.7&1.8源码对比分析[集合]HashMap中我们遗留了一个问题:为什么HashMap在调用resize() 方法时会出现死循环?这篇文章就通过JDK1.7的源码来分析并解释 ...

  7. uboot Makefile 文件源码分析

    Makefile 是一个神奇的文件 详情参考uboot配置和编译过程详解

  8. Django基于Pycharm开发之四[关于静态文件的使用,配置以及源码分析](原创)

    对于django静态文件的使用,如果开发过netcore程序的开发人员,可能会比较容易理解django关于静态文件访问的设计原理,个人觉得,这是一个middlerware的设计,但是在django中我 ...

  9. STL空间配置器源码分析(四)bitmap_allocator

    一.摘要 bitmap_allocator是STL空间分配器的其中一种,它采用内存池策略,最多存储64条空闲链表(freelist,实际是一块空间连续的内存区,后面也称为超级块),每条空闲链表存储的内 ...

随机推荐

  1. android相机调用及存储详解

    package com.firefly.six; import java.io.File; import java.io.FileInputStream; import java.io.FileNot ...

  2. Oracle关闭session锁

    select session_id from v$locked_object;//找到锁的sessionId   SELECT * FROM v$session //查看该sessionId以及对应的 ...

  3. CI框架 QQ接口(第三方登录接口PHP版)

    本帖内容较多,大部分都是源码,要修改的地方只有一个,其他只要复制过去,就可以完美运行.本帖主要针对CI框架,不用下载SDK,按我下面的步骤,建文件,复制代码就可以了.10分钟不要,接口就可完成.第一步 ...

  4. 怎么查看jar包版本

    jar包根目录里的META-INF目录下的MANIFEST.MF文件里一般有会记录版本信息,可以到这个文件里查看 打开Java的JAR文件我们经常可以看到文件中包含着一个META-INF目录,这个目录 ...

  5. acdream 1148 GCD SUM 莫比乌斯反演 ansx,ansy

    GCD SUM Time Limit: 8000/4000MS (Java/Others)Memory Limit: 128000/64000KB (Java/Others) SubmitStatis ...

  6. 集合、ArrayList 集合。Stack集合。Queue集合。以及Hashtable集合

    arrayList 首先复制Colections加  : 创建arrayList ar =new arrayList(); //ArrayList al=new ArrayList();        ...

  7. Linux Source命令及脚本的执行方式解析

    转 http://www.51testing.com/html/38/225738-206878.html 当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录:这时就想到用sou ...

  8. Springmvc整合tiles框架简单入门示例(maven)

    Springmvc整合tiles框架简单入门示例(maven) 本教程基于Springmvc,spring mvc和maven怎么弄就不具体说了,这边就只简单说tiles框架的整合. 先贴上源码(免积 ...

  9. 关于两个php.ini的说明

    关于两个php.ini的说明     Apache 和 php下各有一个php,ini文件 D:\wamp\bin\apache\apache2.4.9\bin\php.ini用于web访问时的配置文 ...

  10. [CF738B]Spotlights(前缀和,模拟)

    题目链接:http://codeforces.com/contest/738/problem/B 题意:问多少个0的方向,使得方向上至少有一个1. 四个方向统计一遍前缀和,向上向左正着记,向下向右倒着 ...