u-boot移植 - 构建所需的文件

u-boot的Makefile

板子是飞凌ok6410a,芯片s3c6410。

u-boot代码

确实忘了在哪里下的了,在这里贴上我的网盘分享内容:


Makefile

  • include\config.mk
这是必须要配置的,通过在根目录下执行命令“make smdk6410_config”生成,我的include\config.mk文件内容如下:

ARCH   = arm
CPU    = s3c64xx
BOARD  = smdk6410
VENDOR = samsung
SOC    = s3c6410


构建需要的文件

从MakeFile可以一窥需要构建的文件,从中可以提示我们在sourceInsight中哪些文件需要添加到工程中。uboot的构建以来一些.o和.a文件,具体如下:

OBJS  = cpu/$(CPU)/start.o
ifeq ($(CPU),i386)
OBJS += cpu/$(CPU)/start16.o
OBJS += cpu/$(CPU)/reset.o
endif
OBJS += cpu/$(CPU)/resetvec.o
ifeq ($(CPU),ppc4xx)
endif
ifeq ($(CPU),mpc85xx)
ifeq ($(CPU),mpc86xx)
OBJS += cpu/$(CPU)/resetvec.o
endif
OBJS += cpu/$(CPU)/resetvec.o
endif
OBJS += cpu/$(CPU)/start1.o	cpu/$(CPU)/interrupt.o	cpu/$(CPU)/cache.o
ifeq ($(CPU),bf533)
OBJS += cpu/$(CPU)/cplbhdlr.o	cpu/$(CPU)/cplbmgr.o	cpu/$(CPU)/flush.o
LIBS += board/$(BOARDDIR)/lib$(BOARD).a
endif

OBJS := $(addprefix $(obj),$(OBJS))

LIBS  = lib_generic/libgeneric.a
LIBS += lib_$(ARCH)/lib$(ARCH).a
LIBS += cpu/$(CPU)/lib$(CPU).a
ifdef SOC
LIBS += cpu/$(CPU)/$(SOC)/lib$(SOC).a
endif
	fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a
LIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a \
LIBS += net/libnet.a
LIBS += disk/libdisk.a
LIBS += rtc/librtc.a
LIBS += drivers/onenand/libonenand.a
LIBS += dtt/libdtt.a
LIBS += drivers/libdrivers.a
LIBS += drivers/nand/libnand.a
LIBS += drivers/nand_legacy/libnand_legacy.a
# add to support onenand. by scsuh
LIBS += $(BOARDLIBS)
ifeq ($(CPU),mpc83xx)
LIBS += drivers/qe/qe.a
endif
LIBS += drivers/sk98lin/libsk98lin.a
LIBS += post/libpost.a post/cpu/libcpu.a
LIBS += common/libcommon.a

.PHONY : $(LIBS)
LIBS := $(addprefix $(obj),$(LIBS))

注:

= 是最基本的赋值
:= 是覆盖之前的值
?= 是如果没有被赋值过就赋予等号后面的值
+= 是添加等号后面的值

我们注意到有两个变量:

BOARDLIBS
BOARDDIR


这两个变量定义在顶层目录的config.mk文件中,依据include\config.mk的内容而定:

ifdef	VENDOR
BOARDDIR = $(VENDOR)/$(BOARD)
else
BOARDDIR = $(BOARD)
endif



(BOARDLIBS待添加)


整理下,sourceInsight需要添加的文件则是:

cpu\s3c64xx

Lib_generic

board\samsung

lib_arm

fs

net

disk

rtc

dtt

drivers下所有源文件

drivers\nand

drivers\nand_legacy

drivers\onenand

drivers\sk98lin

post

common

include(有平台差异的选择对应平台)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值