7c81947272
Bring back <libmaple/i2c.h> support on STM32F1 with a view towards how it'll be implemented on STM32F2. There are still many F1-isms in libmaple/i2c.c and <libmaple/i2c.h>, to be dealt with subsequently. Move device declarations and base pointer definitions to a new F1 <series/i2c.h>. The register maps and bit definitions themselves are identical on both series, so leave them in the libmaple header. Add i2c_private.h, which contains: - I2C_DEV(), a convenience macro for defining an i2c_dev, and - declarations for the event and error IRQ handlers. The IRQ handlers are large, and I2C is slow anyway, so I see no reason to make them inline in the private header (as we do for some other peripherals). We just expose the existing ones that were formerly static in libmaple/i2c.c, but prefix the names with underscore. Move the device declarations and IRQ handlers into new stm32f1/i2c.c. These use the i2c_private.h API. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
51 lines
1.2 KiB
Makefile
51 lines
1.2 KiB
Makefile
# Standard things
|
|
sp := $(sp).x
|
|
dirstack_$(sp) := $(d)
|
|
d := $(dir)
|
|
BUILDDIRS += $(BUILD_PATH)/$(d)
|
|
|
|
LIBMAPLE_INCLUDES := -I$(LIBMAPLE_PATH)/include -I$(LIBMAPLE_MODULE_SERIES)/include
|
|
LIBMAPLE_PRIVATE_INCLUDES := -I$(LIBMAPLE_PATH)
|
|
|
|
# Local flags
|
|
CFLAGS_$(d) = $(LIBMAPLE_PRIVATE_INCLUDES) $(LIBMAPLE_INCLUDES) -Wall -Werror
|
|
|
|
# Local rules and targets
|
|
cSRCS_$(d) := adc.c
|
|
cSRCS_$(d) += dac.c
|
|
cSRCS_$(d) += dma.c
|
|
cSRCS_$(d) += exti.c
|
|
cSRCS_$(d) += flash.c
|
|
cSRCS_$(d) += gpio.c
|
|
cSRCS_$(d) += iwdg.c
|
|
cSRCS_$(d) += nvic.c
|
|
cSRCS_$(d) += pwr.c
|
|
cSRCS_$(d) += rcc.c
|
|
cSRCS_$(d) += spi.c
|
|
cSRCS_$(d) += systick.c
|
|
cSRCS_$(d) += timer.c
|
|
cSRCS_$(d) += usart.c
|
|
cSRCS_$(d) += usart_private.c
|
|
cSRCS_$(d) += util.c
|
|
sSRCS_$(d) := exc.S
|
|
# I2C support must be ported to F2:
|
|
ifeq ($(MCU_SERIES),stm32f1)
|
|
cSRCS_$(d) += i2c.c
|
|
endif
|
|
|
|
cFILES_$(d) := $(cSRCS_$(d):%=$(d)/%)
|
|
sFILES_$(d) := $(sSRCS_$(d):%=$(d)/%)
|
|
|
|
OBJS_$(d) := $(cFILES_$(d):%.c=$(BUILD_PATH)/%.o) $(sFILES_$(d):%.S=$(BUILD_PATH)/%.o)
|
|
DEPS_$(d) := $(OBJS_$(d):%.o=%.d)
|
|
|
|
$(OBJS_$(d)): TGT_CFLAGS := $(CFLAGS_$(d))
|
|
$(OBJS_$(d)): TGT_ASFLAGS :=
|
|
|
|
TGT_BIN += $(OBJS_$(d))
|
|
|
|
# Standard things
|
|
-include $(DEPS_$(d))
|
|
d := $(dirstack_$(sp))
|
|
sp := $(basename $(sp))
|