Files @ 2a5ab412b8d9
Branch filter:

Location: therm/Makefile - annotation

Ethan Zonca
Swap out to HAL library and new USB library
970a161634a0
287a302c9d20
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
f23a287bb7c1
1c5909c633fa
4d88a377e1fe
555930ccae9f
555930ccae9f
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
555930ccae9f
970a161634a0
1c5909c633fa
4d88a377e1fe
970a161634a0
970a161634a0
970a161634a0
970a161634a0
4d88a377e1fe
5dc11468ff0b
5dc11468ff0b
970a161634a0
970a161634a0
555930ccae9f
970a161634a0
970a161634a0
970a161634a0
a3acc7c3a063
a3acc7c3a063
1c5909c633fa
109bc69daf49
49b0586d1fdf
49b0586d1fdf
91fbdc7bc1b8
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
555930ccae9f
970a161634a0
555930ccae9f
555930ccae9f
555930ccae9f
555930ccae9f
555930ccae9f
555930ccae9f
555930ccae9f
555930ccae9f
555930ccae9f
555930ccae9f
970a161634a0
970a161634a0
5dc11468ff0b
5dc11468ff0b
5dc11468ff0b
5dc11468ff0b
5dc11468ff0b
5dc11468ff0b
5dc11468ff0b
5dc11468ff0b
5dc11468ff0b
5dc11468ff0b
5dc11468ff0b
5dc11468ff0b
970a161634a0
970a161634a0
555930ccae9f
970a161634a0
970a161634a0
555930ccae9f
555930ccae9f
970a161634a0
970a161634a0
5bb33b7045ec
5bb33b7045ec
89dc4e02c836
5bb33b7045ec
5bb33b7045ec
5bb33b7045ec
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
676f49902c7d
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
970a161634a0
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d
676f49902c7d

TARGET:=therm
TOOLCHAIN_PATH:=/usr/bin
TOOLCHAIN_PREFIX:=arm-none-eabi
OPTLVL:=3 # Optimization level, can be [0, 1, 2, 3, s].

#PROJECT_NAME:=$(notdir $(lastword $(CURDIR)))
TOP:=$(shell readlink -f "../..")
STMLIB:=libraries
OLEDDRV:=oleddrv
USBDRV:=USB
STD_PERIPH:=$(STMLIB)/STM32F0xx_StdPeriph_Driver
STARTUP:=$(STMLIB)/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc_ride7
LINKER_SCRIPT:=$(CURDIR)/stm32-flash.ld
#LINKER_SCRIPT:=$(CURDIR)/../stm32_flash.ld

INCLUDE=-I$(CURDIR)
INCLUDE+=-I$(STMLIB)/CMSIS/Include
INCLUDE+=-I$(STMLIB)/CMSIS/Device/ST/STM32F0xx/Include
INCLUDE+=-I$(STD_PERIPH)/inc
INCLUDE+=-I$(STMLIB)/$(OLEDDRV)
INCLUDE+=-I$(STMLIB)/$(USBDRV)

# vpath is used so object files are written to the current directory instead
# of the same directory as their source files
vpath %.c $(DISCOVERY) $(STD_PERIPH)/src \
          $(STMLIB)/USB \
          $(STMLIB)/STM32_USB-FS_Device_Library/Class/hid/src \
          $(STMLIB)/STM32_USB-FS_Device_Library/Core/src
vpath %.s $(STARTUP)

ASRC=startup_stm32f042.s

# Project Source Files
SRC=main.c
SRC+=stm32f0xx_it.c
SRC+=system_stm32f0xx.c
SRC+=ssd1306.c
SRC+=eeprom_min.c
SRC+=gpio.c
SRC+=spi.c
SRC+=stringhelpers.c

# Discovery Source Files
#SRC+=stm32f4_discovery_lis302dl.c
#SRC+=stm32f4_discovery.c
#SRC+=stm32f4_discovery_audio_codec.c

# Standard Peripheral Source Files
SRC+=stm32f0xx_syscfg.c
SRC+=misc.c
SRC+=stm32f0xx_adc.c
SRC+=stm32f0xx_dac.c
SRC+=stm32f0xx_dma.c
SRC+=stm32f0xx_exti.c
SRC+=stm32f0xx_flash.c
SRC+=stm32f0xx_gpio.c
SRC+=stm32f0xx_i2c.c
SRC+=stm32f0xx_rcc.c
SRC+=stm32f0xx_spi.c
SRC+=stm32f0xx_tim.c

# USB Source Files
SRC+=usb_core.c
SRC+=usb_init.c
SRC+=usb_int.c
SRC+=usb_mem.c
SRC+=usb_regs.c
SRC+=usb_sil.c
SRC+=hw_config.c
SRC+=usb_desc.c
SRC+=usb_endp.c
SRC+=usb_istr.c
SRC+=usb_prop.c
SRC+=usb_pwr.c

CDEFS=-DUSE_STDPERIPH_DRIVER
CDEFS+=-DSTM32F0XX
CDEFS+=-DMANGUSTA_DISCOVERY
#CDEFS+=-DUSE_USB_OTG_FS

# EMZ FIXME
CDEFS+=-DHSE_VALUE=8000000


#EMZ Optimized: 
MCUFLAGS=-mcpu=cortex-m3 -mthumb -ffunction-sections -fdata-sections -mfloat-abi=soft

# Default:  MCUFLAGS=-mcpu=cortex-m3 -mthumb -ffunction-sections -fdata-sections

#MCUFLAGS=-mcpu=cortex-m4 -mthumb -mlittle-endian -mfpu=fpa -mfloat-abi=hard -mthumb-interwork
#MCUFLAGS=-mcpu=cortex-m4 -mfpu=vfpv4-sp-d16 -mfloat-abi=hard
COMMONFLAGS=-O$(OPTLVL) -g -Wall
CFLAGS=$(COMMONFLAGS) $(MCUFLAGS) $(INCLUDE) $(CDEFS)

LDLIBS=
LDFLAGS=$(COMMONFLAGS) -fno-exceptions -ffunction-sections -fdata-sections \
        -nostartfiles -Wl,--gc-sections,-T$(LINKER_SCRIPT)

#####
#####

OBJ = $(SRC:%.c=%.o) $(ASRC:%.s=%.o)

CC=$(TOOLCHAIN_PATH)/$(TOOLCHAIN_PREFIX)-gcc
LD=$(TOOLCHAIN_PATH)/$(TOOLCHAIN_PREFIX)-gcc
OBJCOPY=$(TOOLCHAIN_PATH)/$(TOOLCHAIN_PREFIX)-objcopy
AS=$(TOOLCHAIN_PATH)/$(TOOLCHAIN_PREFIX)-as
AR=$(TOOLCHAIN_PATH)/$(TOOLCHAIN_PREFIX)-ar
GDB=$(TOOLCHAIN_PATH)/$(TOOLCHAIN_PREFIX)-gdb
SIZE=$(TOOLCHAIN_PATH)/$(TOOLCHAIN_PREFIX)-size


all: $(OBJ)
	$(CC) -o $(TARGET).elf $(LDFLAGS) $(OBJ)	$(LDLIBS)
	$(OBJCOPY) -O ihex   $(TARGET).elf $(TARGET).hex
	$(OBJCOPY) -O binary $(TARGET).elf $(TARGET).bin

.PHONY: clean

clean:
	rm -f $(OBJ)
	rm -f $(TARGET).elf
	rm -f $(TARGET).hex
	rm -f $(TARGET).bin

# Display size
size: $(TARGET).elf
	@echo Invoking: ARM GNU Print Size
	$(SIZE) --format=berkeley $<
	@echo