[FL-2052] New build system based on scons (#1269)
This commit is contained in:
@@ -1,27 +0,0 @@
|
||||
MAKEFILE_DIR := $(dir $(abspath $(firstword $(MAKEFILE_LIST))))
|
||||
PROJECT_ROOT := $(abspath $(MAKEFILE_DIR)/..)
|
||||
|
||||
include $(PROJECT_ROOT)/make/base.mk
|
||||
include $(PROJECT_ROOT)/make/freertos-heap.mk
|
||||
include $(PROJECT_ROOT)/assets/assets.mk
|
||||
include $(PROJECT_ROOT)/core/core.mk
|
||||
include $(PROJECT_ROOT)/applications/applications.mk
|
||||
include $(PROJECT_ROOT)/lib/lib.mk
|
||||
|
||||
CFLAGS += -I$(PROJECT_ROOT) -Itargets/furi_hal_include
|
||||
CFLAGS += -Werror -Wno-address-of-packed-member
|
||||
CPPFLAGS += -Werror
|
||||
|
||||
include $(PROJECT_ROOT)/make/defaults.mk
|
||||
TARGET_DIR = targets/$(TARGET)
|
||||
include $(TARGET_DIR)/target.mk
|
||||
|
||||
ifeq ($(RAM_EXEC), 0)
|
||||
PROJECT := firmware
|
||||
else
|
||||
PROJECT := updater
|
||||
endif
|
||||
|
||||
include $(PROJECT_ROOT)/make/git.mk
|
||||
include $(PROJECT_ROOT)/make/toolchain.mk
|
||||
include $(PROJECT_ROOT)/make/rules.mk
|
@@ -19,37 +19,4 @@ Target independent code and headers in `target/include` folders. More details in
|
||||
|
||||
# Building
|
||||
|
||||
## With dev docker image:
|
||||
|
||||
`docker-compose exec dev make -C firmware`
|
||||
|
||||
## With toolchain installed in path:
|
||||
|
||||
`make -C firmware`
|
||||
|
||||
## Build Options
|
||||
|
||||
- `DEBUG` - 0/1 - enable or disable debug build. Default is 1.
|
||||
- `COMPACT` - 0/1 - enable or disable compiler optimizations. Significantly reduces binary size. Default is 0.
|
||||
- `TARGET` - string - target to build. Default is `f7`.
|
||||
- `RAM_EXEC` - 0/1 - whether to build full firmware or RAM-based stage for firmware update. 0 is default, builds firmware.
|
||||
|
||||
# Building self-update package
|
||||
|
||||
`make DEBUG=0 COMPACT=1 updater_package`
|
||||
|
||||
# Flashing
|
||||
|
||||
Using SWD (STLink):
|
||||
|
||||
`make -C firmware flash`
|
||||
|
||||
Or use DFU (USB):
|
||||
|
||||
`make -C firmware upload`
|
||||
|
||||
# Debug
|
||||
|
||||
Using SWD (STLink):
|
||||
|
||||
`make -C firmware debug`
|
||||
Check out `documentation/fbt.md` on how to build and flash firmware.
|
14
firmware/SConscript
Normal file
14
firmware/SConscript
Normal file
@@ -0,0 +1,14 @@
|
||||
Import("env")
|
||||
|
||||
env.Append(LINT_SOURCES=["firmware"])
|
||||
|
||||
libenv = env.Clone(FW_LIB_NAME="flipper${TARGET_HW}")
|
||||
libenv.ApplyLibFlags()
|
||||
|
||||
|
||||
sources = ["targets/f${TARGET_HW}/startup_stm32wb55xx_cm4.s"]
|
||||
sources += libenv.GlobRecursive("*.c")
|
||||
|
||||
lib = libenv.StaticLibrary("${FW_LIB_NAME}", sources)
|
||||
libenv.Install("${LIB_DIST_DIR}", lib)
|
||||
Return("lib")
|
37
firmware/targets/f7/application-ext.ld
Normal file
37
firmware/targets/f7/application-ext.ld
Normal file
@@ -0,0 +1,37 @@
|
||||
SECTIONS
|
||||
{
|
||||
.text 0x00000000 :
|
||||
{
|
||||
*(.text)
|
||||
*(.text.*)
|
||||
}
|
||||
|
||||
.rodata :
|
||||
{
|
||||
*(.rodata)
|
||||
*(.rodata1)
|
||||
*(.rodata.*)
|
||||
}
|
||||
|
||||
.data :
|
||||
{
|
||||
*(.data)
|
||||
*(.data1)
|
||||
*(.data.*)
|
||||
}
|
||||
|
||||
.bss :
|
||||
{
|
||||
*(.bss)
|
||||
*(.bss.*)
|
||||
*(.sbss)
|
||||
*(.sbss.*)
|
||||
*(COMMON)
|
||||
}
|
||||
|
||||
/DISCARD/ :
|
||||
{
|
||||
*(.comment)
|
||||
*(.comment.*)
|
||||
}
|
||||
}
|
@@ -113,13 +113,34 @@ BleGlueStatus ble_glue_get_c2_status() {
|
||||
return ble_glue->status;
|
||||
}
|
||||
|
||||
static const char* ble_glue_get_reltype_str(const uint8_t reltype) {
|
||||
static char relcode[3] = {0};
|
||||
switch(reltype) {
|
||||
case INFO_STACK_TYPE_BLE_FULL:
|
||||
return "F";
|
||||
case INFO_STACK_TYPE_BLE_HCI:
|
||||
return "H";
|
||||
case INFO_STACK_TYPE_BLE_LIGHT:
|
||||
return "L";
|
||||
case INFO_STACK_TYPE_BLE_BEACON:
|
||||
return "Be";
|
||||
case INFO_STACK_TYPE_BLE_BASIC:
|
||||
return "Ba";
|
||||
case INFO_STACK_TYPE_BLE_FULL_EXT_ADV:
|
||||
return "F+";
|
||||
case INFO_STACK_TYPE_BLE_HCI_EXT_ADV:
|
||||
return "H+";
|
||||
default:
|
||||
snprintf(relcode, sizeof(relcode), "%X", reltype);
|
||||
return relcode;
|
||||
}
|
||||
}
|
||||
|
||||
static void ble_glue_update_c2_fw_info() {
|
||||
WirelessFwInfo_t wireless_info;
|
||||
SHCI_GetWirelessFwInfo(&wireless_info);
|
||||
BleGlueC2Info* local_info = &ble_glue->c2_info;
|
||||
|
||||
local_info->VersionMajor = wireless_info.VersionMajor;
|
||||
local_info->VersionMinor = wireless_info.VersionMinor;
|
||||
local_info->VersionMajor = wireless_info.VersionMajor;
|
||||
local_info->VersionMinor = wireless_info.VersionMinor;
|
||||
local_info->VersionSub = wireless_info.VersionSub;
|
||||
@@ -132,6 +153,14 @@ static void ble_glue_update_c2_fw_info() {
|
||||
local_info->MemorySizeFlash = wireless_info.MemorySizeFlash;
|
||||
|
||||
local_info->StackType = wireless_info.StackType;
|
||||
snprintf(
|
||||
local_info->StackTypeString,
|
||||
BLE_GLUE_MAX_VERSION_STRING_LEN,
|
||||
"%d.%d.%d.%s",
|
||||
local_info->VersionMajor,
|
||||
local_info->VersionMinor,
|
||||
local_info->VersionSub,
|
||||
ble_glue_get_reltype_str(local_info->StackType));
|
||||
|
||||
local_info->FusVersionMajor = wireless_info.FusVersionMajor;
|
||||
local_info->FusVersionMinor = wireless_info.FusVersionMinor;
|
||||
|
@@ -13,6 +13,7 @@ typedef enum {
|
||||
BleGlueC2ModeStack,
|
||||
} BleGlueC2Mode;
|
||||
|
||||
#define BLE_GLUE_MAX_VERSION_STRING_LEN 20
|
||||
typedef struct {
|
||||
BleGlueC2Mode mode;
|
||||
/**
|
||||
@@ -28,6 +29,7 @@ typedef struct {
|
||||
uint8_t MemorySizeSram1; /*< Multiple of 1K */
|
||||
uint8_t MemorySizeFlash; /*< Multiple of 4K */
|
||||
uint8_t StackType;
|
||||
char StackTypeString[BLE_GLUE_MAX_VERSION_STRING_LEN];
|
||||
/**
|
||||
* Fus Info
|
||||
*/
|
||||
|
@@ -5,6 +5,7 @@
|
||||
#include <furi.h>
|
||||
#include <m-string.h>
|
||||
#include <protobuf_version.h>
|
||||
#include <lib/toolbox/version.h>
|
||||
|
||||
#define TAG "BtDevInfoSvc"
|
||||
|
||||
@@ -15,15 +16,14 @@ typedef struct {
|
||||
uint16_t firmware_rev_char_handle;
|
||||
uint16_t software_rev_char_handle;
|
||||
uint16_t rpc_version_char_handle;
|
||||
string_t version_string;
|
||||
char hardware_revision[4];
|
||||
} DevInfoSvc;
|
||||
|
||||
static DevInfoSvc* dev_info_svc = NULL;
|
||||
|
||||
static const char dev_info_man_name[] = "Flipper Devices Inc.";
|
||||
static const char dev_info_serial_num[] = "1.0";
|
||||
static const char dev_info_firmware_rev_num[] = TOSTRING(TARGET);
|
||||
static const char dev_info_software_rev_num[] = GIT_COMMIT " " GIT_BRANCH " " GIT_BRANCH_NUM
|
||||
" " BUILD_DATE;
|
||||
static const char dev_info_rpc_version[] = TOSTRING(PROTOBUF_MAJOR_VERSION.PROTOBUF_MINOR_VERSION);
|
||||
|
||||
static const uint8_t dev_info_rpc_version_uuid[] =
|
||||
@@ -31,6 +31,18 @@ static const uint8_t dev_info_rpc_version_uuid[] =
|
||||
|
||||
void dev_info_svc_start() {
|
||||
dev_info_svc = malloc(sizeof(DevInfoSvc));
|
||||
string_init_printf(
|
||||
dev_info_svc->version_string,
|
||||
"%s %s %s %s",
|
||||
version_get_githash(NULL),
|
||||
version_get_gitbranch(NULL),
|
||||
version_get_gitbranchnum(NULL),
|
||||
version_get_builddate(NULL));
|
||||
snprintf(
|
||||
dev_info_svc->hardware_revision,
|
||||
sizeof(dev_info_svc->hardware_revision),
|
||||
"%d",
|
||||
version_get_target(NULL));
|
||||
tBleStatus status;
|
||||
|
||||
// Add Device Information Service
|
||||
@@ -77,7 +89,7 @@ void dev_info_svc_start() {
|
||||
dev_info_svc->service_handle,
|
||||
UUID_TYPE_16,
|
||||
(Char_UUID_t*)&uuid,
|
||||
strlen(dev_info_firmware_rev_num),
|
||||
strlen(dev_info_svc->hardware_revision),
|
||||
CHAR_PROP_READ,
|
||||
ATTR_PERMISSION_AUTHEN_READ,
|
||||
GATT_DONT_NOTIFY_EVENTS,
|
||||
@@ -92,7 +104,7 @@ void dev_info_svc_start() {
|
||||
dev_info_svc->service_handle,
|
||||
UUID_TYPE_16,
|
||||
(Char_UUID_t*)&uuid,
|
||||
strlen(dev_info_software_rev_num),
|
||||
string_size(dev_info_svc->version_string),
|
||||
CHAR_PROP_READ,
|
||||
ATTR_PERMISSION_AUTHEN_READ,
|
||||
GATT_DONT_NOTIFY_EVENTS,
|
||||
@@ -140,8 +152,8 @@ void dev_info_svc_start() {
|
||||
dev_info_svc->service_handle,
|
||||
dev_info_svc->firmware_rev_char_handle,
|
||||
0,
|
||||
strlen(dev_info_firmware_rev_num),
|
||||
(uint8_t*)dev_info_firmware_rev_num);
|
||||
strlen(dev_info_svc->hardware_revision),
|
||||
(uint8_t*)dev_info_svc->hardware_revision);
|
||||
if(status) {
|
||||
FURI_LOG_E(TAG, "Failed to update firmware revision char: %d", status);
|
||||
}
|
||||
@@ -149,8 +161,8 @@ void dev_info_svc_start() {
|
||||
dev_info_svc->service_handle,
|
||||
dev_info_svc->software_rev_char_handle,
|
||||
0,
|
||||
strlen(dev_info_software_rev_num),
|
||||
(uint8_t*)dev_info_software_rev_num);
|
||||
string_size(dev_info_svc->version_string),
|
||||
(uint8_t*)string_get_cstr(dev_info_svc->version_string));
|
||||
if(status) {
|
||||
FURI_LOG_E(TAG, "Failed to update software revision char: %d", status);
|
||||
}
|
||||
@@ -168,6 +180,7 @@ void dev_info_svc_start() {
|
||||
void dev_info_svc_stop() {
|
||||
tBleStatus status;
|
||||
if(dev_info_svc) {
|
||||
string_clear(dev_info_svc->version_string);
|
||||
// Delete service characteristics
|
||||
status =
|
||||
aci_gatt_del_char(dev_info_svc->service_handle, dev_info_svc->man_name_char_handle);
|
||||
|
@@ -7,12 +7,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define DEV_INFO_MANUFACTURER_NAME "Flipper Devices Inc."
|
||||
#define DEV_INFO_SERIAL_NUMBER "1.0"
|
||||
#define DEV_INFO_FIRMWARE_REVISION_NUMBER TARGET
|
||||
#define DEV_INFO_SOFTWARE_REVISION_NUMBER \
|
||||
GIT_COMMIT " " GIT_BRANCH " " GIT_BRANCH_NUM " " BUILD_DATE
|
||||
|
||||
void dev_info_svc_start();
|
||||
|
||||
void dev_info_svc_stop();
|
||||
|
@@ -33,7 +33,6 @@ extern "C" {
|
||||
#include "app_conf.h" /* required as some configuration used in dbg_trace.h are set there */
|
||||
#include "dbg_trace.h"
|
||||
#include "hw_if.h"
|
||||
#include <furi_hal.h>
|
||||
|
||||
/**
|
||||
* Enable or Disable traces
|
||||
|
@@ -1,162 +0,0 @@
|
||||
TOOLCHAIN = arm
|
||||
|
||||
FLASH_ADDRESS = 0x08000000
|
||||
|
||||
RAM_EXEC ?= 0
|
||||
ifeq ($(RAM_EXEC), 1)
|
||||
CFLAGS += -DFURI_RAM_EXEC -DVECT_TAB_SRAM -DFLIPPER_STREAM_LITE
|
||||
else
|
||||
LDFLAGS += -u _printf_float
|
||||
endif
|
||||
|
||||
DEBUG_RTOS_THREADS ?= 1
|
||||
ifeq ($(DEBUG_RTOS_THREADS), 1)
|
||||
OPENOCD_OPTS = -f interface/stlink.cfg -c "transport select hla_swd" -f ../debug/stm32wbx.cfg -c "stm32wbx.cpu configure -rtos auto" -c "init"
|
||||
else
|
||||
OPENOCD_OPTS = -f interface/stlink.cfg -c "transport select hla_swd" -f ../debug/stm32wbx.cfg -c "init"
|
||||
endif
|
||||
|
||||
MCU_FLAGS = -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard
|
||||
|
||||
# Warnings configuration
|
||||
CFLAGS += -Wall -Wextra -Wredundant-decls -Wdouble-promotion
|
||||
|
||||
CFLAGS += $(MCU_FLAGS) -DSTM32WB55xx -fdata-sections -ffunction-sections -fsingle-precision-constant
|
||||
LDFLAGS += $(MCU_FLAGS) -specs=nosys.specs -specs=nano.specs
|
||||
|
||||
CPPFLAGS += -fno-rtti -fno-use-cxa-atexit -fno-exceptions
|
||||
LDFLAGS += -Wl,--start-group -lstdc++ -lsupc++ -Wl,--end-group
|
||||
|
||||
HARDWARE_TARGET = 7
|
||||
|
||||
MXPROJECT_DIR = $(TARGET_DIR)
|
||||
|
||||
# Entry Point
|
||||
ASM_SOURCES += $(MXPROJECT_DIR)/startup_stm32wb55xx_cm4.s
|
||||
|
||||
# STM32WB HAL
|
||||
CUBE_DIR = ../lib/STM32CubeWB
|
||||
CFLAGS += \
|
||||
-DUSE_FULL_LL_DRIVER \
|
||||
-DUSE_FULL_ASSERT \
|
||||
-DHAVE_FREERTOS
|
||||
CFLAGS += \
|
||||
-I$(CUBE_DIR)/Drivers/STM32WBxx_HAL_Driver/Inc \
|
||||
-I$(CUBE_DIR)/Drivers/CMSIS/Device/ST \
|
||||
-I$(CUBE_DIR)/Drivers/CMSIS/Device/ST/STM32WBxx/Include \
|
||||
-I$(CUBE_DIR)/Drivers/CMSIS/Include
|
||||
C_SOURCES += \
|
||||
$(CUBE_DIR)/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_adc.c \
|
||||
$(CUBE_DIR)/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_comp.c \
|
||||
$(CUBE_DIR)/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_dma.c \
|
||||
$(CUBE_DIR)/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_gpio.c \
|
||||
$(CUBE_DIR)/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_i2c.c \
|
||||
$(CUBE_DIR)/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_lptim.c \
|
||||
$(CUBE_DIR)/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_rcc.c \
|
||||
$(CUBE_DIR)/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_rtc.c \
|
||||
$(CUBE_DIR)/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_spi.c \
|
||||
$(CUBE_DIR)/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_tim.c \
|
||||
$(CUBE_DIR)/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_usart.c \
|
||||
$(CUBE_DIR)/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_lpuart.c \
|
||||
$(CUBE_DIR)/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_utils.c \
|
||||
$(CUBE_DIR)/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_ll_rng.c
|
||||
|
||||
# FreeRTOS
|
||||
CFLAGS += \
|
||||
-I$(LIB_DIR)/FreeRTOS-Kernel/include \
|
||||
-I$(LIB_DIR)/FreeRTOS-Kernel/portable/GCC/ARM_CM4F \
|
||||
-I$(LIB_DIR)/FreeRTOS-glue/
|
||||
|
||||
C_SOURCES += \
|
||||
$(LIB_DIR)/FreeRTOS-Kernel/event_groups.c \
|
||||
$(LIB_DIR)/FreeRTOS-Kernel/list.c \
|
||||
$(LIB_DIR)/FreeRTOS-Kernel/queue.c \
|
||||
$(LIB_DIR)/FreeRTOS-Kernel/stream_buffer.c \
|
||||
$(LIB_DIR)/FreeRTOS-Kernel/tasks.c \
|
||||
$(LIB_DIR)/FreeRTOS-Kernel/timers.c \
|
||||
$(LIB_DIR)/FreeRTOS-Kernel/portable/GCC/ARM_CM4F/port.c \
|
||||
$(LIB_DIR)/FreeRTOS-glue/cmsis_os2.c \
|
||||
|
||||
# BLE glue
|
||||
CFLAGS += \
|
||||
-I$(TARGET_DIR)/ble_glue \
|
||||
-I$(CUBE_DIR)/Middlewares/ST/STM32_WPAN \
|
||||
-I$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/ble \
|
||||
-I$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/ble/core \
|
||||
-I$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/ble/core/template \
|
||||
-I$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/utilities \
|
||||
-I$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread \
|
||||
-I$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl \
|
||||
-I$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci
|
||||
C_SOURCES += \
|
||||
$(wildcard $(TARGET_DIR)/ble_glue/*.c) \
|
||||
$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/utilities/otp.c \
|
||||
$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/utilities/stm_list.c \
|
||||
$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/utilities/dbg_trace.c \
|
||||
$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/ble/svc/Src/svc_ctl.c \
|
||||
$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/ble/core/template/osal.c \
|
||||
$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hci_le.c \
|
||||
$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gap_aci.c \
|
||||
$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_gatt_aci.c \
|
||||
$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_hal_aci.c \
|
||||
$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/ble/core/auto/ble_l2cap_aci.c \
|
||||
$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/tl_mbox.c \
|
||||
$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl.c \
|
||||
$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/hci_tl_if.c \
|
||||
$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl.c \
|
||||
$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/tl/shci_tl_if.c \
|
||||
$(CUBE_DIR)/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c
|
||||
|
||||
# USB stack
|
||||
CFLAGS += \
|
||||
-DSTM32WB \
|
||||
-DUSB_PMASIZE=0x400
|
||||
|
||||
# Furi HAL
|
||||
FURI_HAL_OS_DEBUG ?= 0
|
||||
ifeq ($(FURI_HAL_OS_DEBUG), 1)
|
||||
CFLAGS += -DFURI_HAL_OS_DEBUG
|
||||
endif
|
||||
|
||||
FURI_HAL_USB_VCP_DEBUG ?= 0
|
||||
ifeq ($(FURI_HAL_USB_VCP_DEBUG), 1)
|
||||
CFLAGS += -DFURI_HAL_USB_VCP_DEBUG
|
||||
endif
|
||||
|
||||
ifeq ($(FURI_HAL_POWER_DEEP_SLEEP_ENABLED), 1)
|
||||
CFLAGS += -DFURI_HAL_POWER_DEEP_SLEEP_ENABLED
|
||||
endif
|
||||
|
||||
FURI_HAL_SUBGHZ_TX_GPIO ?= 0
|
||||
ifneq ($(FURI_HAL_SUBGHZ_TX_GPIO), 0)
|
||||
CFLAGS += -DFURI_HAL_SUBGHZ_TX_GPIO=$(FURI_HAL_SUBGHZ_TX_GPIO)
|
||||
endif
|
||||
|
||||
ifeq ($(INVERT_RFID_IN), 1)
|
||||
CFLAGS += -DINVERT_RFID_IN
|
||||
endif
|
||||
|
||||
ifeq ($(BLE_GLUE_DEBUG), 1)
|
||||
CFLAGS += -DBLE_GLUE_DEBUG
|
||||
endif
|
||||
|
||||
FURI_HAL_DIR = $(TARGET_DIR)/furi_hal
|
||||
CFLAGS += -I$(FURI_HAL_DIR)
|
||||
C_SOURCES += $(wildcard $(FURI_HAL_DIR)/*.c)
|
||||
|
||||
# Other
|
||||
CFLAGS += \
|
||||
-I$(MXPROJECT_DIR)/Inc \
|
||||
-I$(MXPROJECT_DIR)/fatfs
|
||||
C_SOURCES += \
|
||||
$(wildcard $(MXPROJECT_DIR)/Src/*.c) \
|
||||
$(wildcard $(MXPROJECT_DIR)/fatfs/*.c)
|
||||
|
||||
ifeq ($(RAM_EXEC), 1)
|
||||
LDFLAGS += -T$(MXPROJECT_DIR)/stm32wb55xx_ram_fw.ld
|
||||
else # RAM_EXEC
|
||||
# Linker options
|
||||
LDFLAGS += -T$(MXPROJECT_DIR)/stm32wb55xx_flash.ld
|
||||
endif # RAM_EXEC
|
||||
|
||||
SVD_FILE = ../debug/STM32WB55_CM4.svd
|
Reference in New Issue
Block a user