U-Boot

u-boot : Relocation

北战南征 提交于 2019-12-03 09:08:52
问题 This one is a basic question related to u-boot. Why does the u-boot code relocate itself ? Ok, it makes sense if u-boot is executing from NOR-flash or boot ROM space but if it runs from SDRAM already why does it have to relocate itself once again ? 回答1: This question comes up frequently. Good answers sometimes too. I agree it is handy to load the build to SDRAM during development. That works for me, I do it all the time. I have some special boot code in flash which does not enable MMU/cache.

How does the bootloader pick up the command after a “restarting system with command”?

自古美人都是妖i 提交于 2019-12-03 05:55:16
Looking in the android source for the reboot command we find the following line: __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, \ LINUX_REBOOT_CMD_RESTART2, argv[optind]); Which is the standard Linux system call to reboot the system with a specific command, see Unix System Call Reboot . In Android this command is used to tell the bootloader to start either the kernel in recovery mode or to go to the fastboot mode within the bootloader. My question is: How does the bootloader pick up the command? And is this functionality implemented in U-Boot? (I am unable to find it searching either

imx6q 修改开机LOGO指南

混江龙づ霸主 提交于 2019-12-03 03:49:39
imx6q 修改开机LOGO指南 在电鱼电子从事多年,对imx6q这款产品有点经验可谈,特此分享与大家共同探讨,下面是我关于imx6q修改开机LOGO的做法: 1 修改u-boot中的LOGO 1 更换logo 替换 u-boot-imx/2015.04-r0/git/tools/logos/目录下的freescale.bmp,注意这里要替换的图片一定是256色的位图,如果是24位色的图片转换可能会出错,造成图片显示不正常。 我们也可以,直接把自己需要显示的文件不命名为freescale.bmp,那就需要自己修改u-boot-imx/2015.04-r0/git/tools/Makefile文件,将LOGO_BMP=后面的路径设置为自己的图片的名称。 编译的时候,bmp_logo会将我们指定的图片转换为数组文件,保存在/u-boot-imx/2015.04-r0/git/mx6qsabresd_config/include/目录下的bmp_logo.h、bmp_logo_data.h中 2 将图片居中显示 修改 u-boot-imx/2015.04-r0/git/drivers/video/cfb_console.c 在函数static void *video_logo(void)中修改 splash_get_pos(&video_logo_xpos, &video_logo

u-boot : Relocation

匿名 (未验证) 提交于 2019-12-03 02:51:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: This one is a basic question related to u-boot. Why does the u-boot code relocate itself ? Ok, it makes sense if u-boot is executing from NOR-flash or boot ROM space but if it runs from SDRAM already why does it have to relocate itself once again ? 回答1: This question comes up frequently. Good answers sometimes too. I agree it is handy to load the build to SDRAM during development. That works for me, I do it all the time. I have some special boot code in flash which does not enable MMU/cache. For my u-boot builds I switch CONFIG_SYS_TEXT_BASE

what is the use of SPL (secondary program loader)

霸气de小男生 提交于 2019-12-03 02:22:27
问题 I am confused in clearing my concepts regarding these three questions why do we need a secondary program loader ? in which memory it gets loaded and relocated ? what is the difference between system internal memory and RAM ? as far as I understand via reading links is .. SPL is required when the system internal memory can not hold the uboot completely so we need to initialize memory using a minimal piece of code called SPL . Does SPL actually relocate or it is only uboot which relates itself?

u-boot : Relocation

廉价感情. 提交于 2019-12-03 02:14:04
This one is a basic question related to u-boot. Why does the u-boot code relocate itself ? Ok, it makes sense if u-boot is executing from NOR-flash or boot ROM space but if it runs from SDRAM already why does it have to relocate itself once again ? Joe Kul This question comes up frequently. Good answers sometimes too. I agree it is handy to load the build to SDRAM during development. That works for me, I do it all the time. I have some special boot code in flash which does not enable MMU/cache. For my u-boot builds I switch CONFIG_SYS_TEXT_BASE between flash and ram builds. I run my

How to add customised ATAG variable in U-Boot and Linux kernel?

匿名 (未验证) 提交于 2019-12-03 02:05:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I want to add customized atag variable in U-Boot and Linux kernel. How can i achieve this? Is there any procedure to add an ATAG variable in U-Boot and Linux ? 回答1: Follow this procedure , To achieve this goal, there're 2 parts need to be modified. One is the U-Boot, and the other one is the Linux kernel. 1. U-Boot changes required : A. Make sure the CONFIG_CMDLINE_TAG/CONFIG_SETUP_MEMORY_TAGS/CONFIG_INITRD_TAG are defined in you project definition header file ( u-boot/include/configs/am335x_evm.h ), and we can add our own tag here, eg.

U-boot

匿名 (未验证) 提交于 2019-12-03 00:42:01
来源:https://blog.csdn.net/czg13548930186/article/details/76244596 U-Boot,全称 Universal Boot Loader,是遵循GPL条款的开放源码项目。U-Boot的作用是系统引导。 U-Boot从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是根据相应的Linux内核源程序进行简化而形成的,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。 pc上电,bios(引导操作系统)、识别C盘、运行应用程序。 什么是补丁? 怎么打补丁? tar xjf u -boot - 1.1 .6 .tar .bz2 cd u -boot - 1.1 .6 / patch -p1 < ../u -boot - 1.1 .6_jz2440 .patch 1 2 3 -p1 是忽略配置文件中的第一个参数,即,u-boot-1.1.6/和u-boot-1.1.6_jz2440/ --- 表示原来的代码, +++ tar xjf u -boot - 1.1 .6 .tar .bz2 //解压缩 patch -p1 < ../u -boot - 1.1 .6_jz2440 .patch //打补丁 make 100ask24x0

u-boot-2018.05之make编译过程分析

匿名 (未验证) 提交于 2019-12-03 00:29:01
综述 u-boot 自 v2014.10 版本开始引入 KBuild 系统,同更改前的编译系统相比,由于 Kbuild 系统的原因,其 Makefile 变得更加复杂。 u-boot的编译跟kernel编译一样,分两步执行: 第一步:配置,执行 make xxx_defconfig 进行各项配置,生成 .config 文件 第二部:编译,执行 make 进行编译,生成可执行的二进制文件u-boot.bin或u-boot.elf Makefile的核心是依赖和命令。对于每个目标,首先会检查依赖,如果依赖存在,则执行命令更新目标;如果依赖不存在,则会以依赖为目标,先生成依赖,待依赖生成后,再执行命令生成目标。 博客《》详尽解释了第一步的操作,在这一步中,u-boot执行配置命令 make xxx_defconfig 时先搜集所有默认的 Kconfig 配置,然后再用命令行指定的 xxx_defconfig 配置进行更新并输出到根目录的 .config 文件中。 配置完成后执行make命令生成二进制文件的过程,由于涉及的依赖和命令很多,也将make编译过程分析分为两部分,目标依赖和命令执行。 博客《》中描述了 make 过程中的依赖关系 本篇主要分析 make 过程中的通过命令生成各个目标的依赖,从而一步一步更新目标,直至更新并生成顶层目标 u-boot.bin 。 第二部分

u-boot-2018.05之make编译过程目标依赖分析

匿名 (未验证) 提交于 2019-12-03 00:29:01
- 第一步:配置,执行 make xxx_defconfig 进行各项配置,生成 .config 文件 ( u-boot-2018.05之make配置过程分析 ) - 第二步:编译,执行 make 进行编译,生成可执行的二进制文件u-boot.* 顶层目标依赖 _all 和 all 对 $(ALL-y) 的依赖 从顶层Makefile开始查找,首先找到的是 _all 伪目标: # That's our default target when none is given on the command line PHONY := _all _all: 紧接着会对 _all 伪目标添加 all 伪目标的依赖: PHONY += all ifeq ($(KBUILD_EXTMOD),) _all: all else _all: modules endif all 自身依赖于 $(ALL-y) all: $(ALL-y) $(ALL-y) 对 u-boot 目标文件的依赖 $(ALL-y) 定义了最终需要生成所有文件: # Always append ALL so that arch config.mk's can add custom ones ALL-y += u-boot.srec u-boot.bin u-boot.sym System.map u-boot.cfg binary