U Boot 1 1 6的編譯過程

2021-06-18 03:31:19 字數 1082 閱讀 7406

從頂層makefile說起:

92行:mkconfig := $(srctree)/mkconfig
其中的mkconfig是乙個shell指令碼,srctree預設值為u-boot的頂層目錄。

117行:include $(objtree)/include/config.mk
include/config.mk由92行的指令碼建立,下面會看到mkconfig的呼叫。

128行:cross_compile = arm-linux-
交叉編譯工具鏈的設定,後面有更具體的設定。

164行:include $(topdir)/config.mk
頂層的config.mk設定編譯選項、編譯工具,包含開發板相關的配置檔案,其中使用了117行include/config.mk中的變數,包括目標、架構、cpu、開發板、晶元**商、soc

包含以下檔案:

arm_config.mk

cpu/arm920t/config.mk

cpu/arm920t/s3c24x0/config.mk(該檔案不存在)

board/smdk2410/config.mk

board/smdk2410/u-boot.lds

1879行:smdk2410_config : unconfig

@$(mkconfig) $(@:_config=) arm arm920t smdk2410 null s3c24x0

其中mkconfig為92行的shell指令碼,引數共6個:smdk2410 arm arm920t smdk2410 null s3c24x0,前4個是必需的,後兩個視情況而定。

該指令碼生成以下檔案:

在include/下建立ln -s asm-arm asm

在include/asm-arm/建立ln -s arch-s3c24x0 arch

asm-arm/下ln -s proc-armv proc

建立include/config.mk

建立includd/config.h

UBOOT 1 1 6 錯誤集合

1.1.6的u boot老掉牙了,用版本高的編譯器編譯會出現莫名其妙的問題 實際是我不懂 usr local arm 4.4.3 bin lib gcc arm none linux gnueabi 4.4.3 libgcc.a udivsi3.o in function aeabi uidiv o...

u boot 1 1 6分析(二)編譯鏈結過程

分析頂層makefile 117行包含了配置過程生成的config.mk檔案 include objtree include config.mk選擇對應的交叉編譯工具鏈 ifndef cross compile ifeq hostarch ppc cross compile else ifeq ar...

u boot 1 1 6分析(一)配置過程

在arm板上電時,為了執行操作linux系統,需要先初始化工作,如初始化各種硬體 設定棧指標 載入作業系統等,完成這些任務的程式就是bootloader,它是上電執行的第一段程式。bootloader種類眾多,在arm上用得較多的有u boot和vivi 不同板子有不同的硬體配置,bootloade...