diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2013-06-10 15:01:44 +0200 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-06-10 15:01:44 +0200 |
commit | 9444def5f861745da2716a443026e3d0bf061161 (patch) | |
tree | b25a9429d78fab148debc9e1f2d31f6d3a0afd54 /makefiles | |
parent | 308ec6001a2e1ac31ea818b1d482a34b8ed0099b (diff) | |
parent | 42ce3112ad645e53788463180c350279b243b02e (diff) | |
download | px4-firmware-9444def5f861745da2716a443026e3d0bf061161.tar.gz px4-firmware-9444def5f861745da2716a443026e3d0bf061161.tar.bz2 px4-firmware-9444def5f861745da2716a443026e3d0bf061161.zip |
Merge branch 'master' into fmuv2_bringup
Diffstat (limited to 'makefiles')
-rw-r--r-- | makefiles/config_px4fmu_default.mk | 5 | ||||
-rw-r--r-- | makefiles/firmware.mk | 12 | ||||
-rw-r--r-- | makefiles/module.mk | 13 | ||||
-rw-r--r-- | makefiles/nuttx.mk | 6 | ||||
-rw-r--r-- | makefiles/toolchain_gnu-arm-eabi.mk | 21 |
5 files changed, 40 insertions, 17 deletions
diff --git a/makefiles/config_px4fmu_default.mk b/makefiles/config_px4fmu_default.mk index c269996f6..7117a8218 100644 --- a/makefiles/config_px4fmu_default.mk +++ b/makefiles/config_px4fmu_default.mk @@ -57,12 +57,14 @@ MODULES += systemcmds/tests MODULES += modules/commander MODULES += modules/mavlink MODULES += modules/mavlink_onboard +MODULES += modules/gpio_led # # Estimation modules (EKF / other filters) # MODULES += modules/attitude_estimator_ekf -MODULES += modules/position_estimator_mc +MODULES += modules/attitude_estimator_so3_comp +#MODULES += modules/position_estimator_mc MODULES += modules/position_estimator MODULES += modules/att_pos_estimator_ekf @@ -79,6 +81,7 @@ MODULES += modules/multirotor_pos_control # Logging # MODULES += modules/sdlog +MODULES += modules/sdlog2 # # Library modules diff --git a/makefiles/firmware.mk b/makefiles/firmware.mk index 6b09e6ec3..f1c1b496a 100644 --- a/makefiles/firmware.mk +++ b/makefiles/firmware.mk @@ -177,6 +177,12 @@ GLOBAL_DEPS += $(MAKEFILE_LIST) EXTRA_CLEANS = ################################################################################ +# NuttX libraries and paths +################################################################################ + +include $(PX4_MK_DIR)/nuttx.mk + +################################################################################ # Modules ################################################################################ @@ -297,12 +303,6 @@ $(LIBRARY_CLEANS): clean ################################################################################ -# NuttX libraries and paths -################################################################################ - -include $(PX4_MK_DIR)/nuttx.mk - -################################################################################ # ROMFS generation ################################################################################ diff --git a/makefiles/module.mk b/makefiles/module.mk index 074cd159a..9e4cbafc9 100644 --- a/makefiles/module.mk +++ b/makefiles/module.mk @@ -183,12 +183,17 @@ CXXFLAGS += -fvisibility=$(DEFAULT_VISIBILITY) -include $(PX4_INCLUDE_DIR)visibi # module: $(MODULE_OBJ) $(MODULE_COMMAND_FILES) -## -## Object files we will generate from sources -## +# +# Object files we will generate from sources +# OBJS = $(addsuffix .o,$(SRCS)) # +# Dependency files that will be auto-generated +# +DEPS = $(addsuffix .d,$(SRCS)) + +# # SRCS -> OBJS rules # @@ -219,3 +224,5 @@ $(MODULE_OBJ): $(OBJS) $(GLOBAL_DEPS) clean: $(Q) $(REMOVE) $(MODULE_PRELINK) $(OBJS) + +-include $(DEPS) diff --git a/makefiles/nuttx.mk b/makefiles/nuttx.mk index 346735a02..d283096b2 100644 --- a/makefiles/nuttx.mk +++ b/makefiles/nuttx.mk @@ -69,10 +69,14 @@ INCLUDE_DIRS += $(NUTTX_EXPORT_DIR)include \ LIB_DIRS += $(NUTTX_EXPORT_DIR)libs LIBS += -lapps -lnuttx -LINK_DEPS += $(NUTTX_EXPORT_DIR)libs/libapps.a \ +NUTTX_LIBS = $(NUTTX_EXPORT_DIR)libs/libapps.a \ $(NUTTX_EXPORT_DIR)libs/libnuttx.a +LINK_DEPS += $(NUTTX_LIBS) $(NUTTX_CONFIG_HEADER): $(NUTTX_ARCHIVE) @$(ECHO) %% Unpacking $(NUTTX_ARCHIVE) $(Q) $(UNZIP_CMD) -q -o -d $(WORK_DIR) $(NUTTX_ARCHIVE) $(Q) $(TOUCH) $@ + + $(LDSCRIPT): $(NUTTX_CONFIG_HEADER) + $(NUTTX_LIBS): $(NUTTX_CONFIG_HEADER) diff --git a/makefiles/toolchain_gnu-arm-eabi.mk b/makefiles/toolchain_gnu-arm-eabi.mk index 874e7154c..3f4d3371a 100644 --- a/makefiles/toolchain_gnu-arm-eabi.mk +++ b/makefiles/toolchain_gnu-arm-eabi.mk @@ -50,7 +50,7 @@ OBJDUMP = $(CROSSDEV)objdump # XXX this is pulled pretty directly from the fmu Make.defs - needs cleanup -MAXOPTIMIZATION = -O3 +MAXOPTIMIZATION ?= -O3 # Base CPU flags for each of the supported architectures. # @@ -70,6 +70,14 @@ ARCHCPUFLAGS_CORTEXM3 = -mcpu=cortex-m3 \ -march=armv7-m \ -mfloat-abi=soft +ARCHINSTRUMENTATIONDEFINES_CORTEXM4F = -finstrument-functions \ + -ffixed-r10 + +ARCHINSTRUMENTATIONDEFINES_CORTEXM4 = -finstrument-functions \ + -ffixed-r10 + +ARCHINSTRUMENTATIONDEFINES_CORTEXM3 = + # Pick the right set of flags for the architecture. # ARCHCPUFLAGS = $(ARCHCPUFLAGS_$(CONFIG_ARCH)) @@ -91,8 +99,8 @@ ARCHOPTIMIZATION = $(MAXOPTIMIZATION) \ # enable precise stack overflow tracking # note - requires corresponding support in NuttX -INSTRUMENTATIONDEFINES = -finstrument-functions \ - -ffixed-r10 +INSTRUMENTATIONDEFINES = $(ARCHINSTRUMENTATIONDEFINES_$(CONFIG_ARCH)) + # Language-specific flags # ARCHCFLAGS = -std=gnu99 @@ -219,7 +227,7 @@ endef define PRELINK @$(ECHO) "PRELINK: $1" @$(MKDIR) -p $(dir $1) - $(Q) $(LD) -Ur -o $1 $2 && $(OBJCOPY) --localize-hidden $1 + $(Q) $(LD) -Ur -Map $1.map -o $1 $2 && $(OBJCOPY) --localize-hidden $1 endef # Update the archive $1 with the files in $2 @@ -235,7 +243,7 @@ endef define LINK @$(ECHO) "LINK: $1" @$(MKDIR) -p $(dir $1) - $(Q) $(LD) $(LDFLAGS) -o $1 --start-group $2 $(LIBS) $(EXTRA_LIBS) $(LIBGCC) --end-group + $(Q) $(LD) $(LDFLAGS) -Map $1.map -o $1 --start-group $2 $(LIBS) $(EXTRA_LIBS) $(LIBGCC) --end-group endef # Convert $1 from a linked object to a raw binary in $2 @@ -280,6 +288,7 @@ define BIN_TO_OBJ $(Q) $(OBJCOPY) $2 \ --redefine-sym $(call BIN_SYM_PREFIX,$1)_start=$3 \ --redefine-sym $(call BIN_SYM_PREFIX,$1)_size=$3_len \ - --strip-symbol $(call BIN_SYM_PREFIX,$1)_end + --strip-symbol $(call BIN_SYM_PREFIX,$1)_end \ + --rename-section .data=.rodata $(Q) $(REMOVE) $2.c $2.c.o endef |