diff --git a/Makefile b/Makefile index dc777141ae15c2b5eb159d2fdb896e306f3fafbb..051a9932354e8b369d4899ffaaa1f8ef408bd7f4 100644 --- a/Makefile +++ b/Makefile @@ -199,6 +199,12 @@ qurt_eagle_legacy_driver_default: posix_eagle_legacy_driver_default: $(call cmake-build,$@) + +qurt_excelsior_default: + $(call cmake-build,$@) +posix_excelsior_default: + $(call cmake-build,$@) +excelsior_default: posix_excelsior_default qurt_excelsior_default posix_rpi2_default: $(call cmake-build,$@) diff --git a/cmake/configs/posix_eagle_default.cmake b/cmake/configs/posix_eagle_default.cmake index 115b46dce9952c846719c6f9156e3053ee333507..4b0fad9cedf8dbf951195eae4c68d91cd9eb0915 100644 --- a/cmake/configs/posix_eagle_default.cmake +++ b/cmake/configs/posix_eagle_default.cmake @@ -1,65 +1,7 @@ -include(posix/px4_impl_posix) - -set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-linux-gnueabihf.cmake) - -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/cmake_hexagon") - -set(config_generate_parameters_scope ALL) - -set(CONFIG_SHMEM "1") +include(configs/posix_sdflight_default) # This definition allows to differentiate if this just the usual POSIX build # or if it is for the Snapdragon. add_definitions( -D__PX4_POSIX_EAGLE ) - -set(config_module_list - drivers/device - drivers/blinkm - drivers/pwm_out_sim - drivers/rgbled - drivers/led - drivers/boards/sitl - drivers/qshell/posix - - systemcmds/param - systemcmds/mixer - systemcmds/ver - systemcmds/topic_listener - - modules/mavlink - - modules/attitude_estimator_ekf - modules/ekf_att_pos_estimator - - modules/mc_pos_control - modules/mc_att_control - - modules/param - modules/systemlib - modules/systemlib/mixer - modules/uORB - modules/muorb/krait - modules/sensors - modules/dataman - modules/sdlog2 - modules/simulator - modules/commander - - lib/controllib - lib/mathlib - lib/mathlib/math/filter - lib/conversion - lib/ecl - lib/geo - lib/geo_lookup - lib/terrain_estimation - lib/runway_takeoff - lib/tailsitter_recovery - lib/DriverFramework/framework - - platforms/common - platforms/posix/px4_layer - platforms/posix/work_queue - ) diff --git a/cmake/posix/px4_impl_posix.cmake b/cmake/posix/px4_impl_posix.cmake index 875b8b7594b42438c827eb6b833de8e25c3747f0..51afab20de2b135f305584c03adad69b0a2529ce 100644 --- a/cmake/posix/px4_impl_posix.cmake +++ b/cmake/posix/px4_impl_posix.cmake @@ -197,7 +197,7 @@ else() endif() -if ("${BOARD}" STREQUAL "eagle") +if ("${BOARD}" STREQUAL "eagle" OR "${BOARD}" STREQUAL "excelsior") if ("$ENV{HEXAGON_ARM_SYSROOT}" STREQUAL "") message(FATAL_ERROR "HEXAGON_ARM_SYSROOT not set") diff --git a/src/firmware/posix/CMakeLists.txt b/src/firmware/posix/CMakeLists.txt index dba2359262c8020b9be636ba117f20a616cb7189..030ad0793ca91652ab924f20005618000b37c607 100644 --- a/src/firmware/posix/CMakeLists.txt +++ b/src/firmware/posix/CMakeLists.txt @@ -4,7 +4,7 @@ px4_posix_generate_builtin_commands( OUT apps.h MODULE_LIST ${module_libraries}) -if ("${BOARD}" STREQUAL "eagle") +if ("${BOARD}" STREQUAL "eagle" OR ("${BOARD}" STREQUAL "excelsior")) include(fastrpc) include(linux_app) diff --git a/src/lib/version/version.h b/src/lib/version/version.h index 7084f0146756e0f1024ae33f084bedd4d70711e8..e20bbc5c3a89ea3f407ac06d111515314a922a47 100644 --- a/src/lib/version/version.h +++ b/src/lib/version/version.h @@ -75,6 +75,11 @@ #define HW_ARCH "LINUXTEST" #endif +#ifdef CONFIG_ARCH_BOARD_EXCELSIOR +#define HW_ARCH "LINUXTEST" +#endif + + #ifdef CONFIG_ARCH_BOARD_RPI2 #define HW_ARCH "LINUXTEST" #endif diff --git a/src/platforms/posix/px4_layer/drv_hrt.c b/src/platforms/posix/px4_layer/drv_hrt.c index b4f04c22e5d894eeb4792f75f3e6c4cb73ec5e70..bdd8dfd7865508a09955b40166b3b89eefd15e6b 100644 --- a/src/platforms/posix/px4_layer/drv_hrt.c +++ b/src/platforms/posix/px4_layer/drv_hrt.c @@ -166,7 +166,7 @@ hrt_abstime _hrt_absolute_time_internal(void) px4_clock_gettime(CLOCK_MONOTONIC, &ts); return ts_to_abstime(&ts) + dsp_offset; -#elif defined(__PX4_POSIX_EAGLE) +#elif (defined(__PX4_POSIX_EAGLE) || defined(__PX4_POSIX_EXCELSIOR)) // Don't do any offseting on the Linux side on the Snapdragon. px4_clock_gettime(CLOCK_MONOTONIC, &ts); return ts_to_abstime(&ts); diff --git a/src/platforms/shmem.h b/src/platforms/shmem.h index b46d895afe7000694a8b73ea7a778198dc8ff24f..45f26684facc931bcfe4e323304216304fa5abc3 100644 --- a/src/platforms/shmem.h +++ b/src/platforms/shmem.h @@ -31,7 +31,7 @@ * ****************************************************************************/ -#define MAX_SHMEM_PARAMS 3850 //MAP_SIZE - (LOCK_SIZE - sizeof(struct shmem_info)) +#define MAX_SHMEM_PARAMS 2000 //MAP_SIZE - (LOCK_SIZE - sizeof(struct shmem_info)) struct shmem_info { union param_value_u params_val[MAX_SHMEM_PARAMS]; @@ -44,7 +44,11 @@ struct shmem_info { } __attribute__((packed)); #endif +#if (defined(__PX4_POSIX_EXCELSIOR) || defined(__PX4_QURT_EXCELSIOR)) +#define MAP_ADDRESS 0x861FC000 +#else #define MAP_ADDRESS 0xfbfc000 +#endif #define MAP_SIZE 16384 #define MAP_MASK (MAP_SIZE - 1)