basic memory management and uart wait fix
[cortex-from-scratch] / Makefile
index 143f75d..9eba3b4 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -4,20 +4,26 @@ AR=$(TOOLROOT)/arm-none-eabi-ar
 AS=arm-none-eabi-as
 MKIMG=arm-none-eabi-objcopy
 
-LDFLAGS+= -mthumb -mcpu=cortex-m3 
-CFLAGS+= -mcpu=cortex-m3 -mthumb 
+LDFLAGS+= -mthumb -mcpu=cortex-m0 
+CFLAGS+= -mcpu=cortex-m3 -mthumb -g 
 
 as: 
        $(AS) $(CFLAGS) -o start.o start.asm
 
 all:
        $(AS) $(CFLAGS) -o start.o start.asm
-       $(CC) $(CFLAGS) -c -o main.o main.c
-       $(LD) -nostartfiles -T link.ld -o start.out start.o main.o
+       $(CC) $(CFLAGS) -c -I./include -ffreestanding -o main.o main.c
+       $(CC) $(CFLAGS) -c -I./include -ffreestanding -o uart.o uart.c
+       $(CC) $(CFLAGS) -c -I./include -ffreestanding -o ivt.o ivt.c 
+       $(CC) $(CFLAGS) -c -I./include -ffreestanding -o systick.o systick.c 
+       $(CC) $(CFLAGS) -c -I./include -ffreestanding -o sysinfo.o sysinfo.c 
+       $(CC) $(CFLAGS) -c -I./include -ffreestanding -o lib.o lib.c 
+       $(CC) $(CFLAGS) -c -I./include -ffreestanding -o mm.o mm.c 
+       $(LD) -nostartfiles -T link.ld -o start.out start.o main.o uart.o ivt.o systick.o sysinfo.o lib.o mm.o
        $(MKIMG) -Obinary -R .data start.out kernel.bin
 
 run:
-       qemu-system-arm -monitor stdio -M lm3s6965evb -kernel kernel.bin
+       /usr/local/bin/qemu-system-arm -serial stdio  -M stm32-f103c8 -kernel kernel.bin
 
 examine:
        arm-none-eabi-objdump -S start.out