>> 在前面include了一个board级别的config.mk文件 ,这个.mk文件源码中不存在, 是在顶层makefile中由x210_sd_config创建的,并在ARCH、SOC等变量后面添加TEXT_BASE,展开后就获得了一个TEXT_BASE变量 >> EXT_BASE这个变量的含义是uboot将来被链接时的起始地址, 是规定好的,但由于uboot使用虚拟地址映射,所以这个地...
在uboot中APPEND = no 所以执行else分支的语句; config.h也是在include文件夹中; 所以在config.h中的语句是:
Ubootb编译第一步通常是执行make xxx_config,在编译指定顶层目录生成.config文件,这种方式要求厂商提供一个基础的xxx_config文件(通常来说开发者不会通过执行make menuconfig从零开始配置,这个工作过量太大了)。本文接下来的章节主要解析这条指令背后主要做了什么。我是用的开发板执行命令为:make myimx8mmek240-8mm-...
CONFIG_IS_ENABLED(DM_MMC),来判断是否打开DM驱动模型。 在管理驱动的Makefile文件中,也能看到obj-$(CONFIG_$(SPL_)DM_MMC) += mmc-uclass.o,来判断是否将驱动模型加入到编译选项中。 总之,我们要打开DM模型,最后反映在几个配置信息上: CONFIG_DM=y,全局DM模型打开 CONFIG_DM_XXX=y,某个驱动的DM模型的...
3. 创建 include/config.mk 文件 代码:120 ~ 130行 创建include/config.mk 文件:将 ARCH=arm、CPU=s5pc11x、BOARD=x210、VENDOR=samsung、SOC=s5pc110 写入到 include/config.mk 文件中。 创建的 include/config.mk 文件是为了让主 Makefile 在 133 行去包含的。
创建include/config.mk文件:将关键配置信息写入到config.mk文件中,此文件在主Makefile中被包含,指导整个编译流程。创建include/config.h头文件:依据APPEND参数决定是否追加内容或创建新文件,包含关键宏定义,是移植特定开发板时的核心配置文件,指导uboot中其他源文件的编译。总结:mkconfig脚本简化了uboot...
创建include/config.mk 文件:将 ARCH=arm、CPU=s5pc11x、BOARD=x210、VENDOR=samsung、SOC=s5pc110 写入到 include/config.mk 文件中。 创建的 include/config.mk 文件是为了让主 Makefile 在 133 行去包含的。 4. 创建 include/config.h 头文件
uboot的设备树文件位于arch//dts目录下,可通过以下选项为目标板选择一个默认的dts文件: CONFIG_DEFAULT_DEVICE_TREE="xxx” 这是因为与内核不一样,uboot最终的镜像会和dtb打包在一个镜像文件中,因此在编译流程中就需要知道最终被使用的dtb。关于uboot镜像与dtb之间的关系后续在分析,先梳理流程。
文件位置:u-boot/board/mini2440/u-boot.lds。 OUTPUT_FORMAT("elf32-littlearm","elf32-littlearm","elf32-littlearm")/*指定输出可执行文件是elf格式,32位ARM指令,小端*/ OUTPUT_ARCH(arm) /*指定输出可执行文件的platform为ARM*/ ENTRY(_start) /*指定输出可执行文件的起始地址为_start*/ ...
1、创建到目标板相关文件的链接 ln -s asm-arm asm ln -s arch-s3c24x0 asm-arm/arch ln -s proc-armv asm-arm/proc 2、创建include/文件,内容如下: ARM = arm CPU = arm920t BOARD = smdk2410 VENDOR = samsung SOC = s3c24x0 3、创建与目标板相关的头文件include/config.h ...