Improvements:

- HAL re-organized
- FreeRTOS running stable
- UART finished
- SPI1 & SPI3 finished and functional
- Display driver added (functional)


git-svn-id: https://svn.vbchaos.nl/svn/hsb/trunk@172 05563f52-14a8-4384-a975-3d1654cca0fa
This commit is contained in:
mmi
2017-09-20 06:51:53 +00:00
parent f5dd9e0f09
commit c9562e8bfd
313 changed files with 8279 additions and 50216 deletions

View File

@@ -1,6 +1,6 @@
ifndef EXECUTABLE
# Define release version for Adremo firmware here
# Define release version for firmware here
S0_RELEASE_PRODUCT = \""S0\""
S0_RELEASE_MAJOR = 0
S0_RELEASE_MINOR = 1
@@ -17,22 +17,30 @@ OBJECTS_GEN = \
\
system_stm32f10x.o \
sysmem.o \
startup_stm32.o \
startup_stm32f10x_cl.o \
\
freeRTOSFixes.o \
heap_4.o\
Logger.o \
\
heap_2.o\
list.o \
port.o \
queue.o \
tasks.o \
timers.o
timers.o \
STM32_STDPERIPH_ROOT = ../STM32F10x_StdPeriph_Lib_V3.5.0
STM32_STDPERIPH_INC = ../STM32F10x_StdPeriph_Lib_V3.5.0/inc
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
HAL_Misc_DIR = ../HAL/Misc/inc
HAL_PLATFORM_DIR = ../HAL/Platform/inc
HAL_KEYPAD_DIR = ../HAL/Keypad/inc
HAL_DISPLAY_DIR = ../HAL/Display/inc
LINKER_SCRIPTS_DIR = linker
LINKER_SCRIPT = LinkerScript.ld
@@ -51,41 +59,48 @@ INCLUDES = \
-I$(FREERTOS_DIR) \
-I$(FREERTOS_PORT_DIR) \
-I$(STM32_DEVICE_SUPPORT_DIR) \
-I$(STM32_CORE_SUPPORT_DIR)
-I$(STM32_CORE_SUPPORT_DIR) \
-I$(HAL_DIR) \
-I$(HAL_Misc_DIR) \
-I$(HAL_PLATFORM_DIR) \
-I$(HAL_KEYPAD_DIR) \
-I$(HAL_DISPLAY_DIR)
all: release
release: export RELEASE_PRODUCT := $(S0_RELEASE_PRODUCT)
release: export RELEASE_MAJOR := $(S0_RELEASE_MAJOR)
release: export RELEASE_MINOR := $(S0_RELEASE_MINOR)
release: export RELEASE_BRANCH := $(S0_RELEASE_BRANCH)
release: export RELEASE_REVISION := $(S0_RELEASE_REVISION)
release: export OBJ_DIR := obj_release/
release: export OBJECTS := $(OBJECTS_GEN)
release: export OBJECTS_MAIN := $(OBJECTS_MAIN)
release: export CROSS_COMPILE := arm-none-eabi-
release: export CCFLAGS := -c -O2 -Wall -g -lc -lm -fno-common -mcpu=cortex-m3 -mthumb $(RELEASE_DEFINES) $(INCLUDES)
release: export ASFLAGS := -g -mapcs-32
release: export LDFLAGS := -g -nostartfiles -mcpu=cortex-m3 -mthumb -T$(LINKER_SCRIPTS_DIR)/$(LINKER_SCRIPT) -Wl,-Map=hsb_mrts_release.map
release: export LDARCHIVES := -L. -L$(STM32_STDPERIPH_ROOT) -lSTM_StdPeriph -lhsb_mrts_release
release: export ARFLAGS := ru
release: export OBJCOPYFLAGS := -O binary
release: export OBJDUMPFLAGS := -x --syms -S
release: export EXECUTABLE := hsb_mrts_release.out
release: export BINFILE := hsb_mrts_release.bin
release: export LIBRARY := libhsb_mrts_release.a
release: export LISTFILE := hsb_mrts_release.list
release: ;@$(MAKE)
all: OLI_STM32_H107
OLI_STM32_H107: export RELEASE_PRODUCT := $(S0_RELEASE_PRODUCT)
OLI_STM32_H107: export RELEASE_MAJOR := $(S0_RELEASE_MAJOR)
OLI_STM32_H107: export RELEASE_MINOR := $(S0_RELEASE_MINOR)
OLI_STM32_H107: export RELEASE_BRANCH := $(S0_RELEASE_BRANCH)
OLI_STM32_H107: export RELEASE_REVISION := $(S0_RELEASE_REVISION)
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 -DOLI_STM32_H107 -DENABLE_SERIAL_LOGGING -mthumb $(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$(HAL_DIR) -lhsb_mrts_OLI_STM32_H107 -lPlatform -lDisplay -lMisc -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_release.out hsb_mrts_release.map hsb_mrts_release.bin hsb_mrts_release.list hsb_mrts_release.map libhsb_mrts_release.a
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_release.bin 0x8000000
st-flash write hsdb_mrts_OLI_STM32_H107.bin 0x8000000
doc:
doxygen 0322-Adremo.dox
doxygen 0387-pho-hsb-mrts-doxygen.doc
.PHONY: all clean doc flash
@@ -98,7 +113,7 @@ startup \
../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
../STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/CoreSupport \
vpath %.s \
startup
@@ -118,10 +133,10 @@ $(BINFILE): $(EXECUTABLE)
cp $@ ../$@
$(EXECUTABLE): $(OBJ_DIR) $(OBJECTS_MAIN) $(LIBRARY)
$(LD) $(LDFLAGS) $(addprefix $(OBJ_DIR)/, $(OBJECTS_MAIN)) $(LDARCHIVES) -o $@
$(LD) $(LDFLAGS) $(addprefix $(OBJ_DIR), $(OBJECTS_MAIN)) $(LDARCHIVES) -o $@
$(LIBRARY): $(OBJ_DIR) $(OBJECTS) | $(OBJ_DIR)
$(AR) $(ARFLAGS) $@ $(addprefix $(OBJ_DIR)/, $(OBJECTS))
$(AR) $(ARFLAGS) $@ $(addprefix $(OBJ_DIR), $(OBJECTS))
%.o: %.c
$(CC) $(CCFLAGS) $< -o $(OBJ_DIR)/$@