Files
hsb/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/Makefile
mmi 17207a3a4b Fixed some major issues with RAM shortage. Also moved the cached storage to a MALLOC design instead of fixed memory usage. Using freertos porteds malloc and free required to move to HEAP4 to make sure memory does not get fragmented.
Resized nearly all task stacks

Also: 
- Menu fixes for insertion. Almost done, just need to fix the negative voltage insertion for mcp and cathode
- Added Device parameters, must be filled in

git-svn-id: https://svn.vbchaos.nl/svn/hsb/trunk@271 05563f52-14a8-4384-a975-3d1654cca0fa
2017-11-07 15:50:25 +00:00

143 lines
3.9 KiB
Makefile

ifndef EXECUTABLE
# Main objects (not to be added in the library)
OBJECTS_MAIN = \
main.o
# Objects to be build for both the simulation and real target
OBJECTS_GEN = \
\
system_stm32f10x.o \
sysmem.o \
startup_stm32f10x_cl.o \
\
ADConverter.o \
ADConverters.o \
DAConverter.o \
DAConverters.o \
Display.o \
Displays.o \
DisplayContent.o \
Error.o \
FreeRTOSFixes.o \
hwValidationMenu.o \
MenuCore.o \
MenuElements.o \
repairMenu.o \
repairMenus.o \
RepairPreset.o \
RepairPresets.o \
repairProcess.o \
repairProcesses.o \
repairProcessRow.o \
SignalProfileGenerator.o \
\
heap_4.o\
list.o \
port.o \
queue.o \
tasks.o \
timers.o \
STM32_STDPERIPH_ROOT = ../STM32F10x_StdPeriph_Lib_V3.5.0
STM32_STDPERIPH_INC = ../STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc
STM32_DEVICE_SUPPORT_DIR = ../STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x
STM32_CORE_SUPPORT_DIR = ../STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/CoreSupport
FREERTOS_DIR = ../FreeRTOS/Source/include
FREERTOS_PORT_DIR = ../FreeRTOS/Source/portable/GCC/ARM_CM3
HAL_DIR = ../HAL
PLATFORM_DIR = ../Platform
LINKER_SCRIPTS_DIR = linker
LINKER_SCRIPT = LinkerScript.ld
STARTER_SCRIPT_DIR = startup
INCLUDES = \
-Iinc \
-I$(STM32_STDPERIPH_INC) \
-I$(FREERTOS_DIR) \
-I$(FREERTOS_PORT_DIR) \
-I$(STM32_DEVICE_SUPPORT_DIR) \
-I$(STM32_CORE_SUPPORT_DIR) \
-I$(HAL_DIR)/inc \
-I$(PLATFORM_DIR)/inc \
all: OLI_STM32_H107
OLI_STM32_H107: export OBJ_DIR := obj_release/
OLI_STM32_H107: export OBJECTS := $(OBJECTS_GEN)
OLI_STM32_H107: export OBJECTS_MAIN := $(OBJECTS_MAIN)
OLI_STM32_H107: export CROSS_COMPILE := arm-none-eabi-
OLI_STM32_H107: export CCFLAGS := -c -O2 -Wall -g -lc -lm -fno-common -mcpu=cortex-m3 -mthumb $(PLATFORM) $(RELEASE_DEFINES) $(INCLUDES)
OLI_STM32_H107: export ASFLAGS := -g -mapcs-32
OLI_STM32_H107: export LDFLAGS := -g -nostartfiles -mcpu=cortex-m3 -mthumb -T$(LINKER_SCRIPTS_DIR)/$(LINKER_SCRIPT) -Wl,-Map=hsb_mrts_OLI_STM32_H107.map
OLI_STM32_H107: export LDARCHIVES := -L. -L$(STM32_STDPERIPH_ROOT) -L$(PLATFORM_DIR) -L$(HAL_DIR) -lhsb_mrts_OLI_STM32_H107 -lPlatform -lHAL -lSTM_StdPeriph
OLI_STM32_H107: export ARFLAGS := ru
OLI_STM32_H107: export OBJCOPYFLAGS := -O binary
OLI_STM32_H107: export OBJDUMPFLAGS := -x --syms -S
OLI_STM32_H107: export EXECUTABLE := hsb_mrts_OLI_STM32_H107.out
OLI_STM32_H107: export BINFILE := hsb_mrts_OLI_STM32_H107.bin
OLI_STM32_H107: export LIBRARY := libhsb_mrts_OLI_STM32_H107.a
OLI_STM32_H107: export LISTFILE := hsb_mrts_OLI_STM32_H107.list
OLI_STM32_H107: ;@$(MAKE)
clean:
rm -f hsb_mrts_OLI_STM32_H107.out hsb_mrts_OLI_STM32_H107.map hsb_mrts_OLI_STM32_H107.bin hsb_mrts_OLI_STM32_H107.list hsb_mrts_OLI_STM32_H107.map libhsb_mrts_OLI_STM32_H107.a
rm -rf obj_release
flash:
st-flash write hsdb_mrts_OLI_STM32_H107.bin 0x8000000
doc:
doxygen 0387-pho-hsb-mrts-doxygen.doc
.PHONY: all clean doc flash
else
vpath %.c \
src \
startup \
../FreeRTOS/Source \
../FreeRTOS/Source/portable/GCC/ARM_CM3 \
../FreeRTOS/Source/portable/MemMang \
../STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x \
../STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/CoreSupport \
vpath %.s \
startup
vpath %.o \
obj_release
CC = $(CROSS_COMPILE)gcc
LD = $(CROSS_COMPILE)gcc
AS = $(CROSS_COMPILE)as
AR = $(CROSS_COMPILE)ar
OBJCOPY = $(CROSS_COMPILE)objcopy
OBJDUMP = $(CROSS_COMPILE)objdump
$(BINFILE): $(EXECUTABLE)
$(OBJCOPY) $(OBJCOPYFLAGS) $< $@
$(OBJDUMP) $(OBJDUMPFLAGS) $< > $(LISTFILE)
cp $@ ../$@
$(EXECUTABLE): $(OBJ_DIR) $(OBJECTS_MAIN) $(LIBRARY)
$(LD) $(LDFLAGS) $(addprefix $(OBJ_DIR), $(OBJECTS_MAIN)) $(LDARCHIVES) -o $@
$(LIBRARY): $(OBJ_DIR) $(OBJECTS) | $(OBJ_DIR)
$(AR) $(ARFLAGS) $@ $(addprefix $(OBJ_DIR), $(OBJECTS))
%.o: %.c
$(CC) $(CCFLAGS) $< -o $(OBJ_DIR)/$@
%.o: %.s
$(AS) $(ASFLAGS) $< -o $(OBJ_DIR)/$@
$(OBJ_DIR):
mkdir -p $@
endif