# linker script to use | # linker script to use | ||||
# it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/ | # it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/ | ||||
# or <this_dir>/ld/ | # or <this_dir>/ld/ | ||||
MCU_MODEL_FAMILY = STM32F072xB | |||||
MCU_LDSCRIPT = STM32F072xB | |||||
# startup code to use | |||||
# is should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/ | |||||
MCU_STARTUP = stm32f0xx | |||||
# it should exist either in <chibios>/os/hal/boards/ | # it should exist either in <chibios>/os/hal/boards/ | ||||
# or <this_dir>/boards | # or <this_dir>/boards | ||||
BOARD = ST_STM32F072B_DISCOVERY | BOARD = ST_STM32F072B_DISCOVERY | ||||
# ARM version, M0/M1 are 6, M3/M4/M7 are 7 | |||||
# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7 | |||||
ARMV = 6 | ARMV = 6 | ||||
# If you want to be able to jump to bootloader from firmware (on STM32 MCUs), | # If you want to be able to jump to bootloader from firmware (on STM32 MCUs), | ||||
# set the correct BOOTLOADER_ADDRESS here. Otherwise leave commented out. | # set the correct BOOTLOADER_ADDRESS here. Otherwise leave commented out. |
/* Putchar over the USB console */ | /* Putchar over the USB console */ | ||||
int8_t sendchar(uint8_t c); | int8_t sendchar(uint8_t c); | ||||
/* wrapper for printf lib */ | |||||
/* Flush output (send everything immediately) */ | /* Flush output (send everything immediately) */ | ||||
void console_flush_output(void); | void console_flush_output(void); |
# Imported source files and paths | # Imported source files and paths | ||||
CHIBIOS = $(TMK_DIR)/tool/chibios/chibios | CHIBIOS = $(TMK_DIR)/tool/chibios/chibios | ||||
# Startup files. | # Startup files. | ||||
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/startup_$(shell echo $(MCU_SERIES) | tr '[:upper:]' '[:lower:]').mk | |||||
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/startup_$(MCU_STARTUP).mk | |||||
# HAL-OSAL files (optional). | # HAL-OSAL files (optional). | ||||
include $(CHIBIOS)/os/hal/hal.mk | include $(CHIBIOS)/os/hal/hal.mk | ||||
include $(CHIBIOS)/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)/platform.mk | include $(CHIBIOS)/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)/platform.mk | ||||
# Other files (optional). | # Other files (optional). | ||||
# Define linker script file here | # Define linker script file here | ||||
ifneq ("$(wildcard $(TARGET_DIR)/ld/$(MCU_MODEL_FAMILY).ld)","") | |||||
LDSCRIPT = $(TARGET_DIR)/ld/$(MCU_MODEL_FAMILY).ld | |||||
ifneq ("$(wildcard $(TARGET_DIR)/ld/$(MCU_LDSCRIPT).ld)","") | |||||
LDSCRIPT = $(TARGET_DIR)/ld/$(MCU_LDSCRIPT).ld | |||||
else | else | ||||
LDSCRIPT = $(STARTUPLD)/$(MCU_MODEL_FAMILY).ld | |||||
LDSCRIPT = $(STARTUPLD)/$(MCU_LDSCRIPT).ld | |||||
endif | endif | ||||
# C sources that can be compiled in ARM or THUMB mode depending on the global | # C sources that can be compiled in ARM or THUMB mode depending on the global |