①:u-boot分析之编译体验

标签: u-boot 分析之编译体验
30人阅读 评论(0) 收藏 举报
分类:

第001课_U-boot分析与使用,第001节_u-boot分析之编译体验


u-boot分析之编译体验


小笔记

一、

一上电:

PC → BIOS → 引导操作系统 → 识别C盘、D盘 → 运行应用程序,QQ、MSN

嵌入式系统 → bootloader(u-boot)→ linux内核 → 挂接根文件系统 → 应用程序


二、

bootloader,最终目的是启动内核。


三、

① 解压缩:tar xjf ***.bz2;(uboot源代码压缩文件)

② 打补丁:patch -p1 < ..补丁文件;

③ 配置:make 100ask24x0_config;

④ 编译:make;


四、

最终目的:

从Flash读出内核,放到SDRAM;

然后启动内核。


五、

U-Boot要实现的功能:

① 能够读Flash+写Flash;(为开发方便:①写Flash  ②网卡  ③USB)

②初始化SDRAM,初始化时钟,初始化串口;

③启动内核;


总结:

U-Boot:单片机程序。

(硬件相关初始化)

关看门狗,      

初始化时钟,

初始化SDRAM,       

从Flash读出内核,

启动内核。


开发功能:

烧写Flash

网卡

USB

串口





U-Boot配置过程

单片机程序 UBoot


补丁文件中修改过的代码表示:

“---”表示原来代码。

“+++”表示修改后的代码。


打开补丁文件(u-boot-1.1.6_jz2440.patch):

@@-0,0+1,566@@

“-”表示没有修改过的代码;“+”表示修改后的代码

原来代码的从34开始,往下共6行。修改之后的代码也是从34行开始,但是修改后是往下8行。


原来的6行是“1,2,3,6,7,8”行。中间“4,5”两行前面有“+”表示增加的内容。


补丁打到哪里去?


显示是补丁打到:u-boot-1.1.6/board/100ask24x0/100ask24x0.c 这个源代码去。打补丁时一般已经是进入到u-boot-1.1.6这个目录。

因为已经在u-boot-1.1.6这个目录下,所以写path时忽略去目录“u-boot-1.1.6”。用到参数“-p1”,是指忽略去第一个“/”前的路径。

所以在u-boot-1.1.6这个目录下,键入命令:patch -p1 < ../u-boot-1.1.6-jz2440.patch,即可打补丁。


u-boot命令:

print:打印出环境变量


set bootdelay 10:设置“倒数计时”为10秒。加save命令保存,reset命令重启后可以看到“倒数计时”。




总结:

一、UBoot目标是启动内核:从flash上读出内核到SDRAM中去。启动内核。

二、硬件相关的初始化:关‘看门狗’、‘初始化时钟’、‘初始化SDRAM’、‘从Flash上读出内核’、‘启动内核’。

三、增强功能:烧写Flash(从网卡或从USB)。串口(通过串口写指令)。

1、读flash;

2、初始化SDRAM;

初始化时钟,单板上电后是以12M运行的(晶振为12M)。

初始化串口。为开发板方便要写flash功能(通过网络或USB烧镜像到单板上)。


查看评论

u-boot-2009.08工程编译过程分析

1、背景:     由于项目需求,需要了解bootloader的相关知识,而项目中使用到的bootloader为u-boot-2009.08, 所以本博文以u-boot的2009.08版本为基础进行分...
  • hpblovechj
  • hpblovechj
  • 2015-12-31 09:43:12
  • 522

【u-boot】u-boot-2017.05启动过程分析(一)

u-boot发展至今,版本已经很多,随着版本的升级,框架越来越复杂,不过其启动流程的核心过程都是一样的,本博文以当前最新u-boot-2017.05为例分析其启动过程,主要以框架为主。 u-boot的...
  • qq_38144425
  • qq_38144425
  • 2017-06-19 12:00:54
  • 2030

Beaglebone Black——嵌入式linux系统u-boot编译

一、u-boot编译           首先是源码的来源,由于使用d
  • zy812248258
  • zy812248258
  • 2014-09-13 16:30:32
  • 3397

U-boot配置及编译阶段流程宏观分析

U-boot配置及编译阶段流程分析通过配置和编译,我们才能从U-boot的源码得到可执行的程序。 本文以x210这块板子(基于s5pv210)为例,详细分析U-boot配置及编译阶段的流程。1. 文...
  • qq_28992301
  • qq_28992301
  • 2016-07-03 10:38:41
  • 1130

u-boot-2016.09 make编译过程分析(一)

上一篇文章《》详尽分析了u-boot执行配置命令make xxx_defconfig的整个流程,本文着眼于编译流程,即配置完成后执行make命令生成二进制文件的过程。由于涉及的依赖和命令很多,也将ma...
  • guyongqiangx
  • guyongqiangx
  • 2016-09-17 21:18:07
  • 2961

u-boot-2016.09 make编译过程分析(二)

上一篇文章详尽分析了u-boot执行配置命令make xxx_defconfig的整个流程,本文着眼于编译流程,即配置完成后执行make命令生成二进制文件的过程。由于涉及的依赖和命令很多,也将make...
  • guyongqiangx
  • guyongqiangx
  • 2016-10-08 23:25:08
  • 2397

u-boot-2012.04.01的配置编译过程分析.doc

uboot分析之配置过程 基于u-boot-2012.04.01.tar.bz2 一: 问:我们在编译uboot的时候,先是执行make smdkc100_config命令(配置),然后...
  • wanyong89
  • wanyong89
  • 2013-01-15 00:14:27
  • 1597

嵌入式Linux学习:u-boot源码分析(3)--AM335X系列的2014.10版

本文主要分析了SPL阶段中关于UARU是如何进行初始化的!
  • u012176730
  • u012176730
  • 2017-01-25 12:22:53
  • 1588

嵌入式Linux学习:u-boot源码分析(2)--AM335X系列的2014.10版

源码分析 第二波 详细介绍了s_int()中的save_omap_boot_params函数
  • u012176730
  • u012176730
  • 2017-01-24 15:53:14
  • 1127

u-boot配置和编译过程详解

备注:分析的是OK210开发板自带的uboot_smdkv210,可能有些部分和其他版本不太一样,但是原理都类似。编译u-boot的步骤make forlinx_linux_config make首先...
  • Kevin_Mr
  • Kevin_Mr
  • 2016-05-16 21:43:21
  • 12597
    个人资料
    持之以恒
    等级:
    访问量: 1万+
    积分: 1841
    排名: 2万+
    文章存档
    最新评论