[update] blink_flash makefile
[fw/stlink] / example / blink_flash / Makefile
1 EXECUTABLE=blink.elf
2 BIN_IMAGE=blink.bin
3
4 CC=arm-none-eabi-gcc
5 OBJCOPY=arm-none-eabi-objcopy
6
7 CFLAGS=-O3 -mlittle-endian -mthumb
8 ifeq ($(CONFIG_STM32L_DISCOVERY), 1)
9         CFLAGS+=-mcpu=cortex-m3 -DCONFIG_STM32L_DISCOVERY=1
10 else ifeq ($(CONFIG_STM32VL_DISCOVERY), 1)
11         CFLAGS+=-mcpu=cortex-m3 -DCONFIG_STM32VL_DISCOVERY=1
12 else ifeq ($(CONFIG_STM32F4_DISCOVERY), 1)
13         CFLAGS+=-mcpu=cortex-m4 -DCONFIG_STM32F4_DISCOVERY=1    
14 else
15 $(error "must specify CONFIG_ for board!")
16 endif
17 CFLAGS+=-ffreestanding -nostdlib -nostdinc
18
19 # to run from FLASH
20 CFLAGS+=-Wl,-T,stm32_flash.ld
21
22 PLATFORM=stm32l1xx
23 LIBS_STM_PATH=../libs_stm
24
25 # stm32l_discovery lib
26 CFLAGS+=-I$(LIBS_STM_PATH)/inc/base
27 CFLAGS+=-I$(LIBS_STM_PATH)/inc/core_support
28 CFLAGS+=-I$(LIBS_STM_PATH)/inc/device_support
29 CFLAGS+=-I$(LIBS_STM_PATH)/inc/$(PLATFORM)
30
31 LDFLAGS+=-L$(LIBS_STM_PATH)/build -lstm32_stdperiph_l1xx
32
33 all: $(BIN_IMAGE)
34
35 $(BIN_IMAGE): $(EXECUTABLE)
36         $(OBJCOPY) -O binary $^ $@
37
38 $(EXECUTABLE): main.c system_stm32l1xx.c startup_stm32l1xx_md.s
39         $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS)
40
41 clean:
42         rm -rf $(EXECUTABLE)
43         rm -rf $(BIN_IMAGE)
44
45 write: all
46         sudo ../../flash/flash write ./blink.bin 0x08000000
47
48 .PHONY: all clean