BM-Lite/HAL_Driver/stm32wb55/stm32wb55.mk
Andrey Perminov 27c95abeba Added support for BM-Lite UART interface.
Implemented UART interface support in stm32Wb55 HAL
2021-12-21 12:35:20 -08:00

119 lines
2.8 KiB
Makefile

# Copyright (c) 2020 Fingerprint Cards AB
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Modified by Andrey Perminov <andrey.ppp@gmail.com>
# for FPC BM-Lite applications
HAL_PATH := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST))))
CPU = cortex_m4
FPU ?= hard
CC := arm-none-eabi-gcc
CFLAGS +=\
-mcpu=cortex-m4\
-mthumb -mabi=aapcs\
-ffunction-sections -fdata-sections -fno-strict-aliasing\
-fno-builtin --short-enums \
-Wno-expansion-to-defined \
# SDK definitions
CFLAGS +=\
-DUSE_HAL_DRIVER \
-DNUCLEO \
-DARM_MATH_CM4
CFLAGS += -DSTM32WB55xx
ifeq ($(FPU),soft)
CFLAGS +=\
-mfloat-abi=soft
else
CFLAGS +=\
-mfloat-abi=hard \
-mfpu=fpv4-sp-d16
endif
ifeq ($(DEBUG),y)
CFLAGS += -g -O0
LDFLAGS += -g
endif
HAL := $(HAL_PATH)
SDK_ROOT := $(HAL)/STM32WBxx_HAL_Driver
LDFILE = $(HAL)/spi_gcc_nrf52.ld
LDFLAGS += -T $(HAL)/STM32WB55RGVX_FLASH.ld
# # Suppress warnings in vendor files
$(OUT)/obj/stm32wbxx_hal_pwr_ex.o: CFLAGS+=-Wno-unused-parameter
$(OUT)/obj/stm32wbxx_hal_rtc_ex.o: CFLAGS+=-Wno-unused-parameter
$(OUT)/obj/syscalls.o: CFLAGS+=-Wno-unused-parameter
$(OUT)/obj/hal_uart.o: CFLAGS+=-Wno-discarded-qualifiers
ifeq ($(FPU),soft)
AR_LIBS +=\
$(HAL)/CMSIS/Lib/libarm_cortexM4l_math.a
else
AR_LIBS +=\
$(HAL)/CMSIS/Lib/libarm_cortexM4lf_math.a
endif
# C Sources
HAL_SRCS := \
$(SDK_ROOT)/Src/stm32wbxx_hal.c \
$(SDK_ROOT)/Src/stm32wbxx_hal_cortex.c \
$(SDK_ROOT)/Src/stm32wbxx_hal_dma.c \
$(SDK_ROOT)/Src/stm32wbxx_hal_flash.c \
$(SDK_ROOT)/Src/stm32wbxx_hal_flash_ex.c \
$(SDK_ROOT)/Src/stm32wbxx_hal_gpio.c \
$(SDK_ROOT)/Src/stm32wbxx_hal_pwr.c \
$(SDK_ROOT)/Src/stm32wbxx_hal_pwr_ex.c \
$(SDK_ROOT)/Src/stm32wbxx_hal_rcc.c \
$(SDK_ROOT)/Src/stm32wbxx_hal_rcc_ex.c \
$(SDK_ROOT)/Src/stm32wbxx_hal_rtc.c \
$(SDK_ROOT)/Src/stm32wbxx_hal_rtc_ex.c \
$(SDK_ROOT)/Src/stm32wbxx_hal_spi.c \
$(SDK_ROOT)/Src/stm32wbxx_hal_uart.c \
$(SDK_ROOT)/Src/stm32wbxx_hal_uart_ex.c \
VPATH += $(dir $(HAL_SRCS))
C_SRCS += $(notdir $(HAL_SRCS))
# Source Folders
VPATH += $(HAL)/src/
# C Sources
C_SRCS += $(notdir $(wildcard $(HAL)/src/*.c))
# S Sources
S_SRCS += $(HAL)/src/startup_stm32wb55rgvx.s
# Source Folders
VPATH += $(sort $(dir $(HAL_FPC_C_SRCS) $(HAL_VENDOR_C_SRCS)))
# Includes
C_INC +=\
-I$(HAL)/inc \
-I$(SDK_ROOT)/Inc \
-I$(HAL)/CMSIS/Include \
-I$(HAL)/CMSIS/Device/ST/STM32WBxx/Include