proceed in porting to m5484l

This commit is contained in:
Markus Fröschle
2013-10-31 14:12:11 +00:00
parent 48e0261f18
commit d0d052dd7b
5 changed files with 45 additions and 8 deletions

View File

@@ -53,9 +53,9 @@ LDCBFS=bashflash.lk
# this Makefile can create the BaS to flash or an arbitrary ram address (for BDM debugging). See # this Makefile can create the BaS to flash or an arbitrary ram address (for BDM debugging). See
# below for the definition of TARGET_ADDRESS # below for the definition of TARGET_ADDRESS
FLASH_EXEC=bas.$(EXE) FLASH_EXEC=bas.m5484lite.$(EXE) bas.firebee.$(EXE)
RAM_EXEC=ram.$(EXE) RAM_EXEC=ram.m5484lite.$(EXE) ram.firebee.$(EXE)
BASFLASH_EXEC=basflash.$(EXE) BASFLASH_EXEC=basflash.m5484lite.$(EXE) basflash.firebee.$(EXE)
CSRCS= \ CSRCS= \
$(SRCDIR)/sysinit.c \ $(SRCDIR)/sysinit.c \
@@ -107,6 +107,7 @@ ram: $(RAM_EXEC)
bfl: $(BASFLASH_EXEC) bfl: $(BASFLASH_EXEC)
lib: $(LIBBAS) 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 \
$(RAM_EXEC) $(RAM_EXEC).elf $(RAM_EXEC).s19 \ $(RAM_EXEC) $(RAM_EXEC).elf $(RAM_EXEC).s19 \
@@ -114,27 +115,25 @@ lib: $(LIBBAS)
$(OBJS) $(LIBBAS) \ $(OBJS) $(LIBBAS) \
bas.lk bas.map ram.lk ram.map basflash.lk basflash.map depend bas.lk bas.map ram.lk ram.map basflash.lk basflash.map depend
$(FLASH_EXEC): TARGET_ADDRESS=0xe0000000
$(FLASH_EXEC): MACHINE=MACHINE_M5484LITE $(FLASH_EXEC): MACHINE=MACHINE_M5484LITE
$(FLASH_EXEC): CFLAGS += -D$(MACHINE) $(FLASH_EXEC): CFLAGS += -D$(MACHINE)
$(FLASH_EXEC): LDCFILE=bas.lk $(FLASH_EXEC): LDCFILE=bas.lk
$(FLASH_EXEC): MAPFILE=bas.map $(FLASH_EXEC): MAPFILE=bas.map
$(RAM_EXEC): TARGET_ADDRESS=0x00100000
$(RAM_EXEC): MACHINE=MACHINE_M5484LITE $(RAM_EXEC): MACHINE=MACHINE_M5484LITE
$(RAM_EXEC): CFLAGS += -D$(MACHINE) $(RAM_EXEC): CFLAGS += -D$(MACHINE)
$(RAM_EXEC): LDCFILE=ram.lk $(RAM_EXEC): LDCFILE=ram.lk
$(RAM_EXEC): MAPFILE=ram.map $(RAM_EXEC): MAPFILE=ram.map
$(BASFLASH_EXEC): TARGET_ADDRESS=0x00100000
$(BASFLASH_EXEC): MACHINE=MACHINE_M5484LITE $(BASFLASH_EXEC): MACHINE=MACHINE_M5484LITE
$(BASFLASH_EXEC): CFLAGS += -D$(MACHINE) $(BASFLASH_EXEC): CFLAGS += -D$(MACHINE)
$(BASFLASH_EXEC): LDCFILE=basflash.lk $(BASFLASH_EXEC): LDCFILE=basflash.lk
$(BASFLASH_EXEC): MAPFILE=basflash.map $(BASFLASH_EXEC): MAPFILE=basflash.map
# the final link stage (BaS in RAM and BaS in flash) # the final link stage (BaS in RAM and BaS in flash)
$(FLASH_EXEC) $(RAM_EXEC): $(LIBBAS) $(LDCSRC) $(FLASH_EXEC) $(RAM_EXEC): $(LIBBAS) $(LDCSRC)
$(CPP) $(INCLUDE) -P -DTARGET_ADDRESS=$(TARGET_ADDRESS) -DFORMAT=$(FORMAT) -D$(MACHINE) $(LDCSRC) -o $(LDCFILE) $(CPP) $(INCLUDE) -P -DFORMAT=$(FORMAT) -D$(MACHINE) $(LDCSRC) -o $(LDCFILE)
$(LD) --oformat $(FORMAT) -Map $(MAPFILE) --cref -T $(LDCFILE) -o $@ $(LD) --oformat $(FORMAT) -Map $(MAPFILE) --cref -T $(LDCFILE) -o $@
ifeq ($(COMPILE_ELF),Y) ifeq ($(COMPILE_ELF),Y)
$(OBJCOPY) -O srec $@ $@.s19 $(OBJCOPY) -O srec $@ $@.s19
@@ -144,7 +143,7 @@ endif
# the basflash (SD-card executable called from BaS) final link stage # the basflash (SD-card executable called from BaS) final link stage
$(BASFLASH_EXEC): $(OBJDIR)/basflash.o $(OBJDIR)/basflash_start.o $(LIBBAS) $(LDCBFL) $(BASFLASH_EXEC): $(OBJDIR)/basflash.o $(OBJDIR)/basflash_start.o $(LIBBAS) $(LDCBFL)
$(CPP) -P -DTARGET_ADDRESS=$(TARGET_ADDRESS) -DFORMAT=$(FORMAT) $(LDCBSRC) -o $(LDCFILE) $(CPP) -P -DFORMAT=$(FORMAT) $(LDCBSRC) -o $(LDCFILE)
$(LD) --oformat $(FORMAT) -Map $(MAPFILE) --cref -T $(LDCFILE) -L. -lbas -o $@ $(LD) --oformat $(FORMAT) -Map $(MAPFILE) --cref -T $(LDCFILE) -L. -lbas -o $@
ifeq ($(COMPILE_ELF),Y) ifeq ($(COMPILE_ELF),Y)
$(OBJCOPY) -O srec $@ $@.s19 $(OBJCOPY) -O srec $@ $@.s19
@@ -178,3 +177,13 @@ depend: $(ASRCS) $(CSRCS)
ifneq (clean,$(MAKECMDGOALS)) ifneq (clean,$(MAKECMDGOALS))
-include depend -include depend
endif endif
.PHONY: printvars
printvars:
@$(foreach V,$(.VARIABLES), $(if $(filter-out environment% default automatic, $(origin $V)),$(warning $V=$($V))))
ifeq (MACHINE_M5484LITE,$$(MACHINE))
MNAME=m5484lite
else ifeq (MACHINE_FIREBEE,$(MACHINE))
MNAME=firebee
endif

View File

@@ -1,3 +1,11 @@
#ifdef MACHINE_FIREBEE
#include "firebee.h"
#endif /* MACHINE_FIREBEE */
#ifdef MACHINE_M5484LITE
#include "m5484l.h"
#endif /* MACHINE_M5484LITE */
MEMORY MEMORY
{ {
flasher (WX) : ORIGIN = TARGET_ADDRESS, LENGTH = 0x00100000 /* target to load basflash */ flasher (WX) : ORIGIN = TARGET_ADDRESS, LENGTH = 0x00100000 /* target to load basflash */

View File

@@ -34,4 +34,10 @@
#define SDRAM_START 0x00000000 /* start at address 0 */ #define SDRAM_START 0x00000000 /* start at address 0 */
#define SDRAM_SIZE 0x20000000 /* 512 kb on the Firebee */ #define SDRAM_SIZE 0x20000000 /* 512 kb on the Firebee */
#ifdef COMPILE_RAM
#define TARGET_ADDRESS (SDRAM_START + SDRAM_SIZE - 0x100000)
#else
#define TARGET_ADDRESS BOOTFLASH_BASE_ADDRESS
#endif /* COMPILE_RAM */
#endif /* _FIREBEE_H_ */ #endif /* _FIREBEE_H_ */

View File

@@ -8,4 +8,10 @@
#define SDRAM_START 0x00000000 /* start at address 0 */ #define SDRAM_START 0x00000000 /* start at address 0 */
#define SDRAM_SIZE 0x4000000 /* 64 MB on the LITEKIT */ #define SDRAM_SIZE 0x4000000 /* 64 MB on the LITEKIT */
#ifdef COMPILE_RAM
#define TARGET_ADDRESS (SDRAM_START + SDRAM_SIZE - 0x100000)
#else
#define TARGET_ADDRESS BOOTFLASH_BASE_ADDRESS
#endif /* COMPILE_RAM */
#endif /* _M5484L_H_ */ #endif /* _M5484L_H_ */

View File

@@ -29,6 +29,14 @@
#include "ff.h" #include "ff.h"
#include "s19reader.h" #include "s19reader.h"
#ifdef MACHINE_FIREBEE
#include "firebee.h"
#endif /* MACHINE_FIREBEE */
#ifdef MACHINE_M5484LITE
#include "m5484l.h"
#endif /* MACHINE_M5484LITE */
#define AMD_FLASH_BUS_SHIFT 1 #define AMD_FLASH_BUS_SHIFT 1
#define AMD_FLASH_CELL volatile uint16_t #define AMD_FLASH_CELL volatile uint16_t
#define AMD_FLASH_CELL_BYTES 2 #define AMD_FLASH_CELL_BYTES 2