mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-30 20:48:33 -04:00
mk: added F4Light HAL support
This commit is contained in:
parent
0d8c71de71
commit
207f7893d6
@ -47,6 +47,10 @@ ifeq ($(HAL_BOARD),HAL_BOARD_QURT)
|
||||
include $(MK_DIR)/board_qurt.mk
|
||||
endif
|
||||
|
||||
ifeq ($(HAL_BOARD),HAL_BOARD_F4LIGHT)
|
||||
include $(MK_DIR)/board_F4Light.mk
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
endif
|
||||
|
362
mk/board_F4Light.mk
Normal file
362
mk/board_F4Light.mk
Normal file
@ -0,0 +1,362 @@
|
||||
|
||||
#TOOLCHAIN = NATIVE
|
||||
TOOLCHAIN = ARM
|
||||
|
||||
ARM_CXX := arm-none-eabi-g++
|
||||
ARM_CC := arm-none-eabi-gcc
|
||||
ARM_AS := arm-none-eabi-gcc
|
||||
ARM_AR := arm-none-eabi-ar
|
||||
#ARM_LD := arm-none-eabi-g++
|
||||
ARM_LD := arm-none-eabi-ld
|
||||
ARM_GDB := arm-none-eabi-gdb
|
||||
ARM_OBJCOPY := arm-none-eabi-objcopy
|
||||
|
||||
#TOOLCHAIN = arm-none-eabi
|
||||
include $(MK_DIR)/find_tools.mk
|
||||
|
||||
.DEFAULT_GOAL := all
|
||||
|
||||
##
|
||||
## Target-specific configuration. This determines some compiler and
|
||||
## linker options/flags.
|
||||
##
|
||||
|
||||
|
||||
PATH:=$(PATH):/usr/local/bin
|
||||
|
||||
# these default to a Maple Flash build.
|
||||
BOARD ?= f4light_Revolution
|
||||
MEMORY_TARGET ?= flash
|
||||
|
||||
##
|
||||
## Useful paths, constants, etc.
|
||||
##
|
||||
|
||||
STFLASH := /usr/local/stlink/st-flash
|
||||
STUTIL := /usr/local/stlink/st-util
|
||||
|
||||
FLASH_ADDRESS := 0x08010000
|
||||
|
||||
UPLOADER := dfu-util
|
||||
#leaflabs bootloader
|
||||
USBID := 1EAF:0003
|
||||
|
||||
BLDROOT := $(SRCROOT)/..
|
||||
|
||||
#BUILD_PATH := $(BLDROOT)/build
|
||||
BUILD_PATH := $(BUILDROOT)
|
||||
|
||||
LIBRARIES_PATH := $(BLDROOT)/libraries
|
||||
REVO_PATH := $(LIBRARIES_PATH)/AP_HAL_F4Light
|
||||
WIRISH_PATH := $(REVO_PATH)/wirish
|
||||
BOARDS_PATH := $(REVO_PATH)/boards
|
||||
HARDWARE_PATH := $(REVO_PATH)/hardware
|
||||
HAL_PATH := $(REVO_PATH)/hardware/hal
|
||||
STM32_PATH := $(HARDWARE_PATH)/STM32F4xx_DSP_StdPeriph_Lib_V1.1.0
|
||||
STM32USB_PATH := $(HARDWARE_PATH)/STM32_USB_Driver
|
||||
cpu_flags := -mthumb -mcpu=cortex-m4 -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard
|
||||
|
||||
|
||||
FIRMWARE_PATH := $(BLDROOT)/$(SKETCH)
|
||||
|
||||
# List of input files to the sketch.cpp file in the order they should be appended to create it
|
||||
LIBRARY_INCLUDES :=
|
||||
|
||||
SUPPORT_PATH := $(BLDROOT)/libraries/AP_HAL_F4Light/support
|
||||
TOOLS_PATH := $(BLDROOT)/libraries/AP_HAL_F4Light/support/tools
|
||||
# Support files for linker
|
||||
LDDIR := $(BOARDS_PATH)/$(BOARD)/ld
|
||||
|
||||
|
||||
# $(BOARD)- and $(MEMORY_TARGET)-specific configuration
|
||||
include $(BOARDS_PATH)/$(BOARD)/target-config.mk
|
||||
|
||||
SIZE := arm-none-eabi-size
|
||||
DISAS := arm-none-eabi-objdump
|
||||
|
||||
##
|
||||
## Compilation flags
|
||||
##
|
||||
|
||||
EXTRAFLAGS += -DHAVE_STD_NULLPTR_T=0 -DHAVE_BYTESWAP_H=0
|
||||
EXTRAFLAGS += $(SKETCHLIBINCLUDES) -DARDUPILOT_BUILD -DTESTS_MATHLIB_DISABLE -DSKETCH_MAIN=ArduPilot_main
|
||||
GITFLAGS := -DGIT_VERSION="\"$(GIT_VERSION) $(shell date --rfc-3339=seconds)\""
|
||||
|
||||
|
||||
# -Wformat=1
|
||||
# -Werror=init-self -Wno-missing-field-initializers
|
||||
|
||||
#-Werror
|
||||
WARNFLAGS = -Wall -Wshadow -Wpointer-arith -Wcast-align -Wno-psabi -Wno-unused-parameter -Wno-error=cast-align -Wno-error=unused-but-set-variable
|
||||
WARNFLAGS += -Wwrite-strings -Wformat=2 -Wshadow -Wfloat-equal -Wpointer-arith -Wlogical-op -Wmissing-declarations -Wpacked -Wno-pragmas
|
||||
WARNFLAGS += -Wextra -Wlogical-op -Wno-unknown-pragmas -Wno-redundant-decls -Wno-packed -Wno-error=double-promotion -Wno-error=type-limits
|
||||
WARNFLAGS += -Wno-error=unused-variable -Wno-error=reorder -Wno-error=float-equal -Wno-error=unused-parameter -Wno-missing-field-initializers
|
||||
WARNFLAGS += -Wno-error=pmf-conversions -Wno-error=missing-declarations -Wno-error=unused-function -Werror=format-security -Werror=array-bounds
|
||||
WARNFLAGS += -Wno-error=unused-label -Wno-trigraphs
|
||||
|
||||
OPTFLAGS = -Os
|
||||
OPTFLAGS += -fsingle-precision-constant -g3 -fno-strict-aliasing -fomit-frame-pointer -frename-registers
|
||||
#-fno-strength-reduce
|
||||
OPTFLAGS += -fno-builtin-printf -fno-aggressive-loop-optimizations -fpredictive-commoning
|
||||
#OPTFLAGS += -fassociative-math
|
||||
# -freciprocal-math -ffast-math - cause EKF errors
|
||||
OPTFLAGS += -fno-signed-zeros -fno-trapping-math
|
||||
OPTFLAGS += -finline-functions-called-once -fearly-inlining -finline-small-functions
|
||||
OPTFLAGS += -fmerge-all-constants
|
||||
|
||||
WARNFLAGSCXX = -Wno-reorder
|
||||
DEPFLAGS = -MD -MT $@
|
||||
|
||||
GLOBAL_FLAGS := -D$(VECT_BASE_ADDR)
|
||||
GLOBAL_FLAGS += -DBOARD_$(BOARD)
|
||||
|
||||
GLOBAL_FLAGS += -DMCU_$(MCU)
|
||||
GLOBAL_FLAGS += -DCONFIG_HAL_BOARD=$(HAL_BOARD)
|
||||
GLOBAL_FLAGS += -DSTM32F4XX
|
||||
GLOBAL_FLAGS += -DUSE_STDPERIPH_DRIVER
|
||||
GLOBAL_FLAGS += -DARM_MATH_CM4
|
||||
GLOBAL_FLAGS += -DUSE_OTG_FS_CORE
|
||||
GLOBAL_FLAGS += -DUSE_USB_OTG_FS
|
||||
GLOBAL_FLAGS += -DUSE_EMBEDDED_PHY
|
||||
GLOBAL_FLAGS += -D__FPU_PRESENT
|
||||
GLOBAL_FLAGS += -D__FPU_USED=1
|
||||
GLOBAL_FLAGS += -DAPM_BUILD_DIRECTORY=APM_BUILD_$(SKETCH)
|
||||
GLOBAL_FLAGS += $(WARNFLAGS) $(DEPFLAGS) $(EXTRAFLAGS) $(OPTS)
|
||||
#
|
||||
GLOBAL_FLAGS += -mthumb -mcpu=cortex-m4 -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard
|
||||
GLOBAL_FLAGS += -ffunction-sections
|
||||
GLOBAL_FLAGS += -fdata-sections
|
||||
|
||||
|
||||
#Produce debugging information in the operating system's native format
|
||||
GLOBAL_FLAGS += -ggdb
|
||||
#GLOBAL_FLAGS += -v -save-temps # for GCC bugreport
|
||||
|
||||
# GLOBAL_CFLAGS -----------------------------------------------------------------------------------
|
||||
GLOBAL_CFLAGS := $(cpu_flags)
|
||||
#GLOBAL_CFLAGS += -nostdlib #Do not use the standard system startup files or libraries when linking
|
||||
GLOBAL_CFLAGS += -Wall #This enables all the warnings about constructions that some users consider questionable, and that are easy to avoid (or modify to prevent the warning), even in conjunction with macros
|
||||
GLOBAL_CFLAGS += $(GLOBAL_FLAGS) $(OPTFLAGS)
|
||||
GLOBAL_CFLAGS += -include $(BOARDS_PATH)/$(BOARD)/board.h
|
||||
|
||||
|
||||
# GLOBAL_CXXFLAGS ---------------------------------------------------------------------------------
|
||||
GLOBAL_CXXFLAGS := -fno-rtti #Disable generation of information about every class with virtual functions for use by the C++ runtime type identification features
|
||||
GLOBAL_CXXFLAGS += -fno-exceptions -fno-threadsafe-statics # not true C++
|
||||
GLOBAL_CXXFLAGS += -fconserve-space -fno-enforce-eh-specs -fno-use-cxa-atexit
|
||||
GLOBAL_CXXFLAGS += -std=gnu++11
|
||||
|
||||
# Downgrade some diagnostics about nonconformant code from errors to warnings. Thus, using "-fpermissive" will allow some nonconforming code to compile.
|
||||
GLOBAL_CXXFLAGS += $(GLOBAL_CFLAGS) -fpermissive
|
||||
#-fpermissive
|
||||
# missing definitions
|
||||
GLOBAL_CXXFLAGS += -c -include $(WIRISH_PATH)/defs.h
|
||||
|
||||
# GLOBAL_ASFLAGS ----------------------------------------------------------------------------------
|
||||
GLOBAL_ASFLAGS := $(cpu_flags)
|
||||
GLOBAL_ASFLAGS += -x assembler-with-cpp
|
||||
GLOBAL_ASFLAGS += $(GLOBAL_FLAGS) $(OPTFLAGS)
|
||||
|
||||
# GLOBAL_LDFLAGS ----------------------------------------------------------------------------------
|
||||
LDFLAGS := $(cpu_flags)
|
||||
LDFLAGS += -static
|
||||
LDFLAGS += -lm -lgcc
|
||||
LDFLAGS += -Wall
|
||||
LDFLAGS += -Wl,--gc-sections
|
||||
LDFLAGS += -Wl,--cref
|
||||
#LDFLAGS += -Wl,--print-gc-sections
|
||||
LDFLAGS += -Wl,-Map -Wl,$(BUILD_PATH)/$(BOARD).map
|
||||
LDFLAGS += -T$(LDDIR)/$(LDSCRIPT)
|
||||
LDFLAGS += -L$(LDDIR)
|
||||
LDFLAGS += -Wl,--warn-common
|
||||
# -Wl,--verbose
|
||||
#let's linker optimize whole program itself
|
||||
LDFLAGS += -Wl,--relax
|
||||
#LDFLAGS += -fwhole-program
|
||||
##
|
||||
# -fwhole-program
|
||||
#--plugin=/usr/local/arm-none-eabi/lib/gcc/arm-none-eabi/5.2.1/liblto_plugin.so
|
||||
# -flto -fuse-linker-plugin
|
||||
|
||||
# used to collect files from HAL folders tree
|
||||
TGT_BIN :=
|
||||
|
||||
COREINCLUDES = -I$(HAL_PATH) -I$(STM32_PATH) -I$(WIRISH_PATH) -I$(BOARDS_PATH)/$(BOARD) -I$(STM32USB_PATH) \
|
||||
-I$(HARDWARE_PATH) \
|
||||
-I$(STM32_PATH)/Libraries/STM32F4xx_StdPeriph_Driver/inc \
|
||||
-I$(STM32_PATH)/Libraries/CMSIS/Include \
|
||||
-I$(STM32_PATH)/Libraries/CMSIS/Device/ST/STM32F4xx/Include \
|
||||
-I$(BUILDROOT)/libraries/GCS_MAVLink/ \
|
||||
-I$(BUILDROOT)/libraries/GCS_MAVLink/include/mavlink/v2.0
|
||||
|
||||
|
||||
TGT_ASFLAGS = $(COREINCLUDES)
|
||||
|
||||
##
|
||||
## Build rules and useful templates
|
||||
##
|
||||
|
||||
include $(MK_DIR)/find_tools.mk
|
||||
|
||||
# all subfolder's rules
|
||||
include $(WIRISH_PATH)/rules.mk
|
||||
include $(HARDWARE_PATH)/hal/rules.mk
|
||||
include $(HARDWARE_PATH)/4way/rules.mk
|
||||
include $(HARDWARE_PATH)/sd/rules.mk
|
||||
include $(HARDWARE_PATH)/STM32_USB_Driver/rules.mk
|
||||
include $(HARDWARE_PATH)/STM32F4xx_DSP_StdPeriph_Lib_V1.1.0/rules.mk
|
||||
|
||||
include $(MK_DIR)/build_rules.mk
|
||||
|
||||
|
||||
LIBGCC := $(shell $(CC) $(GLOBAL_FLAGS) -print-libgcc-file-name)
|
||||
|
||||
|
||||
CFLAGS = $(GLOBAL_CFLAGS) $(TGT_CFLAGS) $(COREINCLUDES) -I$(LIBRARIES_PATH) $(LIBRARY_INCLUDES)
|
||||
CXXFLAGS = $(GLOBAL_CXXFLAGS) $(TGT_CFLAGS) $(COREINCLUDES) -I$(LIBRARIES_PATH) $(LIBRARY_INCLUDES) $(GITFLAGS)
|
||||
ASFLAGS = $(GLOBAL_ASFLAGS) $(TGT_ASFLAGS)
|
||||
|
||||
|
||||
##
|
||||
## Set all submodules here
|
||||
##
|
||||
|
||||
|
||||
SKETCH_INCLUDES = $(SKETCHLIBINCLUDES) $(ARDUINOLIBINCLUDES)
|
||||
|
||||
SLIB_INCLUDES = -I$(dir $<)/utility $(SKETCHLIBINCLUDES) $(ARDUINOLIBINCLUDES)
|
||||
|
||||
################################################################################
|
||||
# Built products
|
||||
#
|
||||
|
||||
|
||||
# Library object files
|
||||
LIBOBJS := $(SKETCHLIBOBJS)
|
||||
|
||||
# The ELF file
|
||||
SKETCHELF = $(BUILDROOT)/$(SKETCH).elf
|
||||
BUILDELF = $(notdir $(SKETCHELF))
|
||||
|
||||
# HEX file
|
||||
SKETCHHEX = $(BUILDROOT)/$(SKETCH).hex
|
||||
|
||||
# BIN file
|
||||
SKETCHBIN = $(BUILDROOT)/$(SKETCH).bin
|
||||
|
||||
# EEP file
|
||||
SKETCHEEP = $(BUILDROOT)/$(SKETCH).eep
|
||||
|
||||
# Map file
|
||||
SKETCHMAP = $(BUILDROOT)/$(SKETCH).map
|
||||
|
||||
# All of the objects that may be built
|
||||
ALLOBJS = $(SKETCHOBJS) $(LIBOBJS)
|
||||
|
||||
# All of the dependency files that may be generated
|
||||
ALLDEPS = $(ALLOBJS:%.o=%.d)
|
||||
|
||||
|
||||
|
||||
CAT := cat
|
||||
|
||||
FIND := /usr/bin/find
|
||||
|
||||
################################################################################
|
||||
# Targets
|
||||
#
|
||||
|
||||
all: $(SKETCHELF) $(SKETCHEEP) $(BUILD_PATH)/$(BOARD).bin
|
||||
|
||||
print-%:
|
||||
echo "$*=$($*)"
|
||||
|
||||
.PHONY: upload
|
||||
|
||||
#upload via maple bootloader
|
||||
f4light-maple-upload: $(SKETCHBIN)
|
||||
$(LIBMAPLE_PATH)/support/scripts/reset.py && sleep 1 && $(UPLOADER) -a1 -d $(USBID) -D $(SKETCHBIN) -R
|
||||
|
||||
#upload via BOOT0 hardware bootloader
|
||||
f4light-upload: $(SKETCHBIN)
|
||||
$(UPLOADER) -a 0 --dfuse-address $(FLASH_ADDRESS) -D $(SKETCHBIN) -R
|
||||
|
||||
|
||||
|
||||
# sorry byt I use ST_LINK and SWD, not JTAG - @NG
|
||||
|
||||
#f4light-debug:
|
||||
# $(AVARICE) --mkII --capture --jtag usb :4242 & \
|
||||
# gnome-terminal -x $(GDB) $(SKETCHELF) & \
|
||||
# echo -e '\n\nat the gdb prompt type "target remote localhost:4242"'
|
||||
|
||||
## this allows you to flash your image via JTAG for when you
|
||||
## have completely broken your USB
|
||||
#f4light-jtag-program:
|
||||
# $(AVARICE) --mkII --jtag usb --erase --program --file $(SKETCHELF)
|
||||
|
||||
f4light-debug:
|
||||
$(STUTIL) -m -p 4242
|
||||
|
||||
## this allows you to flash your image via SWD for when you have completely broken your USB
|
||||
f4light-program:
|
||||
$(STFLASH) --reset write $(SKETCHBIN) $(FLASH_ADDRESS)
|
||||
|
||||
################################################################################
|
||||
# Rules
|
||||
#
|
||||
|
||||
|
||||
# fetch dependency info from a previous build if any of it exists
|
||||
-include $(ALLDEPS)
|
||||
|
||||
|
||||
f4light-clean: clean
|
||||
$(v) $(FIND) $(REVO_PATH) -type f -name "*.d" -delete
|
||||
$(v) $(FIND) $(REVO_PATH) -type f -name "*.o" -delete
|
||||
$(v) $(FIND) $(REVO_PATH) -type f -name "*.i" -delete
|
||||
$(v) $(FIND) $(REVO_PATH) -type f -name "*.ii" -delete
|
||||
$(v) $(FIND) $(REVO_PATH) -type f -name "*.d" -delete
|
||||
|
||||
|
||||
# Link the final object. this line sets compilation order
|
||||
$(SKETCHELF): $(LIBOBJS) $(TGT_BIN) $(BUILD_PATH)/main.o $(SKETCHOBJS)
|
||||
|
||||
|
||||
$(RULEHDR)
|
||||
# $(v)$(LD) $(LDFLAGS) -o $@ $^ $(LIBS)
|
||||
$(SILENT_LD) $(CXX) $(LDFLAGS) -o $@ $(TGT_BIN) $(BUILD_PATH)/main.o $(SKETCHOBJS) $(LIBOBJS) $(LIBS) $(LIBGCC) -Wl,-Map,$(BUILD_PATH)/$(BOARD).map
|
||||
# $(v) $(LD) $(LDFLAGS) -Map $(BUILD_PATH)/$(BOARD).map -o $(TGT_BIN) --start-group $(BUILD_PATH)/main.o $(SKETCHOBJS) $(LIBOBJS) $(LIBS) $(EXTRA_LIBS) $(LIBGCC) --end-group
|
||||
#
|
||||
$(v)cp $(SKETCHELF) .
|
||||
@echo "Firmware is in $(BUILDELF)"
|
||||
|
||||
# Create the eep file
|
||||
$(SKETCHEEP): $(SKETCHELF)
|
||||
$(RULEHDR)
|
||||
$(v)$(OBJCOPY) -O ihex -j.eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 $< $@
|
||||
|
||||
$(BUILD_PATH)/main.o: $(WIRISH_PATH)/main.cxx
|
||||
$(SILENT_CXX) $(CXX) $(CXXFLAGS) $(LIBRARY_INCLUDES) -o $@ -c $<
|
||||
|
||||
$(BUILD_PATH)/$(BOARD).bin: $(SKETCHELF)
|
||||
$(SILENT_OBJCOPY) $(OBJCOPY) -v -Obinary $(SKETCHELF) --gap-fill 0xFF $@ 1>/dev/null
|
||||
$(OBJCOPY) -v -Oihex $(SKETCHELF) $(BUILD_PATH)/$(BOARD).hex 1>/dev/null
|
||||
$(SILENT_DISAS) $(DISAS) -S $(SKETCHELF) > $(BUILD_PATH)/$(BOARD).disas
|
||||
@echo " "
|
||||
$(TOOLS_PATH)/dfu-convert --ihex $(BUILD_PATH)/$(BOARD).hex $(BUILD_PATH)/$(BOARD).dfu
|
||||
$(v)cp $(BUILD_PATH)/$(BOARD).hex .
|
||||
$(v)cp $(BUILD_PATH)/$(BOARD).bin .
|
||||
$(v)cp $(BUILD_PATH)/$(BOARD).dfu .
|
||||
@echo "Object file sizes:"
|
||||
@find $(BUILD_PATH) -iname *.o | xargs $(SIZE) -t > $(BUILD_PATH)/$(BOARD).sizes
|
||||
@cd $(REVO_PATH); find . -iname *.o | xargs $(SIZE) -t >> $(BUILD_PATH)/$(BOARD).sizes
|
||||
@cat $(BUILD_PATH)/$(BOARD).sizes
|
||||
@echo " "
|
||||
@echo "Final Size:"
|
||||
@$(SIZE) $<
|
||||
@echo $(MEMORY_TARGET) > $(BUILD_PATH)/build-type
|
||||
|
||||
#
|
||||
# Build sketch objects
|
||||
#
|
@ -5,15 +5,15 @@
|
||||
|
||||
$(BUILDROOT)/%.o: $(BUILDROOT)/%.cpp $(GENERATE_TARGETS) $(MAVLINK_HEADERS) $(UAVCAN_HEADERS)
|
||||
$(RULEHDR)
|
||||
$(v)$(CXX) $(CXXFLAGS) -c -o $@ $< $(SKETCH_INCLUDES)
|
||||
$(v)$(CCACHE) $(CXX) $(CXXFLAGS) -c -o $@ $< $(SKETCH_INCLUDES)
|
||||
|
||||
$(BUILDROOT)/%.o: $(BUILDROOT)/make.flags $(SRCROOT)/%.cpp $(GENERATE_TARGETS) $(MAVLINK_HEADERS) $(UAVCAN_HEADERS)
|
||||
$(RULEHDR)
|
||||
$(v)$(CXX) $(CXXFLAGS) -c -o $@ $*.cpp $(SKETCH_INCLUDES)
|
||||
$(v)$(CCACHE) $(CXX) $(CXXFLAGS) -c -o $@ $*.cpp $(SKETCH_INCLUDES)
|
||||
|
||||
$(BUILDROOT)/%.o: $(SRCROOT)/%.c $(UAVCAN_HEADERS)
|
||||
$(RULEHDR)
|
||||
$(v)$(CC) $(CFLAGS) -c -o $@ $< $(SKETCH_INCLUDES)
|
||||
$(v)$(CCACHE) $(CC) $(CFLAGS) -c -o $@ $< $(SKETCH_INCLUDES)
|
||||
|
||||
$(BUILDROOT)/%.o: $(SRCROOT)/%.S
|
||||
$(RULEHDR)
|
||||
@ -25,11 +25,11 @@ $(BUILDROOT)/%.o: $(SRCROOT)/%.S
|
||||
|
||||
$(BUILDROOT)/libraries/%.o: $(SKETCHBOOK)/libraries/%.cpp $(GENERATE_TARGETS) $(MAVLINK_HEADERS) $(UAVCAN_HEADERS)
|
||||
$(RULEHDR)
|
||||
$(v)$(CXX) $(CXXFLAGS) -c -o $@ $< $(SLIB_INCLUDES)
|
||||
$(v)$(CCACHE) $(CXX) $(CXXFLAGS) -c -o $@ $< $(SLIB_INCLUDES)
|
||||
|
||||
$(BUILDROOT)/libraries/%.o: $(SKETCHBOOK)/libraries/%.c
|
||||
$(RULEHDR)
|
||||
$(v)$(CC) $(CFLAGS) -c -o $@ $< $(SLIB_INCLUDES)
|
||||
$(v)$(CCACHE) $(CC) $(CFLAGS) -c -o $@ $< $(SLIB_INCLUDES)
|
||||
|
||||
$(BUILDROOT)/libraries/%.o: $(SKETCHBOOK)/libraries/%.S
|
||||
$(RULEHDR)
|
||||
|
@ -161,6 +161,11 @@ HAL_BOARD = HAL_BOARD_QURT
|
||||
HAL_BOARD_SUBTYPE = HAL_BOARD_SUBTYPE_NONE
|
||||
endif
|
||||
|
||||
ifneq ($(findstring f4light, $(MAKECMDGOALS)),)
|
||||
HAL_BOARD = HAL_BOARD_F4LIGHT
|
||||
HAL_BOARD_SUBTYPE = HAL_BOARD_SUBTYPE_NONE
|
||||
endif
|
||||
|
||||
# default to SITL
|
||||
ifeq ($(HAL_BOARD),)
|
||||
HAL_BOARD = HAL_BOARD_SITL
|
||||
|
@ -30,3 +30,4 @@ help:
|
||||
@echo " vrbrain - the VRBrain boards"
|
||||
@echo " sitl - the SITL Software In The Loop simulation"
|
||||
@echo " qflight - qualcomm flight board"
|
||||
@echo " f4light - the OpenPilot Revolution Mini"
|
||||
|
@ -13,3 +13,4 @@ LIBRARIES += AP_Volz_Protocol
|
||||
LIBRARIES += AP_SBusOut
|
||||
LIBRARIES += AP_TempCalibration
|
||||
LIBRARIES += AP_Radio
|
||||
LIBRARIES += AP_Param_Helper
|
||||
|
@ -69,6 +69,11 @@ LIBTOKENS += \
|
||||
AP_HAL_QURT
|
||||
endif
|
||||
|
||||
ifeq ($(HAL_BOARD),HAL_BOARD_F4LIGHT)
|
||||
LIBTOKENS += \
|
||||
AP_HAL_F4Light
|
||||
endif
|
||||
|
||||
#
|
||||
# Find sketchbook libraries referenced by the sketch.
|
||||
#
|
||||
|
@ -15,6 +15,10 @@ apm1 apm1-1280 apm2 apm2beta:
|
||||
flymaple flymaple-hil:
|
||||
$(error $@ is deprecated on master branch; use master-AVR)
|
||||
|
||||
f4light: HAL_BOARD = HAL_BOARD_F4LIGHT
|
||||
f4light: TOOLCHAIN = ARM
|
||||
f4light: all
|
||||
|
||||
qflight: HAL_BOARD = HAL_BOARD_LINUX
|
||||
qflight: TOOLCHAIN = QFLIGHT
|
||||
qflight: all
|
||||
|
Loading…
Reference in New Issue
Block a user