uboot
linux之uboot的
Croxd
这个作者很懒,什么都没留下…
展开
-
深入浅析Linux下uboot之(一)-----------------------:前世今生(启动流程总结)
什么是uboot:uboot就是universal bootloader(通用的启动代码),通用的意思就是说uboot具有可移植性。具有在源代码级别的移植能力,可以针对多个开发板进行移植,移植后就可以在这个开发板上使用。uboot是SourceForge上的开源项目,是一个德国人最早发起的项目,被许多人认可使用,然后由整个网络上所有感兴趣的人共同维护发展而来的一个bootloader。在大部分...原创 2019-07-25 08:59:42 · 622 阅读 · 0 评论 -
深入浅析Linux下uboot之(二)-----------------------:uboot的目录分析
一般我们uboot可以通过3种途径去下载获得:uboot官方、SoC官方、具体开发板的官方。所有uboot源头的源代码是uboot官网下载的。SoC厂商在推出一款SoC后,厂商的工程师会去uboot官网下载一个uboot,根据自己的SoC进行第一步的移植,移植的目标是厂商推出的开发板。(譬如三星的S5PV210芯片厂商出的开发板就叫SMDKV210).所以三星的工程师移植的uboot是根据他们...原创 2019-07-30 15:11:55 · 409 阅读 · 0 评论 -
深入浅析Linux下uboot之(三)-----------------------:Makefile分析
Makefile 是配置整个 uboot 的关键。VERSION = 2PATCHLEVEL = 3SUBLEVEL = 4EXTRAVERSION =U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)VERSION_FILE = $(obj)include/version_autogenerat...原创 2019-08-01 14:40:11 · 434 阅读 · 0 评论 -
深入浅析Linux下uboot之(四)-----------------------:链接脚本 u-boot.lds 分析
通过之前的 Makefile 的分析,可以知道 在Makefile 中 include $(obj)include/config.mk(133行),定位到跟 Makefile 同目录的config.mk 里面的 144-148行:ifeq ($(CONFIG_NAND_U_BOOT),y)LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot-na...原创 2019-08-06 09:13:56 · 251 阅读 · 0 评论 -
深入浅析Linux下uboot之(五)-----------------------:uboot 启动的第一阶段(详解)
经过上一节 链接脚本 u-boot.lds 分析:ENTRY(_start)用来指定整个程序的入口地址。所谓入口地址就是整个程序的开头地址,可以认为就是整个程序的第一句指令。有点像C语言中的main。因此_start符号所在的文件就是整个程序的起始文件,_start所在处的代码就是整个程序的起始代码。用搜索代码工具搜索到一共7个_start,然后分析搜索出来的7处,发现有2个是api_exampl...原创 2019-08-07 14:23:02 · 893 阅读 · 0 评论 -
深入浅析Linux下uboot之(六)-----------------------:uboot 启动的第一阶段之 lowlevel_init
lowlevel_init 里面实现了cpu 相关硬件初始化:检查复位状态、IO恢复、关看门狗、开发板供电锁存、时钟初始化、DDR初始化、串口初始化并打印'O'、tzpc初始化、打印'K'。lowlevel_init 函数真正的地方,是在uboot/board/samsumg/x210/lowlevel_init.S中。目录检查复位状态:IO 状态的恢复:关看门狗:供电锁存:...原创 2019-08-07 14:23:28 · 544 阅读 · 0 评论 -
深入浅析Linux下uboot之(七)-----------------------:uboot 启动的第二阶段
uboot 启动的第一阶段远跳转到 start_armboot。 它在uboot/lib_arm/board.c 中,是 uboot 第二阶段代码的入口。第一阶段是汇编语言实现的,而第二阶段的代码是用 C 语言实现的。第一阶段在SRAM中、第二阶段在DRAM中。第一阶段注重SoC内部、第二阶段注重SoC外部Board内部。目录为 gd 和 bd 的分配内存init_sequence函...原创 2019-08-16 11:33:15 · 732 阅读 · 0 评论