u-boot移植

来源:互联网 发布:mysql时间函数 编辑:程序博客网 时间:2024/06/03 09:47

u-boot的Makefile

板子是飞凌ok6410a,芯片s3c6410。

u-boot代码

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


Makefile

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

ARCH   = armCPU    = s3c64xxBOARD  = smdk6410VENDOR = samsungSOC    = s3c6410


构建需要的文件

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

OBJS  = cpu/$(CPU)/start.oifeq ($(CPU),i386)OBJS += cpu/$(CPU)/start16.oOBJS += cpu/$(CPU)/reset.oendifOBJS += cpu/$(CPU)/resetvec.oifeq ($(CPU),ppc4xx)endififeq ($(CPU),mpc85xx)ifeq ($(CPU),mpc86xx)OBJS += cpu/$(CPU)/resetvec.oendifOBJS += cpu/$(CPU)/resetvec.oendifOBJS += cpu/$(CPU)/start1.ocpu/$(CPU)/interrupt.ocpu/$(CPU)/cache.oifeq ($(CPU),bf533)OBJS += cpu/$(CPU)/cplbhdlr.ocpu/$(CPU)/cplbmgr.ocpu/$(CPU)/flush.oLIBS += board/$(BOARDDIR)/lib$(BOARD).aendifOBJS := $(addprefix $(obj),$(OBJS))LIBS  = lib_generic/libgeneric.aLIBS += lib_$(ARCH)/lib$(ARCH).aLIBS += cpu/$(CPU)/lib$(CPU).aifdef SOCLIBS += cpu/$(CPU)/$(SOC)/lib$(SOC).aendiffs/reiserfs/libreiserfs.a fs/ext2/libext2fs.aLIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a \LIBS += net/libnet.aLIBS += disk/libdisk.aLIBS += rtc/librtc.aLIBS += drivers/onenand/libonenand.aLIBS += dtt/libdtt.aLIBS += drivers/libdrivers.aLIBS += drivers/nand/libnand.aLIBS += drivers/nand_legacy/libnand_legacy.a# add to support onenand. by scsuhLIBS += $(BOARDLIBS)ifeq ($(CPU),mpc83xx)LIBS += drivers/qe/qe.aendifLIBS += drivers/sk98lin/libsk98lin.aLIBS += post/libpost.a post/cpu/libcpu.aLIBS += common/libcommon.a.PHONY : $(LIBS)LIBS := $(addprefix $(obj),$(LIBS))

注:

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

我们注意到有两个变量:

BOARDLIBSBOARDDIR


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

ifdefVENDORBOARDDIR = $(VENDOR)/$(BOARD)elseBOARDDIR = $(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
原创粉丝点击