1通用的makefile,支持SD卡启动和在uboot下直接运行在ram
1)程序运行时地址不同 DDR2:0X20000000 SD:0X0
2)SD 16KB,需要加一个头信息,校验 RAM: 不需要头信息
2 变量集合*.c---*.o---bulid---bulid.bin ELF
TARGET:DEP
COMMAND
#define var
TARGET :=LED.bin
BULID :=led
ENV ?=SD
SDTOOLS:=./mk210
CROSS-COMPILE :=arm-linux-
COBJS +=start.o
COBJS +=main.o
CC :=$(CROSS-COMPILE)gcc
LD :=$(CROSS-COMPILE)ld
OBJCOPY:=$(CROSS-COMPILE)objcopy
CFLAGS +=-Wal
CFLAGS +=-I./inc
LDFLAGS+=-I./inc
ifeq($(ENV),RAM)
LDFLGS +=-Ttext=0x0
else
LDFLGS +=-Ttext=0x20000000
endif
#Way
all:$(TARGET)
ifeg ($ (ENV),RAM)
$(TARGET):$(BULID)
$(OBJCOPY) -O binary $^ $@
else
$(TARGET):$(BULID)
$(OBJCOPY) -O binary $^ $@.TMP
$(SDTOOLS) $@.TMP $@endif
$(TBULID):$(COBJS)
$(LD) $(LDFLAGS) -O $@ $^
%.o : %.c
$(CC) $(FLAGS)-c -o $@ $^
%.o : %.S
$(CC) $(FLAGS)-c -o $@ $^
clean:rm -f $(TARGET) $(BULID) *.o