aboutsummaryrefslogtreecommitdiffstats
path: root/boards/base/RaspberryPi/example-FreeRTOS/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'boards/base/RaspberryPi/example-FreeRTOS/Makefile')
-rw-r--r--boards/base/RaspberryPi/example-FreeRTOS/Makefile73
1 files changed, 73 insertions, 0 deletions
diff --git a/boards/base/RaspberryPi/example-FreeRTOS/Makefile b/boards/base/RaspberryPi/example-FreeRTOS/Makefile
new file mode 100644
index 00000000..c1751204
--- /dev/null
+++ b/boards/base/RaspberryPi/example-FreeRTOS/Makefile
@@ -0,0 +1,73 @@
+# build environment
+PREFIX ?= /your compiler path/gcc-arm-none-eabi-4_8-2014q1
+ARCH ?= $(PREFIX)/bin/arm-none-eabi
+
+CC = ${ARCH}-gcc
+CPP = ${ARCH}-g++
+AS = ${ARCH}-as
+LD = ${ARCH}-ld
+AR = ${ARCH}-ar
+OBJCOPY = ${ARCH}-objcopy
+
+PLATFORM = raspi
+LINKER_SCRIPT = raspberrypi.ld
+
+CFLAGS = -march=armv6z -g -Wall -Wextra
+ASFLAGS = -g
+
+CFLAGS_FOR_TARGET = #-mcpu=arm1176jzf-s
+ASFLAGS_FOR_TARGET = #-mcpu=arm1176jzf-s
+LDFLAGS = #--error-unresolved-symbols
+
+GFXLIB := ../uGFX
+include $(GFXLIB)/gfx.mk
+include $(GFXLIB)/drivers/gdisp/framebuffer/driver.mk
+
+OSLIB := ../FreeRTOS
+MODULES := $(OSLIB)/Source/portable/GCC/RaspberryPi
+MODULES += $(OSLIB)/Source/portable/MemMang
+MODULES += $(OSLIB)/Source
+MODULES += Drivers
+
+SRC_DIR := $(MODULES)
+INC_DIR := $(addsuffix /include,$(SRC_DIR))
+BUILD_DIR := $(addsuffix /build,$(SRC_DIR))
+
+INCLUDEDIRS := $(OSLIB)/Source/portable/GCC/RaspberryPi
+INCLUDEDIRS += $(OSLIB)/Source/include
+INCLUDEDIRS += Drivers
+INCLUDEDIRS += $(GFXINC)
+
+INCLUDES := $(addprefix -I,$(INCLUDEDIRS))
+
+ASRC := $(foreach sdir,$(SRC_DIR),$(wildcard $(sdir)/*.s))
+AOBJ := $(ASRC:.s=.o)
+CSRC := $(foreach sdir,$(SRC_DIR),$(wildcard $(sdir)/*.c))
+CSRC += $(GFXSRC)
+COBJ := $(CSRC:.c=.o)
+
+vpath %.c $(SRC_DIR)
+vpath %.cpp $(SRC_DIR)
+vpath %.s $(SRC_DIR)
+
+%.o: %.c
+ $(CC) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c -o $*.o $<
+
+%.o: %.s
+ $(AS) $(ASFLAGS_FOR_TARGET) $(INCLUDES) $(ASFLAGS) -o $*.o $<
+
+OBJ = $(AOBJ) $(COBJ)
+
+bin/kernel.img: bin/kernel.elf
+ ${OBJCOPY} -O binary $< $@
+
+bin/kernel.elf: LDFLAGS += -L "$(PREFIX)/lib/gcc/arm-none-eabi/4.8.3" -lgcc
+bin/kernel.elf: LDFLAGS += -L "$(PREFIX)/arm-none-eabi/lib" -lc
+bin/kernel.elf: $(OBJ)
+ ${LD} $(OBJ) -Map bin/kernel.map -o $@ -T $(LINKER_SCRIPT) ${LDFLAGS}
+
+clean:
+ rm -f bin/*.elf bin/*.img bin/*.map $(OBJ)
+
+
+