![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
u-boot
linuxweiyh
这个作者很懒,什么都没留下…
展开
-
【u-boot-2018.11】tool之mkimage
mkimage是u-boot下的一个工具,该工具是用来制作不压缩或压缩的多种可启动映像文件。一般情况下,使用mkimage制作映像文件的时候,是在原来的可执行映像文件的前面加上一个0x40字节的头,记录参数所指定的信息,这样u-boot才能识别这个映像是针对哪个CPU体系架构的,哪个OS的,哪种类型,加载到内存中的哪个位置,入口地址在内存中的哪个位置及映像文件名是什么。它的使用方式如下:...原创 2019-10-28 22:21:27 · 860 阅读 · 0 评论 -
【u-boot-2018.11】编译工具链常用命令
编译工具链常用命令:命令1:arm-linux-gcc用于编译过程,常用的选项包括:-g:产生调试信息,用于GDB调试 -c:编译源文件,但是不链接命令2:arm-linux-ld用于链接过程,常用的选项包括:-Ttext:指定链接地址命令3:arm-linux-objcopy用于格式转换,可以将elf文件转换为bin文件,常用选项包括:-O:指定以什么格式输出,...原创 2019-10-28 21:50:35 · 332 阅读 · 0 评论 -
【u-boot-2018.11】源码分析之board_init_f
1.board_init_f:(common/board_f.c)// 该函数在crt0.S中被调用,boot_flags=0void board_init_f(ulong boot_flags){ // 标志为0 gd->flags = boot_flags; // 终端标志为0 gd->have_console = 0; // 执行初始化链表...原创 2019-10-05 14:38:40 · 577 阅读 · 0 评论 -
【u-boot-2018.11】源码分析之gd_t(struct golobal_data)
一、global_data功能global_data又称为GD,顾名思义,global_data就是用来存储u-boot的全局数据的。二、global_data结构体介绍typedef struct global_data { bd_t *bd; /* bd_info结构体定义,位于include/asm-generic/u-boot.h中,用于保存开发板相关参数 */ u...原创 2019-10-04 22:45:05 · 795 阅读 · 0 评论 -
【u-boot-2018.11】源码分析之lowlevel_init.S
arch/arm/cpu/armv7/lowlevel_init.S:#include <asm-offsets.h>#include <config.h>#include <linux/linkage.h>.pushsection .text.s_init, "ax"WEAK(s_init) bx lrENDPROC(s_init).po...原创 2019-10-02 19:35:08 · 485 阅读 · 0 评论 -
【u-boot-2018.11】源码分析之start.S
arch/arm/cpu/armv7/start.S:#include <asm-offsets.h>#include <config.h>#include <asm/system.h>#include <linux/linkage.h>#include <asm/armv7.h>/*******************...原创 2019-10-02 19:23:20 · 519 阅读 · 0 评论 -
【u-boot-2018.11】源码分析之vectors.S
arch/arm/lib/vectors.S#include <config.h>/* * A macro to allow insertion of an ARM exception vector either * for the non-boot0 case or by a boot0-header. *//* 宏,定义了异常向量表,用来插入boot的头部 */...原创 2019-10-02 17:21:56 · 1307 阅读 · 0 评论 -
【u-boot-2018.11】源码分析之crt0.S
arch/arm/lib/crt0.S:/*此文件处理U-Boot启动的与目标无关的阶段,其中需要C运行时环境。它的入口点是_main,并从目标的start.S文件跳转到它。_main执行顺序为:1.为调用board_init_f()设置初始环境。该环境只提供一个堆栈和一个存储GD(“全局数据”)结构的位置,两者都位于一些可用的RAM (SRAM、锁定的缓存……)中。在这种情况...原创 2019-10-02 16:56:23 · 1058 阅读 · 0 评论 -
【u-boot-2018.11】源码分析之sections.c
arch/arm/lib/sections.c:/*这两个符号在一个C文件中声明,因此链接器使用R_ARM_RELATIVE重定位,而不是在链接器文件中定义符号时使用的R_ARM_ABS32。仅使用R_ARM_RELATIVE重新定位可确保对符号的引用在重新定位之后和之前都是正确的。对于这些符号,我们需要一个0字节大小的类型,而编译器不允许定义C类型的对象“void”。编译器允许使用...原创 2019-10-02 12:19:25 · 253 阅读 · 0 评论 -
【u-boot-2018.11】make工具之conf
1. 概述conf的源码位于scripts/kconfig目录下。2. conf的编译u-boot配置过程执行make pangu_basic_defconfig V=1,对应于顶层Makefile中的%config目标:%config: scripts_basic outputmakefile FORCE $(Q)$(MAKE) $(build)=scripts/kconfi...原创 2019-09-17 22:48:24 · 2517 阅读 · 1 评论 -
【u-boot-2018.11】链接脚本分析
1. 链接脚本生成1.1 指定链接脚本模板文件在顶层Makefile中会根据设置指定链接脚本的模板文件:# If board code explicitly specified LDSCRIPT or CONFIG_SYS_LDSCRIPT, use# that (or fail if absent). Otherwise, search for a linker script ...原创 2019-09-02 22:16:14 · 985 阅读 · 0 评论 -
【u-boot-2018.11】make工具之fixdep
1. 概述fixdep工具的源码位于scripts/basic/fixdep.c中,代码本身并不复杂,但其作用是什么?哪里调用?如何调用?请看下面一一道来。2. 哪里调用直接在u-boot源码目录下搜索:命令: grep -rnw fixdep . --exclude-dir=basic结果: ./scripts/Makefile.build:270: ...原创 2019-09-01 12:26:42 · 3725 阅读 · 3 评论 -
【u-boot-2018.11】make编译过程目标依赖分析
一、u-boot编译uboot的编译分为两步:配置、编译。(1)第一步:配置,执行makepangu_basic_defconfig进行配置,生成.config文件(2)第二步:编译,执行make进行编译,生成u-boot.*。二、u-boot编译过程目标依赖分析1. u-boot目标依赖关系图根据以上目标依赖关系图,为了分析方便,将整个目标依赖图分为三部分:_all...原创 2019-08-01 22:15:15 · 2272 阅读 · 1 评论 -
uboot添加对新板子的支持
转载地址:https://blog.csdn.net/q_z_r_s/article/details/80797999If the system board that you have is not listed, then you will needto port U-Boot to your hardware platform. To do this, follow thesestep...转载 2019-07-18 19:43:28 · 940 阅读 · 0 评论 -
【u-boot-2018.11】make编译过程分析
在【u-boot-2018.11】make编译过程目标依赖分析中分析依赖关系时采用自顶向下的方法,从顶层目标开始到最原始的依赖。此处采用自下而上的方式,先从最原始的依赖开始,一步一步,执行命令生成目标。1.prepare系列的目标分析prepare系列的目标依赖关系如下:1.1 .config.config是在执行make pangu_basic_defconfig配置时生...原创 2019-08-26 22:47:57 · 2874 阅读 · 0 评论 -
【u-boot-2018.11】make配置过程分析
一、u-boot编译u-boot的编译分为两步:配置、编译。(1)第一步:配置,执行makepangu_basic_defconfig进行配置,生成.config文件(2)第二步:编译,执行make进行编译,生成u-boot.*。二、u-boot配置过程分析u-boot从u-boot-2014.10版本引入Kbuild系统以后,Makefile的管理和组织跟以前版本有了很大的...原创 2019-08-12 21:51:38 · 1011 阅读 · 0 评论