Compare commits
3
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b8909fca06
|
||
|
|
54b72a4bf1
|
||
|
|
afee9ab6a3
|
@@ -140,11 +140,13 @@ void systemsettings_mco_init(void)
|
|||||||
|
|
||||||
void systemsettings_debug_uart_init_deinit(void)
|
void systemsettings_debug_uart_init_deinit(void)
|
||||||
{
|
{
|
||||||
|
#if USE_DEBUG_UART
|
||||||
if (SystemSettings.enable_debug_uart) {
|
if (SystemSettings.enable_debug_uart) {
|
||||||
DebugUart_Init();
|
DebugUart_Init();
|
||||||
} else {
|
} else {
|
||||||
DebugUart_Teardown();
|
DebugUart_Teardown();
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -59,10 +59,9 @@ COMMON_AS_INCLUDES = \
|
|||||||
# Platform-independent, GEX specific
|
# Platform-independent, GEX specific
|
||||||
#####################################################
|
#####################################################
|
||||||
|
|
||||||
GEX_UNIT_DIRS = $(foreach x,$(GEX_UNITS), GexUnits/$(x))
|
GEX_UNIT_DIRS := $(foreach x,$(GEX_UNITS), GexUnits/$(x))
|
||||||
GEX_UNIT_DEFS = $(foreach x,$(GEX_UNITS), -DENABLE_UNIT_$(shell echo $(x) | tr a-z A-Z)=1)
|
GEX_UNIT_DEFS := $(foreach x,$(GEX_UNITS), -DENABLE_UNIT_$(shell echo $(x) | tr a-z A-Z)=1) \
|
||||||
ENDPAREN = )
|
-DUNITS_REGISTER_CMD="$(foreach x,$(GEX_UNITS),ureg_add_type(&UNIT_$(shell echo $(x) | tr a-z A-Z));)"
|
||||||
GEX_UNIT_DEFS += -DUNITS_REGISTER_CMD="$(foreach x,$(GEX_UNITS),ureg_add_type(&UNIT_$(shell echo $(x) | tr a-z A-Z));)"
|
|
||||||
|
|
||||||
GEX_C_DIRS = \
|
GEX_C_DIRS = \
|
||||||
GexCore \
|
GexCore \
|
||||||
@@ -107,7 +106,7 @@ GEX_C_INCLUDES = \
|
|||||||
-IGexCore/USB/STM32_USB_Device_Library/Class/MSC/Inc \
|
-IGexCore/USB/STM32_USB_Device_Library/Class/MSC/Inc \
|
||||||
-IGexCore/USB/STM32_USB_Device_Library/Class/MSC_CDC
|
-IGexCore/USB/STM32_USB_Device_Library/Class/MSC_CDC
|
||||||
|
|
||||||
GEX_C_FLAGS = \
|
GEX_C_FLAGS := \
|
||||||
-DGEX_PLAT_$(GEX_PLAT) \
|
-DGEX_PLAT_$(GEX_PLAT) \
|
||||||
-D__weak="__attribute__((weak))" \
|
-D__weak="__attribute__((weak))" \
|
||||||
-D__packed="__attribute__((__packed__))" \
|
-D__packed="__attribute__((__packed__))" \
|
||||||
@@ -171,37 +170,37 @@ TARGET = firmware
|
|||||||
# Specs (determines which stdlib version is included)
|
# Specs (determines which stdlib version is included)
|
||||||
SPECS = nano.specs
|
SPECS = nano.specs
|
||||||
|
|
||||||
C_SOURCES = \
|
C_SOURCES := \
|
||||||
$(COMMON_C_FILES) $(PLAT_C_FILES) $(GEX_C_FILES) \
|
$(COMMON_C_FILES) $(PLAT_C_FILES) $(GEX_C_FILES) \
|
||||||
$(foreach x,$(COMMON_C_DIRS),$(wildcard $(x)/*.c)) \
|
$(foreach x,$(COMMON_C_DIRS),$(wildcard $(x)/*.c)) \
|
||||||
$(foreach x,$(PLAT_C_DIRS),$(wildcard $(x)/*.c)) \
|
$(foreach x,$(PLAT_C_DIRS),$(wildcard $(x)/*.c)) \
|
||||||
$(foreach x,$(GEX_C_DIRS),$(wildcard $(x)/*.c)) \
|
$(foreach x,$(GEX_C_DIRS),$(wildcard $(x)/*.c)) \
|
||||||
|
|
||||||
AS_SOURCES = \
|
AS_SOURCES := \
|
||||||
$(COMMON_AS_FILES) $(PLAT_AS_FILES) $(GEX_AS_FILES)
|
$(COMMON_AS_FILES) $(PLAT_AS_FILES) $(GEX_AS_FILES)
|
||||||
$(foreach x,$(COMMON_AS_DIRS),$(wildcard $(x)/*.s)) \
|
$(foreach x,$(COMMON_AS_DIRS),$(wildcard $(x)/*.s)) \
|
||||||
$(foreach x,$(PLAT_AS_DIRS),$(wildcard $(x)/*.s)) \
|
$(foreach x,$(PLAT_AS_DIRS),$(wildcard $(x)/*.s)) \
|
||||||
$(foreach x,$(GEX_AS_DIRS),$(wildcard $(x)/*.s))
|
$(foreach x,$(GEX_AS_DIRS),$(wildcard $(x)/*.s))
|
||||||
|
|
||||||
# mcu
|
# mcu
|
||||||
MCU = $(PLAT_CPU) -mthumb $(PLAT_FPU) $(PLAT_FLOAT-ABI)
|
MCU := $(PLAT_CPU) -mthumb $(PLAT_FPU) $(PLAT_FLOAT-ABI)
|
||||||
|
|
||||||
#######################################
|
#######################################
|
||||||
# binaries
|
# binaries
|
||||||
#######################################
|
#######################################
|
||||||
BINPATH = /usr/bin
|
BINPATH = /usr/bin
|
||||||
PREFIX = arm-none-eabi-
|
PREFIX = arm-none-eabi-
|
||||||
CC = $(BINPATH)/$(PREFIX)gcc
|
CC := $(BINPATH)/$(PREFIX)gcc
|
||||||
AS = $(BINPATH)/$(PREFIX)gcc -x assembler-with-cpp
|
AS := $(BINPATH)/$(PREFIX)gcc -x assembler-with-cpp
|
||||||
CP = $(BINPATH)/$(PREFIX)objcopy
|
CP := $(BINPATH)/$(PREFIX)objcopy
|
||||||
AR = $(BINPATH)/$(PREFIX)ar
|
AR := $(BINPATH)/$(PREFIX)ar
|
||||||
SZ = $(BINPATH)/$(PREFIX)size
|
SZ := $(BINPATH)/$(PREFIX)size
|
||||||
HEX = $(CP) -O ihex
|
HEX := $(CP) -O ihex
|
||||||
BIN = $(CP) -O binary -S
|
BIN := $(CP) -O binary -S
|
||||||
|
|
||||||
|
|
||||||
LIBS = -lc -lm -lnosys
|
LIBS = -lc -lm -lnosys
|
||||||
LDFLAGS = \
|
LDFLAGS := \
|
||||||
$(MCU) -specs=$(SPECS) -T$(PLAT_LDSCRIPT) $(LIBS) \
|
$(MCU) -specs=$(SPECS) -T$(PLAT_LDSCRIPT) $(LIBS) \
|
||||||
-Wl,-Map=$(BUILD_DIR)/$(TARGET).map,--cref \
|
-Wl,-Map=$(BUILD_DIR)/$(TARGET).map,--cref \
|
||||||
-Wl,--gc-sections
|
-Wl,--gc-sections
|
||||||
@@ -211,19 +210,19 @@ ifeq ($(OPT),)
|
|||||||
OPT = -Os
|
OPT = -Os
|
||||||
endif
|
endif
|
||||||
|
|
||||||
C_FLAGS = \
|
C_FLAGS := \
|
||||||
$(MCU) $(OPT) \
|
$(MCU) $(OPT) \
|
||||||
$(GEX_C_INCLUDES) $(PLAT_C_INCLUDES) $(COMMON_C_INCLUDES) \
|
$(GEX_C_INCLUDES) $(PLAT_C_INCLUDES) $(COMMON_C_INCLUDES) \
|
||||||
$(GEX_C_FLAGS) $(PLAT_C_FLAGS) $(COMMON_C_FLAGS)
|
$(GEX_C_FLAGS) $(PLAT_C_FLAGS) $(COMMON_C_FLAGS)
|
||||||
|
|
||||||
AS_FLAGS = \
|
AS_FLAGS := \
|
||||||
$(MCU) $(OPT) \
|
$(MCU) $(OPT) \
|
||||||
$(GEX_AS_INCLUDES) $(PLAT_AS_INCLUDES) $(COMMON_AS_INCLUDES) \
|
$(GEX_AS_INCLUDES) $(PLAT_AS_INCLUDES) $(COMMON_AS_INCLUDES) \
|
||||||
$(GEX_AS_FLAGS) $(PLAT_AS_FLAGS) $(COMMON_AS_FLAGS)
|
$(GEX_AS_FLAGS) $(PLAT_AS_FLAGS) $(COMMON_AS_FLAGS)
|
||||||
|
|
||||||
|
|
||||||
# Generate dependency information
|
# Generate dependency information
|
||||||
C_FLAGS += -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)"
|
DEPENDENCY_TRACKER = -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)"
|
||||||
|
|
||||||
|
|
||||||
#######################################
|
#######################################
|
||||||
@@ -238,10 +237,10 @@ C_FLAGS += -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)"
|
|||||||
# vpath %.s $(sort $(dir $(AS_SOURCES)))
|
# vpath %.s $(sort $(dir $(AS_SOURCES)))
|
||||||
|
|
||||||
# list of objects
|
# list of objects
|
||||||
OBJECTS = $(addprefix $(BUILD_DIR)/,$(C_SOURCES:.c=.o))
|
OBJECTS := $(addprefix $(BUILD_DIR)/,$(C_SOURCES:.c=.o)) \
|
||||||
|
$(addprefix $(BUILD_DIR)/,$(AS_SOURCES:.s=.o))
|
||||||
|
|
||||||
vpath %.c $(sort $(dir $(C_SOURCES)))
|
vpath %.c $(sort $(dir $(C_SOURCES)))
|
||||||
# list of ASM program objects
|
|
||||||
OBJECTS += $(addprefix $(BUILD_DIR)/,$(AS_SOURCES:.s=.o))
|
|
||||||
vpath %.s $(sort $(dir $(AS_SOURCES)))
|
vpath %.s $(sort $(dir $(AS_SOURCES)))
|
||||||
|
|
||||||
MAKEFILES = Makefile GexCore/gex.mk build.mk
|
MAKEFILES = Makefile GexCore/gex.mk build.mk
|
||||||
@@ -252,10 +251,10 @@ all: $(BUILD_DIR)/$(TARGET).elf $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET
|
|||||||
$(BUILD_DIR)/%.o: %.c $(MAKEFILES) | $(BUILD_DIR)
|
$(BUILD_DIR)/%.o: %.c $(MAKEFILES) | $(BUILD_DIR)
|
||||||
@echo -e "\x1b[32mCC\x1b[m $<\n \x1b[90m-> $@\x1b[m"
|
@echo -e "\x1b[32mCC\x1b[m $<\n \x1b[90m-> $@\x1b[m"
|
||||||
@mkdir -p `dirname "$(BUILD_DIR)/$(<)"`
|
@mkdir -p `dirname "$(BUILD_DIR)/$(<)"`
|
||||||
@$(CC) -c $(C_FLAGS) -Wa,-a,-ad,-alms=$(BUILD_DIR)/$(<:.c=.lst) $< -o $@
|
@$(CC) -c $(C_FLAGS) $(DEPENDENCY_TRACKER) -Wa,-a,-ad,-alms=$(BUILD_DIR)/$(<:.c=.lst) $< -o $@
|
||||||
|
|
||||||
$(BUILD_DIR)/%.o: %.s $(MAKEFILES) | $(BUILD_DIR)
|
$(BUILD_DIR)/%.o: %.s $(MAKEFILES) | $(BUILD_DIR)
|
||||||
@$(AS) -c $(C_FLAGS) $< -o $@
|
@$(AS) -c $(C_FLAGS) $(DEPENDENCY_TRACKER) $< -o $@
|
||||||
|
|
||||||
$(BUILD_DIR)/$(TARGET).elf: $(OBJECTS) $(MAKEFILES)
|
$(BUILD_DIR)/$(TARGET).elf: $(OBJECTS) $(MAKEFILES)
|
||||||
@printf "LD $< -> $@\n"
|
@printf "LD $< -> $@\n"
|
||||||
|
|||||||
Reference in New Issue
Block a user