From efc91d2b69eea844c2e1fca03e466b9e070f0eef Mon Sep 17 00:00:00 2001 From: Peter van der Perk Date: Thu, 19 Aug 2021 09:47:53 +0200 Subject: [PATCH] [Kconfig] Fixed inclusion of microbench bydefault when TESTING was enabled Added full optimization option --- Kconfig | 7 ++++- boards/cuav/nora/test.px4board | 1 + boards/cuav/x7pro/test.px4board | 1 + boards/cubepilot/cubeorange/test.px4board | 1 + boards/cubepilot/cubeyellow/test.px4board | 1 + boards/holybro/durandal-v1/test.px4board | 1 + boards/modalai/fc-v1/test.px4board | 1 + boards/modalai/fc-v2/test.px4board | 1 + boards/px4/fmu-v2/test.px4board | 1 + boards/px4/fmu-v3/test.px4board | 1 + boards/px4/fmu-v4/test.px4board | 1 + boards/px4/fmu-v4pro/test.px4board | 1 + boards/px4/fmu-v5/optimized.px4board | 34 +++++++++++++++++++++++ boards/px4/fmu-v5/test.px4board | 1 + boards/px4/fmu-v5x/test.px4board | 1 + boards/px4/fmu-v6u/test.px4board | 1 + boards/px4/fmu-v6x/test.px4board | 1 + cmake/kconfig.cmake | 4 +++ 18 files changed, 59 insertions(+), 1 deletion(-) diff --git a/Kconfig b/Kconfig index bc3a80e8b4..265bedb4c5 100644 --- a/Kconfig +++ b/Kconfig @@ -51,6 +51,12 @@ menu "Toolchain" string "Architecture" default "" + config BOARD_FULL_OPTIMIZATION + bool "Full optmization (O3)" + default n + help + Enables Cmake Release for -O3 optimization + config BOARD_ROMFSROOT string "ROMFSROOT" default "px4fmu_common" @@ -104,7 +110,6 @@ endmenu #Toolchain config BOARD_TESTING bool "Testing" - select SYSTEMCMDS_MICROBENCH select SYSTEMCMDS_TESTS help flag to enable automatic inclusion of PX4 testing modules diff --git a/boards/cuav/nora/test.px4board b/boards/cuav/nora/test.px4board index 0242fe1c71..16274eca45 100644 --- a/boards/cuav/nora/test.px4board +++ b/boards/cuav/nora/test.px4board @@ -1,2 +1,3 @@ CONFIG_BOARD_TESTING=y CONFIG_DRIVERS_TEST_PPM=y +CONFIG_SYSTEMCMDS_MICROBENCH=y diff --git a/boards/cuav/x7pro/test.px4board b/boards/cuav/x7pro/test.px4board index b8a650c06e..b0d0d70910 100644 --- a/boards/cuav/x7pro/test.px4board +++ b/boards/cuav/x7pro/test.px4board @@ -6,3 +6,4 @@ CONFIG_MODULES_LOCAL_POSITION_ESTIMATOR=n CONFIG_MODULES_ROVER_POS_CONTROL=n CONFIG_BOARD_TESTING=y CONFIG_DRIVERS_TEST_PPM=y +CONFIG_SYSTEMCMDS_MICROBENCH=y diff --git a/boards/cubepilot/cubeorange/test.px4board b/boards/cubepilot/cubeorange/test.px4board index eefcad5837..31ff031782 100644 --- a/boards/cubepilot/cubeorange/test.px4board +++ b/boards/cubepilot/cubeorange/test.px4board @@ -8,3 +8,4 @@ CONFIG_MODULES_SIH=n CONFIG_MODULES_TEMPERATURE_COMPENSATION=n CONFIG_BOARD_TESTING=y CONFIG_DRIVERS_TEST_PPM=y +CONFIG_SYSTEMCMDS_MICROBENCH=y diff --git a/boards/cubepilot/cubeyellow/test.px4board b/boards/cubepilot/cubeyellow/test.px4board index 0242fe1c71..16274eca45 100644 --- a/boards/cubepilot/cubeyellow/test.px4board +++ b/boards/cubepilot/cubeyellow/test.px4board @@ -1,2 +1,3 @@ CONFIG_BOARD_TESTING=y CONFIG_DRIVERS_TEST_PPM=y +CONFIG_SYSTEMCMDS_MICROBENCH=y diff --git a/boards/holybro/durandal-v1/test.px4board b/boards/holybro/durandal-v1/test.px4board index 0242fe1c71..16274eca45 100644 --- a/boards/holybro/durandal-v1/test.px4board +++ b/boards/holybro/durandal-v1/test.px4board @@ -1,2 +1,3 @@ CONFIG_BOARD_TESTING=y CONFIG_DRIVERS_TEST_PPM=y +CONFIG_SYSTEMCMDS_MICROBENCH=y diff --git a/boards/modalai/fc-v1/test.px4board b/boards/modalai/fc-v1/test.px4board index 65f4726c89..3a4d6b8f32 100644 --- a/boards/modalai/fc-v1/test.px4board +++ b/boards/modalai/fc-v1/test.px4board @@ -10,3 +10,4 @@ CONFIG_EXAMPLES_PX4_SIMPLE_APP=y CONFIG_EXAMPLES_ROVER_STEERING_CONTROL=y CONFIG_EXAMPLES_UUV_EXAMPLE_APP=y CONFIG_EXAMPLES_WORK_ITEM=y +CONFIG_SYSTEMCMDS_MICROBENCH=y diff --git a/boards/modalai/fc-v2/test.px4board b/boards/modalai/fc-v2/test.px4board index 810672780c..65a3e10fde 100644 --- a/boards/modalai/fc-v2/test.px4board +++ b/boards/modalai/fc-v2/test.px4board @@ -1,5 +1,6 @@ CONFIG_BOARD_TESTING=y CONFIG_DRIVERS_TEST_PPM=y CONFIG_SYSTEMCMDS_DUMPFILE=y +CONFIG_SYSTEMCMDS_MICROBENCH=y CONFIG_SYSTEMCMDS_REFLECT=y CONFIG_SYSTEMCMDS_USB_CONNECTED=y diff --git a/boards/px4/fmu-v2/test.px4board b/boards/px4/fmu-v2/test.px4board index 7542c499ce..2fce6fea76 100644 --- a/boards/px4/fmu-v2/test.px4board +++ b/boards/px4/fmu-v2/test.px4board @@ -2,5 +2,6 @@ CONFIG_BOARD_ROMFSROOT="px4fmu_test" CONFIG_BOARD_TESTING=y CONFIG_DRIVERS_DISTANCE_SENSOR_LIGHTWARE_LASER_SERIAL=y CONFIG_DRIVERS_DISTANCE_SENSOR_LL40LS=y +CONFIG_SYSTEMCMDS_MICROBENCH=y CONFIG_SYSTEMCMDS_PERF=y CONFIG_SYSTEMCMDS_VER=y diff --git a/boards/px4/fmu-v3/test.px4board b/boards/px4/fmu-v3/test.px4board index 65f4726c89..3a4d6b8f32 100644 --- a/boards/px4/fmu-v3/test.px4board +++ b/boards/px4/fmu-v3/test.px4board @@ -10,3 +10,4 @@ CONFIG_EXAMPLES_PX4_SIMPLE_APP=y CONFIG_EXAMPLES_ROVER_STEERING_CONTROL=y CONFIG_EXAMPLES_UUV_EXAMPLE_APP=y CONFIG_EXAMPLES_WORK_ITEM=y +CONFIG_SYSTEMCMDS_MICROBENCH=y diff --git a/boards/px4/fmu-v4/test.px4board b/boards/px4/fmu-v4/test.px4board index 65f4726c89..3a4d6b8f32 100644 --- a/boards/px4/fmu-v4/test.px4board +++ b/boards/px4/fmu-v4/test.px4board @@ -10,3 +10,4 @@ CONFIG_EXAMPLES_PX4_SIMPLE_APP=y CONFIG_EXAMPLES_ROVER_STEERING_CONTROL=y CONFIG_EXAMPLES_UUV_EXAMPLE_APP=y CONFIG_EXAMPLES_WORK_ITEM=y +CONFIG_SYSTEMCMDS_MICROBENCH=y diff --git a/boards/px4/fmu-v4pro/test.px4board b/boards/px4/fmu-v4pro/test.px4board index 65f4726c89..3a4d6b8f32 100644 --- a/boards/px4/fmu-v4pro/test.px4board +++ b/boards/px4/fmu-v4pro/test.px4board @@ -10,3 +10,4 @@ CONFIG_EXAMPLES_PX4_SIMPLE_APP=y CONFIG_EXAMPLES_ROVER_STEERING_CONTROL=y CONFIG_EXAMPLES_UUV_EXAMPLE_APP=y CONFIG_EXAMPLES_WORK_ITEM=y +CONFIG_SYSTEMCMDS_MICROBENCH=y diff --git a/boards/px4/fmu-v5/optimized.px4board b/boards/px4/fmu-v5/optimized.px4board index 8f4a1e75d3..7d4d4913a7 100644 --- a/boards/px4/fmu-v5/optimized.px4board +++ b/boards/px4/fmu-v5/optimized.px4board @@ -1,6 +1,40 @@ +# CONFIG_BOARD_UAVCAN_TIMER_OVERRIDE is not set +CONFIG_COMMON_OPTICAL_FLOW=n +CONFIG_DRIVERS_HEATER=n +CONFIG_DRIVERS_IRLOCK=n +CONFIG_DRIVERS_LIGHTS_RGBLED_PWM=n +CONFIG_DRIVERS_OSD=n +CONFIG_DRIVERS_PCA9685=n +CONFIG_DRIVERS_PCA9685_PWM_OUT=n +CONFIG_DRIVERS_POWER_MONITOR_INA226=n +CONFIG_DRIVERS_PWM_INPUT=n +CONFIG_DRIVERS_ROBOCLAW=n +CONFIG_DRIVERS_RPM=n +CONFIG_DRIVERS_TELEMETRY=n +CONFIG_DRIVERS_UAVCAN=n +CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q=n +CONFIG_MODULES_ESC_BATTERY=n +CONFIG_MODULES_GYRO_FFT=n +CONFIG_MODULES_LANDING_TARGET_ESTIMATOR=n +CONFIG_MODULES_LOCAL_POSITION_ESTIMATOR=n +CONFIG_MODULES_ROVER_POS_CONTROL=n +CONFIG_MODULES_SIH=n +CONFIG_MODULES_TEMPERATURE_COMPENSATION=n +CONFIG_MODULES_UUV_ATT_CONTROL=n +CONFIG_MODULES_UUV_POS_CONTROL=n +CONFIG_MODULES_VMOUNT=n +CONFIG_MODULES_VTOL_ATT_CONTROL=n +CONFIG_SYSTEMCMDS_DUMPFILE=n +CONFIG_SYSTEMCMDS_ESC_CALIB=n +CONFIG_SYSTEMCMDS_GPIO=n +CONFIG_SYSTEMCMDS_MOTOR_RAMP=n +CONFIG_SYSTEMCMDS_SERIAL_TEST=n +CONFIG_BOARD_COMPILE_DEFINITIONS="-Wno-error=array-bounds" CONFIG_BOARD_EXTERNAL_METADATA=y +CONFIG_BOARD_FULL_OPTIMIZATION=y CONFIG_BOARD_TESTING=y CONFIG_COMMON_BAROMETERS=y CONFIG_COMMON_DISTANCE_SENSOR=y CONFIG_DRIVERS_MAGNETOMETER_ISENTEK_IST8310=y CONFIG_DRIVERS_TEST_PPM=y +CONFIG_SYSTEMCMDS_MICROBENCH=y diff --git a/boards/px4/fmu-v5/test.px4board b/boards/px4/fmu-v5/test.px4board index 1125afd8d9..dcf0829b78 100644 --- a/boards/px4/fmu-v5/test.px4board +++ b/boards/px4/fmu-v5/test.px4board @@ -15,3 +15,4 @@ CONFIG_EXAMPLES_PX4_SIMPLE_APP=y CONFIG_EXAMPLES_ROVER_STEERING_CONTROL=y CONFIG_EXAMPLES_UUV_EXAMPLE_APP=y CONFIG_EXAMPLES_WORK_ITEM=y +CONFIG_SYSTEMCMDS_MICROBENCH=y diff --git a/boards/px4/fmu-v5x/test.px4board b/boards/px4/fmu-v5x/test.px4board index 0242fe1c71..16274eca45 100644 --- a/boards/px4/fmu-v5x/test.px4board +++ b/boards/px4/fmu-v5x/test.px4board @@ -1,2 +1,3 @@ CONFIG_BOARD_TESTING=y CONFIG_DRIVERS_TEST_PPM=y +CONFIG_SYSTEMCMDS_MICROBENCH=y diff --git a/boards/px4/fmu-v6u/test.px4board b/boards/px4/fmu-v6u/test.px4board index 0cf41ef2d8..7d8e72c571 100644 --- a/boards/px4/fmu-v6u/test.px4board +++ b/boards/px4/fmu-v6u/test.px4board @@ -2,3 +2,4 @@ CONFIG_BOARD_TESTING=y CONFIG_DRIVERS_TEST_PPM=y CONFIG_EXAMPLES_FAKE_IMU=y CONFIG_EXAMPLES_FAKE_MAGNETOMETER=y +CONFIG_SYSTEMCMDS_MICROBENCH=y diff --git a/boards/px4/fmu-v6x/test.px4board b/boards/px4/fmu-v6x/test.px4board index 7256d82abb..28cf7c2452 100644 --- a/boards/px4/fmu-v6x/test.px4board +++ b/boards/px4/fmu-v6x/test.px4board @@ -1,3 +1,4 @@ CONFIG_BOARD_TESTING=y CONFIG_DRIVERS_TEST_PPM=y +CONFIG_SYSTEMCMDS_MICROBENCH=y CONFIG_SYSTEMCMDS_USB_CONNECTED=y diff --git a/cmake/kconfig.cmake b/cmake/kconfig.cmake index 1e94b8c682..b06a7b3f8d 100644 --- a/cmake/kconfig.cmake +++ b/cmake/kconfig.cmake @@ -313,6 +313,10 @@ if(EXISTS ${BOARD_DEFCONFIG}) set(ENABLE_LOCKSTEP_SCHEDULER no) endif() + if(FULL_OPTIMIZATION) + set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build type" FORCE) + endif() + include(px4_impl_os) px4_os_prebuild_targets(OUT prebuild_targets BOARD ${PX4_BOARD})