MKIMG=arm-none-eabi-objcopy
# Compiler flags
-# TODO:Cortex-m3 or Cortex-m0?
LDFLAGS+= -mthumb -mcpu=cortex-m3
-ASFLAGS+= -mcpu=cortex-m3 -mthumb -g
-CFLAGS+= -mcpu=cortex-m3 -mthumb -g -ffreestanding
+ASFLAGS+= -mcpu=cortex-m3 -mthumb
+CFLAGS+= -mcpu=cortex-m3 -mthumb -ffreestanding
+#CFLAGS+= -mcpu=cortex-m3 -mthumb -g -ffreestanding
+# Include directory
INCLUDE+= -Iinclude
BIN = bin
ODIR = obj
-_OBJ = ivt.o systick.o sysinfo.o term.o main.o clock.o rtc.o
+_OBJ = ivt.o systick.o sysinfo.o term.o main.o clock.o rtc.o heap.o syscall.o
OBJ = $(patsubst %, $(ODIR)/%,$(_OBJ))
DDIR = obj/drivers
-_DRIVERS = uart.o tm1637.o led.o tsensor.o
+_DRIVERS = uart.o tm1637.o led.o tsensor.o at24c.o mk450_joystick.o st7735s.o
DRIVERS = $(patsubst %, $(DDIR)/%,$(_DRIVERS))
LDIR = obj/lib
-_LIBS = string.o stdio.o regfunc.o pool.o tinyprintf.o
+_LIBS = string.o stdio.o regfunc.o pool.o tinyprintf.o syscall.o
LIBS = $(patsubst %, $(LDIR)/%,$(_LIBS))
$(DDIR)/%.o: drivers/%.c
$(LD) -nostartfiles -Map $(BIN)/$@.MAP -T link.ld -o $(BIN)/$@.ELF start.o $^ --print-memory-usage
@echo "Creating binary..."
@mkdir -p $(BIN)
- $(MKIMG) -Obinary -R .data $(BIN)/$@.ELF $(BIN)/$@.bin
+ $(MKIMG) -Obinary $(BIN)/$@.ELF $(BIN)/$@.bin
# Run in Qemu; note this is a patched version for stm32-f103c8
run:
- /usr/local/bin/qemu-system-arm -serial stdio -M stm32-f103c8 -kernel $(BIN)/kernel.bin
+ /usr/local/bin/qemu-system-arm -monitor stdio -serial stdio -M stm32-f103c8 -kernel $(BIN)/kernel.bin
# Examine all sections
examine-all: