modified to use a library instead of individual objects - can be reused for basflash.{elf|srec}
This commit is contained in:
@@ -1,7 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<?fileVersion 4.0.0?>
|
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||||
|
|
||||||
<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||||
<cconfiguration id="cdt.managedbuild.toolchain.gnu.cross.base.500844171">
|
<cconfiguration id="cdt.managedbuild.toolchain.gnu.cross.base.500844171">
|
||||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.cross.base.500844171" moduleId="org.eclipse.cdt.core.settings" name="Default">
|
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.cross.base.500844171" moduleId="org.eclipse.cdt.core.settings" name="Default">
|
||||||
@@ -168,7 +166,6 @@
|
|||||||
<buildTargets>
|
<buildTargets>
|
||||||
<target name="all" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
<target name="all" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||||
<buildCommand>make</buildCommand>
|
<buildCommand>make</buildCommand>
|
||||||
<buildArguments/>
|
|
||||||
<buildTarget>all</buildTarget>
|
<buildTarget>all</buildTarget>
|
||||||
<stopOnError>true</stopOnError>
|
<stopOnError>true</stopOnError>
|
||||||
<useDefaultCommand>true</useDefaultCommand>
|
<useDefaultCommand>true</useDefaultCommand>
|
||||||
@@ -176,6 +173,7 @@
|
|||||||
</target>
|
</target>
|
||||||
<target name="clean" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
<target name="clean" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||||
<buildCommand>make</buildCommand>
|
<buildCommand>make</buildCommand>
|
||||||
|
<buildArguments>-j</buildArguments>
|
||||||
<buildTarget>clean</buildTarget>
|
<buildTarget>clean</buildTarget>
|
||||||
<stopOnError>true</stopOnError>
|
<stopOnError>true</stopOnError>
|
||||||
<useDefaultCommand>true</useDefaultCommand>
|
<useDefaultCommand>true</useDefaultCommand>
|
||||||
@@ -183,7 +181,6 @@
|
|||||||
</target>
|
</target>
|
||||||
<target name="ram" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
<target name="ram" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||||
<buildCommand>make</buildCommand>
|
<buildCommand>make</buildCommand>
|
||||||
<buildArguments/>
|
|
||||||
<buildTarget>ram</buildTarget>
|
<buildTarget>ram</buildTarget>
|
||||||
<stopOnError>true</stopOnError>
|
<stopOnError>true</stopOnError>
|
||||||
<useDefaultCommand>true</useDefaultCommand>
|
<useDefaultCommand>true</useDefaultCommand>
|
||||||
@@ -191,12 +188,19 @@
|
|||||||
</target>
|
</target>
|
||||||
<target name="bfl" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
<target name="bfl" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||||
<buildCommand>make</buildCommand>
|
<buildCommand>make</buildCommand>
|
||||||
<buildArguments/>
|
|
||||||
<buildTarget>bfl</buildTarget>
|
<buildTarget>bfl</buildTarget>
|
||||||
<stopOnError>true</stopOnError>
|
<stopOnError>true</stopOnError>
|
||||||
<useDefaultCommand>true</useDefaultCommand>
|
<useDefaultCommand>true</useDefaultCommand>
|
||||||
<runAllBuilders>true</runAllBuilders>
|
<runAllBuilders>true</runAllBuilders>
|
||||||
</target>
|
</target>
|
||||||
|
<target name="lib" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||||
|
<buildCommand>make</buildCommand>
|
||||||
|
<buildArguments>-j</buildArguments>
|
||||||
|
<buildTarget>lib</buildTarget>
|
||||||
|
<stopOnError>true</stopOnError>
|
||||||
|
<useDefaultCommand>true</useDefaultCommand>
|
||||||
|
<runAllBuilders>true</runAllBuilders>
|
||||||
|
</target>
|
||||||
</buildTargets>
|
</buildTargets>
|
||||||
</storageModule>
|
</storageModule>
|
||||||
</cproject>
|
</cproject>
|
||||||
|
|||||||
@@ -26,6 +26,8 @@ CC=$(TCPREFIX)gcc
|
|||||||
LD=$(TCPREFIX)ld
|
LD=$(TCPREFIX)ld
|
||||||
CPP=$(TCPREFIX)cpp
|
CPP=$(TCPREFIX)cpp
|
||||||
OBJCOPY=$(TCPREFIX)objcopy
|
OBJCOPY=$(TCPREFIX)objcopy
|
||||||
|
AR=$(TCPREFIX)ar
|
||||||
|
RANLIB=$(TCPREFIX)ranlib
|
||||||
|
|
||||||
INCLUDE=-Iinclude
|
INCLUDE=-Iinclude
|
||||||
CFLAGS=-mcpu=5474\
|
CFLAGS=-mcpu=5474\
|
||||||
@@ -70,8 +72,7 @@ CSRCS= \
|
|||||||
$(SRCDIR)/wait.c \
|
$(SRCDIR)/wait.c \
|
||||||
$(SRCDIR)/s19reader.c \
|
$(SRCDIR)/s19reader.c \
|
||||||
$(SRCDIR)/flash.c \
|
$(SRCDIR)/flash.c \
|
||||||
$(SRCDIR)/basflash.c \
|
$(SRCDIR)/basflash.c
|
||||||
$(SRCDIR)/flash.c
|
|
||||||
|
|
||||||
ASRCS= \
|
ASRCS= \
|
||||||
$(SRCDIR)/startcf.S \
|
$(SRCDIR)/startcf.S \
|
||||||
@@ -85,10 +86,12 @@ COBJS=$(patsubst $(SRCDIR)/%.o,$(OBJDIR)/%.o,$(patsubst %.c,%.o,$(CSRCS)))
|
|||||||
AOBJS=$(patsubst $(SRCDIR)/%.o,$(OBJDIR)/%.o,$(patsubst %.S,%.o,$(ASRCS)))
|
AOBJS=$(patsubst $(SRCDIR)/%.o,$(OBJDIR)/%.o,$(patsubst %.S,%.o,$(ASRCS)))
|
||||||
|
|
||||||
OBJS=$(COBJS) $(AOBJS)
|
OBJS=$(COBJS) $(AOBJS)
|
||||||
|
LIBBAS=libbas.a
|
||||||
|
|
||||||
all: $(FLASH_EXEC)
|
all: $(FLASH_EXEC)
|
||||||
ram: $(RAM_EXEC)
|
ram: $(RAM_EXEC)
|
||||||
bfl: $(BASFLASH_EXEC)
|
bfl: $(BASFLASH_EXEC)
|
||||||
|
lib: $(LIBBAS)
|
||||||
|
|
||||||
.PHONY clean:
|
.PHONY clean:
|
||||||
@ rm -f $(FLASH_EXEC) $(FLASH_EXEC).elf $(FLASH_EXEC).s19 \
|
@ rm -f $(FLASH_EXEC) $(FLASH_EXEC).elf $(FLASH_EXEC).s19 \
|
||||||
@@ -110,15 +113,19 @@ endif
|
|||||||
|
|
||||||
$(BASFLASH_EXEC): $(OBJS) $(LDCBFL)
|
$(BASFLASH_EXEC): $(OBJS) $(LDCBFL)
|
||||||
$(CPP) -P -DTARGET_ADDRESS=$(BF_TARGET_ADDRESS) -DFORMAT=$(FORMAT) $(LDCBSRC) -o $(LDCBFS)
|
$(CPP) -P -DTARGET_ADDRESS=$(BF_TARGET_ADDRESS) -DFORMAT=$(FORMAT) $(LDCBSRC) -o $(LDCBFS)
|
||||||
$(LD) --oformat $(FORMAT) -Map $(MAPFILE) --cref -T $(LDCBFS) -o $@
|
$(LD) --oformat $(FORMAT) -Map $(MAPFILE) --cref -T $(LDCBFS) -L. -lbas -o $@
|
||||||
ifeq ($(COMPILE_ELF),Y)
|
ifeq ($(COMPILE_ELF),Y)
|
||||||
$(OBJCOPY) -O srec $@ $@.s19
|
$(OBJCOPY) -O srec $@ $@.s19
|
||||||
else
|
else
|
||||||
objcopy -I srec -O elf32-big --alt-machine-code 4 $@ $@.elf
|
objcopy -I srec -O elf32-big --alt-machine-code 4 $@ $@.elf
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
$(LIBBAS): $(OBJS)
|
||||||
|
$(AR) rv $@ $(OBJS)
|
||||||
|
$(RANLIB) $@
|
||||||
|
|
||||||
# compile init_fpga with -mbitfield for testing purposes
|
# compile init_fpga with -mbitfield for testing purposes
|
||||||
$(OBJDIR)/init_fpga.o: CFLAGS += -mbitfield
|
#$(OBJDIR)/init_fpga.o: CFLAGS += -mbitfield
|
||||||
|
|
||||||
# compile printf pc-relative so it can be used as well before and after copy of BaS
|
# compile printf pc-relative so it can be used as well before and after copy of BaS
|
||||||
$(OBJDIR)/bas_printf.o: CFLAGS += -mpcrel
|
$(OBJDIR)/bas_printf.o: CFLAGS += -mpcrel
|
||||||
|
|||||||
@@ -8,14 +8,7 @@ SECTIONS
|
|||||||
.text :
|
.text :
|
||||||
{
|
{
|
||||||
objs/basflash.o(.text)
|
objs/basflash.o(.text)
|
||||||
objs/unicode.o(.text)
|
|
||||||
objs/mmc.o(.text)
|
|
||||||
objs/ff.o(.text)
|
|
||||||
objs/sd_card.o(.text)
|
|
||||||
objs/s19reader.o(.text)
|
|
||||||
objs/bas_printf.o(.text)
|
|
||||||
objs/printf_helper.o(.text)
|
|
||||||
objs/cache.o(.text)
|
|
||||||
*(.data)
|
*(.data)
|
||||||
*(.bss)
|
*(.bss)
|
||||||
*(.rodata)
|
*(.rodata)
|
||||||
|
|||||||
Reference in New Issue
Block a user