aboutsummaryrefslogtreecommitdiff
path: root/makefiles
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2013-06-10 15:01:44 +0200
committerLorenz Meier <lm@inf.ethz.ch>2013-06-10 15:01:44 +0200
commit9444def5f861745da2716a443026e3d0bf061161 (patch)
treeb25a9429d78fab148debc9e1f2d31f6d3a0afd54 /makefiles
parent308ec6001a2e1ac31ea818b1d482a34b8ed0099b (diff)
parent42ce3112ad645e53788463180c350279b243b02e (diff)
downloadpx4-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.mk5
-rw-r--r--makefiles/firmware.mk12
-rw-r--r--makefiles/module.mk13
-rw-r--r--makefiles/nuttx.mk6
-rw-r--r--makefiles/toolchain_gnu-arm-eabi.mk21
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