Skip to content

Commit be66a9e

Browse files
dhylandsdpgeorge
authored andcommitted
stmhal: Generate modstm constants per build
This causes unnecessary constants to no longer be generated. Some constants (like UART_BRR) are different between the F4 and F7
1 parent 4836bcc commit be66a9e

14 files changed

Lines changed: 33 additions & 512 deletions

File tree

stmhal/Makefile

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ include ../py/mkenv.mk
1313
include boards/$(BOARD)/mpconfigboard.mk
1414

1515
# qstr definitions (must come before including py.mk)
16-
QSTR_DEFS = qstrdefsport.h $(BUILD)/pins_qstr.h
16+
QSTR_DEFS = qstrdefsport.h $(BUILD)/pins_qstr.h $(BUILD)/modstm_qstr.h
1717

1818
# include py core make definitions
1919
include ../py/py.mk
@@ -325,6 +325,18 @@ $(BUILD)/%_$(BOARD).c $(HEADER_BUILD)/%.h $(HEADER_BUILD)/%_af_const.h $(BUILD)/
325325
$(BUILD)/pins_$(BOARD).o: $(BUILD)/pins_$(BOARD).c
326326
$(call compile_c)
327327

328+
GEN_STMCONST_HDR = $(HEADER_BUILD)/modstm_const.h
329+
GEN_STMCONST_QSTR = $(BUILD)/modstm_qstr.h
330+
CMSIS_MCU_LOWER = $(shell echo $(CMSIS_MCU) | tr '[:upper:]' '[:lower:]')
331+
CMSIS_MCU_HDR = cmsis/devinc/$(CMSIS_MCU_LOWER).h
332+
333+
$(BUILD)/modstm.o: $(GEN_STMCONST_HDR)
334+
# Use a pattern rule here so that make will only call make-stmconst.py once to
335+
# make both modstm_const.h and modstm_qstr.h
336+
$(HEADER_BUILD)/%_const.h $(BUILD)/%_qstr.h: $(CMSIS_MCU_HDR) make-stmconst.py
337+
$(ECHO) "Create stmconst $@"
338+
$(Q)$(PYTHON) make-stmconst.py --qstr $(GEN_STMCONST_QSTR) $(CMSIS_MCU_HDR) > $(GEN_STMCONST_HDR)
339+
328340
$(GEN_CDCINF_HEADER): $(GEN_CDCINF_FILE) $(FILE2H)
329341
$(ECHO) "Create $@"
330342
$(Q)$(PYTHON) $(FILE2H) $< > $@
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
MCU_SERIES = f4
2+
CMSIS_MCU = STM32F405xx
23
AF_FILE = boards/stm32f405_af.csv
34
LD_FILE = boards/stm32f405.ld
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
MCU_SERIES = f4
2+
CMSIS_MCU = STM32F401xE
23
AF_FILE = boards/stm32f401_af.csv
34
LD_FILE = boards/stm32f401.ld
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
MCU_SERIES = f4
2+
CMSIS_MCU = STM32F405xx
23
AF_FILE = boards/stm32f405_af.csv
34
LD_FILE = boards/stm32f405.ld
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
MCU_SERIES = f4
2+
CMSIS_MCU = STM32F405xx
23
AF_FILE = boards/stm32f405_af.csv
34
LD_FILE = boards/stm32f405.ld
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
MCU_SERIES = f4
2+
CMSIS_MCU = STM32F405xx
23
AF_FILE = boards/stm32f405_af.csv
34
LD_FILE = boards/stm32f405.ld
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
MCU_SERIES = f4
2+
CMSIS_MCU = STM32F405xx
23
AF_FILE = boards/stm32f405_af.csv
34
LD_FILE = boards/stm32f405.ld
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
MCU_SERIES = f4
2+
CMSIS_MCU = STM32F405xx
23
AF_FILE = boards/stm32f405_af.csv
34
LD_FILE = boards/stm32f405.ld
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
MCU_SERIES = f4
2+
CMSIS_MCU = STM32F407xx
23
AF_FILE = boards/stm32f405_af.csv
34
LD_FILE = boards/stm32f405.ld
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
MCU_SERIES = f7
2+
CMSIS_MCU = STM32F746xx
23
AF_FILE = boards/stm32f746_af.csv
34
LD_FILE = boards/stm32f746.ld

0 commit comments

Comments
 (0)