| # Demo for GCC/HCS12 port of FreeRTOS | |
| # Author Jefferson Smith | |
| # | |
| SRCDIR=../.. | |
| RTOS_BASEDIR=$(SRCDIR)/Source | |
| # what board to compile for | |
| TARGET_BOARD ?= dragon12-rom | |
| CPU=m68hcs12 | |
| DEVC_PREFIX=m6811-elf- | |
| CC=$(DEVC_PREFIX)gcc | |
| AS=$(DEVC_PREFIX)as | |
| AR=$(DEVC_PREFIX)ar | |
| OBJCOPY=$(DEVC_PREFIX)objcopy | |
| OBJDUMP=$(DEVC_PREFIX)objdump | |
| CPPFLAGS+=-I. -I./asm-$(CPU)/arch-dragon12 -I../Common/include \ | |
| -I$(RTOS_BASEDIR)/include -DGCC_HCS12 -DM6812_DEF_SCI=1 -DPORT_LED=M6811_PORTB | |
| CFLAGS+=-$(CPU) -mshort -mlong-calls -g -Os -Wall -Wmissing-prototypes \ | |
| -Wno-char-subscripts -fomit-frame-pointer -msoft-reg-count=0 -mauto-incdec | |
| #-Os -fomit-frame-pointer | |
| LDFLAGS+=-$(CPU) -mshort -mlong-calls -Wl,-T,ldscript-rtos.x | |
| OBJCOPY_FLAGS=--srec-len=0x20 --change-addresses 0xffff0000 | |
| CSRCS=main.c startup.c vectors.c serial.c sci.c ParTest.c gelfunc.c \ | |
| ../Common/Minimal/flash.c \ | |
| ../Common/Minimal/dynamic.c \ | |
| ../Common/Minimal/BlockQ.c \ | |
| ../Common/Minimal/PollQ.c \ | |
| ../Common/Minimal/comtest.c \ | |
| ../Common/Minimal/integer.c \ | |
| ../Common/Minimal/death.c \ | |
| RTOS_OBJS = $(RTOS_BASEDIR)/portable/GCC/HCS12/port.c \ | |
| $(RTOS_BASEDIR)/portable/MemMang/heap_2.c \ | |
| $(RTOS_BASEDIR)/list.c \ | |
| $(RTOS_BASEDIR)/tasks.c \ | |
| $(RTOS_BASEDIR)/queue.c | |
| OBJS=$(CSRCS:.c=.o) $(RTOS_OBJS:.c=.o) | |
| # | |
| # *.elf for the simulator and gdb | |
| # *.s19 is original S Records from ld | |
| # *.s2 is S2 Records (from SRecCvt.exe) | |
| # | |
| all:: main.elf main.lst main.s19 | |
| main.elf: $(OBJS) | |
| $(CC) $(LDFLAGS) -o $@ $^ -lc -lbcc -lc | |
| %.lst: %.elf | |
| $(OBJDUMP) -htS $< >$@ | |
| %.s19: %.elf | |
| $(OBJCOPY) --output-target=srec $(OBJCOPY_FLAGS) $< $*.s19 | |
| clean:: | |
| $(RM) $(OBJS) *.elf *.s19 | |