ports: Make generated pin.c handling more consistent across ports.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
This commit is contained in:
parent
17f2783e4a
commit
67d05ed02b
|
@ -15,7 +15,7 @@ MICROPY_VFS_LFS2 ?= 1
|
|||
MICROPY_VFS_FAT ?= 1
|
||||
|
||||
# qstr definitions (must come before including py.mk)
|
||||
QSTR_DEFS = qstrdefsport.h
|
||||
QSTR_DEFS += qstrdefsport.h
|
||||
QSTR_GLOBAL_DEPENDENCIES = $(BOARD_DIR)/mpconfigboard.h
|
||||
|
||||
# Generation scripts
|
||||
|
@ -49,7 +49,6 @@ GEN_FLEXRAM_CONFIG_SRC = $(BUILD)/flexram_config.s
|
|||
GEN_PINS_AF_CONST = $(HEADER_BUILD)/pins_af_const.h
|
||||
GEN_PINS_AF_PY = $(BUILD)/pins_af.py
|
||||
GEN_PINS_HDR = $(HEADER_BUILD)/pins.h
|
||||
GEN_PINS_QSTR = $(BUILD)/pins_qstr.h
|
||||
GEN_PINS_SRC = $(BUILD)/pins_gen.c
|
||||
|
||||
# =============================================================================
|
||||
|
@ -435,7 +434,7 @@ OBJ += $(addprefix $(BUILD)/, $(SRC_C:.c=.o))
|
|||
OBJ += $(addprefix $(BUILD)/, $(SRC_S:.s=.o))
|
||||
OBJ += $(addprefix $(BUILD)/, $(SRC_SS:.S=.o))
|
||||
OBJ += $(addprefix $(BUILD)/, $(SRC_MOD:.c=.o))
|
||||
OBJ += $(BUILD)/pins_gen.o
|
||||
OBJ += $(GEN_PINS_SRC:.c=.o)
|
||||
|
||||
# Workaround for bug in older gcc, warning on "static usbd_device_t _usbd_dev = { 0 };"
|
||||
$(BUILD)/lib/tinyusb/src/device/usbd.o: CFLAGS += -Wno-missing-braces
|
||||
|
@ -486,7 +485,7 @@ $(BUILD)/%_gen.c $(HEADER_BUILD)/%.h: $(BOARD_PINS) $(MAKE_PINS) $(AF_FILE) $(PR
|
|||
--iomux $(abspath $(TOP)/$(MCU_DIR)/drivers/fsl_iomuxc.h) \
|
||||
--prefix $(PREFIX_FILE) --hdr $(GEN_PINS_HDR) > $(GEN_PINS_SRC)
|
||||
|
||||
$(BUILD)/pins_gen.o: $(BUILD)/pins_gen.c
|
||||
$(GEN_PINS_SRC:.c=.o): $(GEN_PINS_SRC)
|
||||
$(call compile_c)
|
||||
|
||||
include $(TOP)/py/mkrules.mk
|
||||
|
|
|
@ -45,7 +45,7 @@ endif
|
|||
-include boards/$(BOARD)/modules/boardmodules.mk
|
||||
|
||||
# qstr definitions (must come before including py.mk)
|
||||
QSTR_DEFS = qstrdefsport.h $(BUILD)/pins_qstr.h
|
||||
QSTR_DEFS = qstrdefsport.h $(GEN_PINS_QSTR)
|
||||
|
||||
# MicroPython feature configurations
|
||||
ifeq ($(DEBUG), 0)
|
||||
|
@ -106,6 +106,16 @@ endif
|
|||
NRF_DEFINES += -D$(MCU_SUB_VARIANT_UPPER)
|
||||
NRF_DEFINES += -DCONFIG_GPIO_AS_PINRESET
|
||||
|
||||
MAKE_PINS = boards/make-pins.py
|
||||
BOARD_PINS = boards/$(BOARD)/pins.csv
|
||||
AF_FILE = $(MCU_VARIANT)_af.csv
|
||||
PREFIX_FILE = boards/$(MCU_VARIANT)_prefix.c
|
||||
GEN_PINS_SRC = $(BUILD)/pins_gen.c
|
||||
GEN_PINS_HDR = $(HEADER_BUILD)/pins.h
|
||||
GEN_PINS_QSTR = $(BUILD)/pins_qstr.h
|
||||
GEN_PINS_AF_CONST = $(HEADER_BUILD)/pins_af_const.h
|
||||
GEN_PINS_AF_PY = $(BUILD)/pins_af.py
|
||||
|
||||
CFLAGS_CORTEX_M = -mthumb -mabi=aapcs -fsingle-precision-constant -Wdouble-promotion
|
||||
|
||||
CFLAGS_MCU_m33 = $(CFLAGS_CORTEX_M) -mcpu=cortex-m33 -march=armv8-m.main+dsp -mcmse -mfpu=fpv5-sp-d16 -mfloat-abi=hard
|
||||
|
@ -354,7 +364,7 @@ OBJ += $(addprefix $(BUILD)/, $(SRC_NRFX_HAL:.c=.o))
|
|||
OBJ += $(addprefix $(BUILD)/, $(DRIVERS_SRC_C:.c=.o))
|
||||
OBJ += $(addprefix $(BUILD)/, $(SYSTEM_C_SRC:.c=.o))
|
||||
OBJ += $(addprefix $(BUILD)/, $(SRC_LIB:.c=.o))
|
||||
OBJ += $(BUILD)/pins_gen.o
|
||||
OBJ += $(GEN_PINS_SRC:.c=.o)
|
||||
|
||||
$(BUILD)/$(OOFATFS_DIR)/ff.o: COPT += -Os
|
||||
$(filter $(PY_BUILD)/../extmod/vfs_fat_%.o, $(PY_O)): COPT += -Os
|
||||
|
@ -528,19 +538,9 @@ $(BUILD)/%_gen.c $(HEADER_BUILD)/%.h $(HEADER_BUILD)/%_af_const.h $(BUILD)/%_qst
|
|||
$(ECHO) "Create $@"
|
||||
$(Q)$(PYTHON) $(MAKE_PINS) --board $(BOARD_PINS) --af $(AF_FILE) --prefix $(PREFIX_FILE) --hdr $(GEN_PINS_HDR) --qstr $(GEN_PINS_QSTR) --af-const $(GEN_PINS_AF_CONST) --af-py $(GEN_PINS_AF_PY) > $(GEN_PINS_SRC)
|
||||
|
||||
$(BUILD)/pins_gen.o: $(BUILD)/pins_gen.c
|
||||
$(GEN_PINS_SRC:.c=.o): $(GEN_PINS_SRC)
|
||||
$(call compile_c)
|
||||
|
||||
MAKE_PINS = boards/make-pins.py
|
||||
BOARD_PINS = boards/$(BOARD)/pins.csv
|
||||
AF_FILE = $(MCU_VARIANT)_af.csv
|
||||
PREFIX_FILE = boards/$(MCU_VARIANT)_prefix.c
|
||||
GEN_PINS_SRC = $(BUILD)/pins_gen.c
|
||||
GEN_PINS_HDR = $(HEADER_BUILD)/pins.h
|
||||
GEN_PINS_QSTR = $(BUILD)/pins_qstr.h
|
||||
GEN_PINS_AF_CONST = $(HEADER_BUILD)/pins_af_const.h
|
||||
GEN_PINS_AF_PY = $(BUILD)/pins_af.py
|
||||
|
||||
ifneq ($(FROZEN_MANIFEST),)
|
||||
CFLAGS += -DMICROPY_QSTR_EXTRA_POOL=mp_qstr_frozen_const_pool
|
||||
CFLAGS += -DMICROPY_MODULE_FROZEN_MPY
|
||||
|
|
|
@ -106,7 +106,6 @@ SRC_C += \
|
|||
mphalport.c \
|
||||
pendsv.c \
|
||||
pin_af.c \
|
||||
$(BUILD)/pins.c \
|
||||
samd_flash.c \
|
||||
samd_isr.c \
|
||||
samd_soc.c \
|
||||
|
@ -170,6 +169,7 @@ OBJ += $(addprefix $(BUILD)/, $(SRC_C:.c=.o))
|
|||
OBJ += $(addprefix $(BUILD)/, $(SRC_CXX:.cpp=.o))
|
||||
OBJ += $(addprefix $(BUILD)/, $(SRC_S:.s=.o))
|
||||
OBJ += $(addprefix $(BUILD)/, $(SRC_MOD:.c=.o))
|
||||
OBJ += $(GEN_PINS_SRC:.c=.o)
|
||||
|
||||
ifneq ($(FROZEN_MANIFEST),)
|
||||
CFLAGS += -DMICROPY_MODULE_FROZEN_MPY
|
||||
|
@ -205,4 +205,7 @@ $(GEN_PINS_SRC) $(GEN_PINS_HDR): $(BOARD_PINS) | $(HEADER_BUILD)
|
|||
$(ECHO) "Create $@"
|
||||
$(Q)$(PYTHON) $(MAKE_PINS) --board $(BOARD_PINS) --pins $(GEN_PINS_SRC) --inc $(GEN_PINS_HDR)
|
||||
|
||||
$(GEN_PINS_SRC:.c=.o): $(GEN_PINS_SRC)
|
||||
$(call compile_c)
|
||||
|
||||
include $(TOP)/py/mkrules.mk
|
||||
|
|
|
@ -15,7 +15,7 @@ include ../../py/mkenv.mk
|
|||
include $(BOARD_DIR)/mpconfigboard.mk
|
||||
|
||||
# Files that are generated and needed before the QSTR build.
|
||||
QSTR_GENERATED_HEADERS = $(BUILD)/pins_qstr.h $(BUILD)/modstm_qstr.h
|
||||
QSTR_GENERATED_HEADERS = $(GEN_PINS_QSTR) $(GEN_STMCONST_QSTR)
|
||||
|
||||
# qstr definitions (must come before including py.mk)
|
||||
QSTR_DEFS += qstrdefsport.h $(QSTR_GENERATED_HEADERS)
|
||||
|
@ -57,6 +57,31 @@ OPENOCD_CONFIG ?= boards/openocd_stm32f4.cfg
|
|||
|
||||
include stm32.mk
|
||||
|
||||
PLLVALUES = boards/pllvalues.py
|
||||
MAKE_PINS = boards/make-pins.py
|
||||
BOARD_PINS = $(BOARD_DIR)/pins.csv
|
||||
PREFIX_FILE = boards/stm32f4xx_prefix.c
|
||||
GEN_PINS_SRC = $(BUILD)/pins_$(BOARD).c
|
||||
GEN_PINS_HDR = $(HEADER_BUILD)/pins.h
|
||||
GEN_PINS_QSTR = $(BUILD)/pins_qstr.h
|
||||
GEN_PINS_AF_CONST = $(HEADER_BUILD)/pins_af_const.h
|
||||
GEN_PINS_AF_DEFS = $(HEADER_BUILD)/pins_af_defs.h
|
||||
GEN_PINS_AF_PY = $(BUILD)/pins_af.py
|
||||
|
||||
INSERT_USB_IDS = $(TOP)/tools/insert-usb-ids.py
|
||||
FILE2H = $(TOP)/tools/file2h.py
|
||||
|
||||
USB_IDS_FILE = mpconfigboard_common.h
|
||||
CDCINF_TEMPLATE = pybcdc.inf_template
|
||||
GEN_CDCINF_FILE = $(HEADER_BUILD)/pybcdc.inf
|
||||
GEN_CDCINF_HEADER = $(HEADER_BUILD)/pybcdc_inf.h
|
||||
|
||||
GEN_PLLFREQTABLE_HDR = $(HEADER_BUILD)/pllfreqtable.h
|
||||
GEN_STMCONST_HDR = $(HEADER_BUILD)/modstm_const.h
|
||||
GEN_STMCONST_QSTR = $(BUILD)/modstm_qstr.h
|
||||
GEN_STMCONST_MPZ = $(HEADER_BUILD)/modstm_mpz.h
|
||||
CMSIS_MCU_HDR = $(STM32LIB_CMSIS_ABS)/Include/$(CMSIS_MCU_LOWER).h
|
||||
|
||||
# Select the cross compile prefix
|
||||
CROSS_COMPILE ?= arm-none-eabi-
|
||||
|
||||
|
@ -537,8 +562,7 @@ OBJ += $(addprefix $(BUILD)/, $(HAL_SRC_C:.c=.o))
|
|||
OBJ += $(addprefix $(BUILD)/, $(USBDEV_SRC_C:.c=.o))
|
||||
OBJ += $(addprefix $(BUILD)/, $(SRC_C:.c=.o))
|
||||
OBJ += $(addprefix $(BUILD)/, $(SRC_CXX:.cpp=.o))
|
||||
OBJ += $(addprefix $(BUILD)/, $(SRC_MOD:.c=.o))
|
||||
OBJ += $(BUILD)/pins_$(BOARD).o
|
||||
OBJ += $(GEN_PINS_SRC:.c=.o)
|
||||
|
||||
# This file contains performance critical functions so turn up the optimisation
|
||||
# level. It doesn't add much to the code size and improves performance a bit.
|
||||
|
@ -689,25 +713,6 @@ $(BUILD)/firmware.hex: $(BUILD)/firmware.elf
|
|||
$(BUILD)/firmware.elf: $(OBJ)
|
||||
$(call GENERATE_ELF,$@,$^)
|
||||
|
||||
PLLVALUES = boards/pllvalues.py
|
||||
MAKE_PINS = boards/make-pins.py
|
||||
BOARD_PINS = $(BOARD_DIR)/pins.csv
|
||||
PREFIX_FILE = boards/stm32f4xx_prefix.c
|
||||
GEN_PINS_SRC = $(BUILD)/pins_$(BOARD).c
|
||||
GEN_PINS_HDR = $(HEADER_BUILD)/pins.h
|
||||
GEN_PINS_QSTR = $(BUILD)/pins_qstr.h
|
||||
GEN_PINS_AF_CONST = $(HEADER_BUILD)/pins_af_const.h
|
||||
GEN_PINS_AF_DEFS = $(HEADER_BUILD)/pins_af_defs.h
|
||||
GEN_PINS_AF_PY = $(BUILD)/pins_af.py
|
||||
|
||||
INSERT_USB_IDS = $(TOP)/tools/insert-usb-ids.py
|
||||
FILE2H = $(TOP)/tools/file2h.py
|
||||
|
||||
USB_IDS_FILE = mpconfigboard_common.h
|
||||
CDCINF_TEMPLATE = pybcdc.inf_template
|
||||
GEN_CDCINF_FILE = $(HEADER_BUILD)/pybcdc.inf
|
||||
GEN_CDCINF_HEADER = $(HEADER_BUILD)/pybcdc_inf.h
|
||||
|
||||
# List of sources for qstr extraction
|
||||
SRC_QSTR += $(SRC_C) $(SRC_CXX) $(SRC_MOD) $(SHARED_SRC_C) $(EXTMOD_SRC_C)
|
||||
# Append any auto-generated sources that are needed by sources listed in
|
||||
|
@ -738,15 +743,9 @@ $(BUILD)/%_$(BOARD).c $(HEADER_BUILD)/%.h $(HEADER_BUILD)/%_af_const.h $(HEADER_
|
|||
--af-defs $(GEN_PINS_AF_DEFS) --af-defs-cmp-strings \
|
||||
--af-py $(GEN_PINS_AF_PY) > $(GEN_PINS_SRC)
|
||||
|
||||
$(BUILD)/pins_$(BOARD).o: $(BUILD)/pins_$(BOARD).c
|
||||
$(GEN_PINS_SRC:.c=.o): $(GEN_PINS_SRC)
|
||||
$(call compile_c)
|
||||
|
||||
GEN_PLLFREQTABLE_HDR = $(HEADER_BUILD)/pllfreqtable.h
|
||||
GEN_STMCONST_HDR = $(HEADER_BUILD)/modstm_const.h
|
||||
GEN_STMCONST_QSTR = $(BUILD)/modstm_qstr.h
|
||||
GEN_STMCONST_MPZ = $(HEADER_BUILD)/modstm_mpz.h
|
||||
CMSIS_MCU_HDR = $(STM32LIB_CMSIS_ABS)/Include/$(CMSIS_MCU_LOWER).h
|
||||
|
||||
modmachine.c: $(GEN_PLLFREQTABLE_HDR)
|
||||
$(GEN_PLLFREQTABLE_HDR): $(PLLVALUES) | $(HEADER_BUILD)
|
||||
$(ECHO) "GEN $@"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include ../../py/mkenv.mk
|
||||
|
||||
# qstr definitions (must come before including py.mk)
|
||||
QSTR_DEFS = qstrdefsport.h $(BUILD)/pins_qstr.h
|
||||
QSTR_DEFS = qstrdefsport.h $(GEN_PINS_QSTR)
|
||||
|
||||
# MicroPython feature configurations
|
||||
MICROPY_ROM_TEXT_COMPRESSION ?= 1
|
||||
|
@ -66,6 +66,16 @@ $(info Using toolchain from PATH)
|
|||
CROSS_COMPILE ?= arm-none-eabi-
|
||||
endif
|
||||
|
||||
MAKE_PINS = make-pins.py
|
||||
BOARD_PINS = teensy_pins.csv
|
||||
AF_FILE = mk20dx256_af.csv
|
||||
PREFIX_FILE = mk20dx256_prefix.c
|
||||
GEN_PINS_SRC = $(BUILD)/pins_gen.c
|
||||
GEN_PINS_HDR = $(HEADER_BUILD)/pins.h
|
||||
GEN_PINS_QSTR = $(BUILD)/pins_qstr.h
|
||||
GEN_PINS_AF_CONST = $(HEADER_BUILD)/pins_af_const.h
|
||||
GEN_PINS_AF_PY = $(BUILD)/pins_af.py
|
||||
|
||||
CFLAGS_TEENSY = -DF_CPU=96000000 -DUSB_SERIAL -D__MK20DX256__
|
||||
CFLAGS_CORTEX_M4 = -mthumb -mtune=cortex-m4 -mcpu=cortex-m4 -msoft-float -mfloat-abi=soft -fsingle-precision-constant -Wdouble-promotion $(CFLAGS_TEENSY)
|
||||
|
||||
|
@ -157,7 +167,7 @@ SRC_TEENSY = $(addprefix core/,\
|
|||
OBJ = $(PY_O) $(addprefix $(BUILD)/, $(SRC_C:.c=.o) $(STM_SRC_C:.c=.o) $(SRC_TEENSY:.c=.o))
|
||||
OBJ += $(addprefix $(BUILD)/, $(SHARED_SRC_C:.c=.o))
|
||||
OBJ += $(BUILD)/shared/runtime/gchelper_m3.o
|
||||
OBJ += $(BUILD)/pins_gen.o
|
||||
OBJ += $(GEN_PINS_SRC:.c=.o)
|
||||
|
||||
all: hex
|
||||
hex: $(BUILD)/micropython.hex
|
||||
|
@ -195,16 +205,6 @@ $(BUILD)/%.hex: $(BUILD)/%.elf
|
|||
$(ECHO) "HEX $<"
|
||||
$(Q)$(OBJCOPY) -O ihex -R .eeprom "$<" "$@"
|
||||
|
||||
MAKE_PINS = make-pins.py
|
||||
BOARD_PINS = teensy_pins.csv
|
||||
AF_FILE = mk20dx256_af.csv
|
||||
PREFIX_FILE = mk20dx256_prefix.c
|
||||
GEN_PINS_SRC = $(BUILD)/pins_gen.c
|
||||
GEN_PINS_HDR = $(HEADER_BUILD)/pins.h
|
||||
GEN_PINS_QSTR = $(BUILD)/pins_qstr.h
|
||||
GEN_PINS_AF_CONST = $(HEADER_BUILD)/pins_af_const.h
|
||||
GEN_PINS_AF_PY = $(BUILD)/pins_af.py
|
||||
|
||||
# List of sources for qstr extraction
|
||||
SRC_QSTR += $(SRC_C) $(STM_SRC_C) $(SHARED_SRC_C)
|
||||
# Append any auto-generated sources that are needed by sources listed in
|
||||
|
@ -224,7 +224,7 @@ $(BUILD)/%_gen.c $(HEADER_BUILD)/%.h $(HEADER_BUILD)/%_af_const.h $(BUILD)/%_qst
|
|||
$(ECHO) "Create $@"
|
||||
$(Q)$(PYTHON) $(MAKE_PINS) --board $(BOARD_PINS) --af $(AF_FILE) --prefix $(PREFIX_FILE) --hdr $(GEN_PINS_HDR) --qstr $(GEN_PINS_QSTR) --af-const $(GEN_PINS_AF_CONST) --af-py $(GEN_PINS_AF_PY) > $(GEN_PINS_SRC)
|
||||
|
||||
$(BUILD)/pins_gen.o: $(BUILD)/pins_gen.c
|
||||
$(GEN_PINS_SRC:.c=.o): $(GEN_PINS_SRC)
|
||||
$(call compile_c)
|
||||
|
||||
$(BUILD)/%.pp: $(BUILD)/%.c
|
||||
|
|
Loading…
Reference in New Issue