mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-24 00:53:34 +08:00
NuttX upgrade cmake wrapper (#7873)
* NuttX cmake * px4_macros:Pass the stringified predicate as second arg to static assert CC_ASSERT mapes to the c++ static_assert or provides the same funtionality for c via the other macros. The c++ static assert takes 2 argumants the prdicate and a message. This fixes the lacking second argument. * Updated nuttx and apps submodule to upstream nuttx 7.21+==master This is the latest uptake of upstream nuttx and apps. * ROMFS generate with xxd instead of objcopy * delete nuttx-patches * NuttX update submodules to latest px4_nuttx-master * fix nuttx apps and board dependency * docker_run update to latest container 2017-08-29 * cmake ROMFS portable sed usage * NuttX update submodules to latest px4_nuttx-master
This commit is contained in:
@@ -198,10 +198,6 @@ function(px4_add_module)
|
||||
REQUIRED MODULE
|
||||
ARGN ${ARGN})
|
||||
|
||||
if (EXTERNAL)
|
||||
px4_mangle_name("${EXTERNAL_MODULES_LOCATION}/src/${MODULE}" MODULE)
|
||||
endif()
|
||||
|
||||
px4_add_library(${MODULE} STATIC EXCLUDE_FROM_ALL ${SRCS})
|
||||
|
||||
# set defaults if not set
|
||||
@@ -219,16 +215,14 @@ function(px4_add_module)
|
||||
if(NOT ${property})
|
||||
set(${property} ${${property}_DEFAULT})
|
||||
endif()
|
||||
set_target_properties(${MODULE} PROPERTIES ${property}
|
||||
${${property}})
|
||||
set_target_properties(${MODULE} PROPERTIES ${property} ${${property}})
|
||||
endforeach()
|
||||
|
||||
# default stack max to stack main
|
||||
if(NOT STACK_MAX)
|
||||
set(STACK_MAX ${STACK_MAIN})
|
||||
endif()
|
||||
set_target_properties(${MODULE} PROPERTIES STACK_MAX
|
||||
${STACK_MAX})
|
||||
set_target_properties(${MODULE} PROPERTIES STACK_MAX ${STACK_MAX})
|
||||
|
||||
if(${OS} STREQUAL "qurt" )
|
||||
set_property(TARGET ${MODULE} PROPERTY POSITION_INDEPENDENT_CODE TRUE)
|
||||
@@ -270,7 +264,6 @@ function(px4_add_module)
|
||||
set_target_properties(${MODULE} PROPERTIES ${prop} ${${prop}})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
endfunction()
|
||||
|
||||
#=============================================================================
|
||||
@@ -479,14 +472,6 @@ function(px4_add_common_flags)
|
||||
-D__STDC_FORMAT_MACROS
|
||||
)
|
||||
|
||||
if (NOT (APPLE AND (${CMAKE_C_COMPILER_ID} MATCHES ".*Clang.*")))
|
||||
set(added_exe_linker_flags
|
||||
-Wl,--warn-common
|
||||
-Wl,--gc-sections
|
||||
#,--print-gc-sections
|
||||
)
|
||||
endif()
|
||||
|
||||
# output
|
||||
foreach(var ${inout_vars})
|
||||
string(TOLOWER ${var} lower_var)
|
||||
@@ -496,31 +481,6 @@ function(px4_add_common_flags)
|
||||
|
||||
endfunction()
|
||||
|
||||
#=============================================================================
|
||||
#
|
||||
# px4_mangle_name
|
||||
#
|
||||
# Convert a path name to a module name
|
||||
#
|
||||
# Usage:
|
||||
# px4_mangle_name(dirname newname)
|
||||
#
|
||||
# Input:
|
||||
# dirname : path to module dir
|
||||
#
|
||||
# Output:
|
||||
# newname : module name
|
||||
#
|
||||
# Example:
|
||||
# px4_mangle_name(${dirpath} mangled_name)
|
||||
# message(STATUS "module name is ${mangled_name}")
|
||||
#
|
||||
function(px4_mangle_name dirname newname)
|
||||
set(tmp)
|
||||
string(REPLACE "/" "__" tmp ${dirname})
|
||||
set(${newname} ${tmp} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
#=============================================================================
|
||||
#
|
||||
# px4_strip_optimization
|
||||
@@ -588,6 +548,8 @@ function(px4_add_library target)
|
||||
px4_add_optimization_flags_for_target(${target})
|
||||
# Pass variable to the parent px4_add_module.
|
||||
set(_no_optimization_for_target ${_no_optimization_for_target} PARENT_SCOPE)
|
||||
|
||||
set_property(GLOBAL APPEND PROPERTY PX4_LIBRARIES ${target})
|
||||
endfunction()
|
||||
|
||||
#=============================================================================
|
||||
|
||||
@@ -68,71 +68,15 @@ function(px4_add_git_submodule)
|
||||
ONE_VALUE TARGET PATH
|
||||
REQUIRED TARGET PATH
|
||||
ARGN ${ARGN})
|
||||
|
||||
string(REPLACE "/" "_" NAME ${PATH})
|
||||
|
||||
add_custom_command(OUTPUT ${PX4_BINARY_DIR}/git_init_${NAME}.stamp
|
||||
WORKING_DIRECTORY ${PX4_SOURCE_DIR}
|
||||
COMMAND touch ${PX4_BINARY_DIR}/git_init_${NAME}.stamp
|
||||
COMMAND Tools/check_submodules.sh ${PATH}
|
||||
COMMAND cmake -E touch ${PX4_BINARY_DIR}/git_init_${NAME}.stamp
|
||||
DEPENDS ${PX4_SOURCE_DIR}/.gitmodules
|
||||
)
|
||||
add_custom_target(${TARGET}
|
||||
WORKING_DIRECTORY ${PX4_SOURCE_DIR}
|
||||
# todo:Not have 2 list of submodules one (see the end of Tools/check_submodules.sh and Firmware/CMakeLists.txt)
|
||||
# using the list of submodules from the CMake file to drive the test
|
||||
# COMMAND Tools/check_submodules.sh ${PATH}
|
||||
DEPENDS ${PX4_BINARY_DIR}/git_init_${NAME}.stamp
|
||||
)
|
||||
endfunction()
|
||||
|
||||
#=============================================================================
|
||||
#
|
||||
# px4_create_git_hash_header
|
||||
#
|
||||
# Create a header file containing the git hash of the current tree
|
||||
#
|
||||
# Usage:
|
||||
# px4_create_git_hash_header()
|
||||
#
|
||||
# Example:
|
||||
# px4_create_git_hash_header()
|
||||
#
|
||||
function(px4_create_git_hash_header)
|
||||
px4_parse_function_args(
|
||||
NAME px4_create_git_hash_header
|
||||
ARGN ${ARGN})
|
||||
|
||||
set(px4_git_ver_header ${PX4_BINARY_DIR}/build_git_version.h)
|
||||
|
||||
# check if px4 source is a git repo
|
||||
if(EXISTS ${PX4_SOURCE_DIR}/.git)
|
||||
if (IS_DIRECTORY ${PX4_SOURCE_DIR}/.git)
|
||||
# standard git repo
|
||||
set(git_dir_path ${PX4_SOURCE_DIR}/.git)
|
||||
else()
|
||||
# git submodule
|
||||
file(READ ${PX4_SOURCE_DIR}/.git git_dir_path)
|
||||
string(STRIP ${git_dir_path} git_dir_path)
|
||||
string(REPLACE "gitdir: " "" git_dir_path ${git_dir_path})
|
||||
get_filename_component(git_dir_path ${git_dir_path} ABSOLUTE)
|
||||
endif()
|
||||
else()
|
||||
message(FATAL_ERROR "is not a git repository")
|
||||
endif()
|
||||
if(NOT IS_DIRECTORY "${git_dir_path}")
|
||||
message(FATAL_ERROR "${git_dir_path} is not a directory")
|
||||
endif()
|
||||
|
||||
set(deps
|
||||
${PX4_SOURCE_DIR}/Tools/px_update_git_header.py
|
||||
${git_dir_path}/index
|
||||
${git_dir_path}/HEAD)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${px4_git_ver_header}
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_update_git_header.py ${px4_git_ver_header} > ${PX4_BINARY_DIR}/git_header.log
|
||||
DEPENDS ${deps}
|
||||
WORKING_DIRECTORY ${PX4_SOURCE_DIR}
|
||||
COMMENT "Generating git hash header"
|
||||
)
|
||||
set_source_files_properties(${px4_git_ver_header} PROPERTIES GENERATED TRUE)
|
||||
add_custom_target(ver_gen ALL DEPENDS ${px4_git_ver_header})
|
||||
|
||||
add_custom_target(${TARGET} DEPENDS ${PX4_BINARY_DIR}/git_init_${NAME}.stamp)
|
||||
endfunction()
|
||||
|
||||
@@ -73,7 +73,7 @@ function(px4_generate_messages)
|
||||
REQUIRED MSG_FILES OS TARGET
|
||||
ARGN ${ARGN})
|
||||
|
||||
if("${config_nuttx_config}" STREQUAL "bootloader")
|
||||
if("${nuttx_config_type}" STREQUAL "bootloader")
|
||||
# do nothing for bootloaders
|
||||
else()
|
||||
|
||||
@@ -162,6 +162,12 @@ function(px4_generate_messages)
|
||||
${msg_multi_files_out}
|
||||
${msg_files_out}
|
||||
)
|
||||
|
||||
target_include_directories(${TARGET}
|
||||
PRIVATE ${PX4_SOURCE_DIR}/src/lib/micro-CDR/include
|
||||
PRIVATE ${PX4_BINARY_DIR}/src/lib/micro-CDR/include/microcdr
|
||||
)
|
||||
target_link_libraries(${TARGET} PRIVATE lib__micro-CDR)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
|
||||
@@ -2,8 +2,6 @@ include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
|
||||
set(config_uavcan_num_ifaces 2)
|
||||
|
||||
set(config_module_list
|
||||
@@ -16,7 +14,7 @@ set(config_module_list
|
||||
drivers/stm32/tone_alarm
|
||||
drivers/led
|
||||
drivers/px4fmu
|
||||
drivers/boards/aerocore2
|
||||
drivers/boards
|
||||
drivers/lsm303d
|
||||
drivers/l3gd20
|
||||
drivers/ms5611
|
||||
@@ -63,6 +61,7 @@ set(config_module_list
|
||||
#modules/commander/commander_tests
|
||||
#lib/controllib/controllib_test
|
||||
#modules/mavlink/mavlink_tests
|
||||
#modules/unit_test
|
||||
#modules/uORB/uORB_tests
|
||||
#systemcmds/tests
|
||||
|
||||
@@ -169,20 +168,3 @@ set(config_module_list
|
||||
# Hardware test
|
||||
#examples/hwtest
|
||||
)
|
||||
|
||||
set(config_extra_builtin_cmds
|
||||
serdis
|
||||
sercon
|
||||
)
|
||||
|
||||
add_custom_target(sercon)
|
||||
set_target_properties(sercon PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "sercon" STACK_MAIN "2048"
|
||||
COMPILE_FLAGS "-Os")
|
||||
|
||||
add_custom_target(serdis)
|
||||
set_target_properties(serdis PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "serdis" STACK_MAIN "2048"
|
||||
COMPILE_FLAGS "-Os")
|
||||
|
||||
@@ -2,8 +2,6 @@ include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
|
||||
set(config_uavcan_num_ifaces 2)
|
||||
|
||||
set(config_module_list
|
||||
@@ -14,7 +12,7 @@ set(config_module_list
|
||||
drivers/stm32
|
||||
drivers/led
|
||||
drivers/px4fmu
|
||||
drivers/boards/aerofc-v1
|
||||
drivers/boards
|
||||
drivers/tap_esc
|
||||
drivers/mpu9250
|
||||
drivers/ms5611
|
||||
@@ -95,9 +93,3 @@ set(config_module_list
|
||||
platforms/common
|
||||
platforms/nuttx/px4_layer
|
||||
)
|
||||
|
||||
set(config_extra_builtin_cmds
|
||||
)
|
||||
|
||||
set(config_io_board
|
||||
)
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common IO px4io-v2)
|
||||
|
||||
set(config_uavcan_num_ifaces 1)
|
||||
|
||||
@@ -17,7 +15,7 @@ set(config_module_list
|
||||
drivers/led
|
||||
drivers/px4fmu
|
||||
drivers/px4io
|
||||
drivers/boards/auav-x21
|
||||
drivers/boards
|
||||
drivers/rgbled
|
||||
drivers/mpu6000
|
||||
drivers/mpu9250
|
||||
@@ -190,26 +188,3 @@ set(config_module_list
|
||||
# Hardware test
|
||||
#examples/hwtest
|
||||
)
|
||||
|
||||
set(config_extra_builtin_cmds
|
||||
serdis
|
||||
sercon
|
||||
)
|
||||
|
||||
set(config_io_board
|
||||
px4io-v2
|
||||
)
|
||||
|
||||
add_custom_target(sercon)
|
||||
set_target_properties(sercon PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "sercon"
|
||||
STACK_MAIN "2048"
|
||||
COMPILE_FLAGS "-Os")
|
||||
|
||||
add_custom_target(serdis)
|
||||
set_target_properties(serdis PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "serdis"
|
||||
STACK_MAIN "2048"
|
||||
COMPILE_FLAGS "-Os")
|
||||
|
||||
@@ -2,8 +2,6 @@ include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
|
||||
set(config_module_list
|
||||
#
|
||||
# Board support modules
|
||||
@@ -12,7 +10,7 @@ set(config_module_list
|
||||
drivers/stm32
|
||||
drivers/led
|
||||
drivers/px4fmu
|
||||
drivers/boards/crazyflie
|
||||
drivers/boards
|
||||
drivers/mpu9250
|
||||
drivers/lps25h
|
||||
drivers/gps
|
||||
@@ -45,7 +43,6 @@ set(config_module_list
|
||||
modules/mavlink
|
||||
#modules/gpio_led
|
||||
modules/land_detector
|
||||
|
||||
modules/syslink
|
||||
|
||||
#
|
||||
@@ -138,22 +135,3 @@ set(config_module_list
|
||||
# Hardware test
|
||||
#examples/hwtest
|
||||
)
|
||||
|
||||
set(config_extra_builtin_cmds
|
||||
serdis
|
||||
sercon
|
||||
)
|
||||
|
||||
add_custom_target(sercon)
|
||||
set_target_properties(sercon PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "sercon"
|
||||
STACK_MAIN "2048"
|
||||
COMPILE_FLAGS "-Os")
|
||||
|
||||
add_custom_target(serdis)
|
||||
set_target_properties(serdis PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "serdis"
|
||||
STACK_MAIN "2048"
|
||||
COMPILE_FLAGS "-Os")
|
||||
|
||||
@@ -1,30 +1,2 @@
|
||||
include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG bootloader)
|
||||
|
||||
set(px4_src_base ${CMAKE_SOURCE_DIR}/src/)
|
||||
set(px4_bootloader_base ${px4_src_base}drivers/bootloaders/)
|
||||
set(px4_module_base ${px4_src_base}modules/)
|
||||
|
||||
#
|
||||
# UAVCAN boot loadable Module ID
|
||||
|
||||
#
|
||||
# Bring in common uavcan hardware identity definitions
|
||||
#
|
||||
|
||||
include(configs/uavcan_board_ident/esc35-v1)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
|
||||
set(config_module_list
|
||||
|
||||
drivers/boards/esc35-v1/bootloader
|
||||
|
||||
)
|
||||
|
||||
#
|
||||
# Bootloaders use a compact vector table not
|
||||
# from the lib, but exported in startup
|
||||
#
|
||||
set(nuttx_startup_files stm32_vectors.o)
|
||||
include(nuttx/px4_uavcan_bootloader)
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG bootloader)
|
||||
@@ -1,97 +1,80 @@
|
||||
include(nuttx/px4_impl_nuttx)
|
||||
|
||||
add_definitions(
|
||||
-DFLASH_BASED_PARAMS
|
||||
-DPARAM_NO_ORB
|
||||
-DPARAM_NO_AUTOSAVE
|
||||
-DPARAMETER_BUFFER_SIZE=1024
|
||||
-DFLASH_BASED_PARAMS
|
||||
-DPARAM_NO_ORB
|
||||
-DPARAM_NO_AUTOSAVE
|
||||
-DPARAMETER_BUFFER_SIZE=1024
|
||||
)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG nsh)
|
||||
|
||||
#
|
||||
# UAVCAN boot loadable Module ID
|
||||
|
||||
set(uavcanblid_sw_version_major 0)
|
||||
set(uavcanblid_sw_version_minor 1)
|
||||
add_definitions(
|
||||
-DAPP_VERSION_MAJOR=${uavcanblid_sw_version_major}
|
||||
-DAPP_VERSION_MINOR=${uavcanblid_sw_version_minor}
|
||||
)
|
||||
|
||||
#
|
||||
# Bring in common uavcan hardware identity definitions
|
||||
#
|
||||
|
||||
include(configs/uavcan_board_ident/esc35-v1)
|
||||
add_definitions(
|
||||
-DHW_UAVCAN_NAME=${uavcanblid_name}
|
||||
-DHW_VERSION_MAJOR=${uavcanblid_hw_version_major}
|
||||
-DHW_VERSION_MINOR=${uavcanblid_hw_version_minor}
|
||||
)
|
||||
|
||||
px4_nuttx_make_uavcan_bootloadable(BOARD ${BOARD}
|
||||
BIN ${CMAKE_CURRENT_BINARY_DIR}/src/firmware/nuttx/firmware_nuttx.bin
|
||||
HWNAME ${uavcanblid_name}
|
||||
HW_MAJOR ${uavcanblid_hw_version_major}
|
||||
HW_MINOR ${uavcanblid_hw_version_minor}
|
||||
SW_MAJOR ${uavcanblid_sw_version_major}
|
||||
SW_MINOR ${uavcanblid_sw_version_minor})
|
||||
BIN ${CMAKE_CURRENT_BINARY_DIR}/src/firmware/nuttx/esc35-v1.bin
|
||||
HWNAME ${uavcanblid_name}
|
||||
HW_MAJOR ${uavcanblid_hw_version_major}
|
||||
HW_MINOR ${uavcanblid_hw_version_minor}
|
||||
SW_MAJOR ${uavcanblid_sw_version_major}
|
||||
SW_MINOR ${uavcanblid_sw_version_minor}
|
||||
)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
include_directories(${PX4_SOURCE_DIR}/src/drivers/boards/esc35-v1/bootloader)
|
||||
|
||||
set(config_module_list
|
||||
|
||||
#
|
||||
# Board support modules
|
||||
#
|
||||
|
||||
drivers/stm32
|
||||
drivers/boards
|
||||
drivers/bootloaders
|
||||
drivers/device
|
||||
drivers/led
|
||||
drivers/boards/esc35-v1
|
||||
drivers/stm32
|
||||
|
||||
#
|
||||
# System commands
|
||||
#
|
||||
systemcmds/config
|
||||
systemcmds/reboot
|
||||
systemcmds/top
|
||||
systemcmds/config
|
||||
systemcmds/param
|
||||
systemcmds/ver
|
||||
systemcmds/param
|
||||
|
||||
#
|
||||
# General system control
|
||||
#
|
||||
modules/uavcanesc
|
||||
modules/uavcanesc/nshterm
|
||||
modules/uavcanesc/commands/cfg
|
||||
modules/uavcanesc/commands/selftest
|
||||
modules/uavcanesc/commands/dc
|
||||
modules/uavcanesc/commands/rpm
|
||||
modules/uavcanesc/commands/stat
|
||||
modules/uavcanesc
|
||||
modules/uavcanesc/nshterm
|
||||
modules/uavcanesc/commands/cfg
|
||||
modules/uavcanesc/commands/selftest
|
||||
modules/uavcanesc/commands/dc
|
||||
modules/uavcanesc/commands/rpm
|
||||
modules/uavcanesc/commands/stat
|
||||
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/uORB
|
||||
lib/version
|
||||
|
||||
#
|
||||
# Libraries
|
||||
#
|
||||
# had to add for cmake, not sure why wasn't in original config
|
||||
platforms/nuttx
|
||||
platforms/common
|
||||
platforms/nuttx/px4_layer
|
||||
lib/micro-CDR
|
||||
|
||||
|
||||
lib/version
|
||||
modules/systemlib
|
||||
modules/systemlib/param
|
||||
modules/uORB
|
||||
platforms/common
|
||||
platforms/nuttx
|
||||
platforms/nuttx/px4_layer
|
||||
)
|
||||
|
||||
set(config_extra_builtin_cmds
|
||||
serdis
|
||||
sercon
|
||||
)
|
||||
|
||||
add_custom_target(sercon)
|
||||
set_target_properties(sercon PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "sercon" STACK_MAIN "2048")
|
||||
|
||||
add_custom_target(serdis)
|
||||
set_target_properties(serdis PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "serdis" STACK_MAIN "2048")
|
||||
|
||||
@@ -2,8 +2,6 @@ include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
|
||||
set(config_uavcan_num_ifaces 1)
|
||||
|
||||
set(config_module_list
|
||||
@@ -16,8 +14,9 @@ set(config_module_list
|
||||
drivers/stm32/tone_alarm
|
||||
drivers/led
|
||||
drivers/px4fmu
|
||||
drivers/boards/mindpx-v2
|
||||
drivers/boards
|
||||
drivers/rgbled
|
||||
#drivers/rgbled_pwm
|
||||
drivers/mpu6000
|
||||
drivers/mpu9250
|
||||
drivers/lsm303d
|
||||
@@ -208,20 +207,3 @@ set(config_rtps_send_topics
|
||||
set(config_rtps_receive_topics
|
||||
sensor_baro
|
||||
)
|
||||
|
||||
set(config_extra_builtin_cmds
|
||||
serdis
|
||||
sercon
|
||||
)
|
||||
|
||||
add_custom_target(sercon)
|
||||
set_target_properties(sercon PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "sercon"
|
||||
STACK_MAIN "2048")
|
||||
|
||||
add_custom_target(serdis)
|
||||
set_target_properties(serdis PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "serdis"
|
||||
STACK_MAIN "2048")
|
||||
|
||||
@@ -2,8 +2,6 @@ include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
|
||||
set(config_uavcan_num_ifaces 1)
|
||||
|
||||
set(config_module_list
|
||||
@@ -15,7 +13,7 @@ set(config_module_list
|
||||
#NOT Supported drivers/bma180
|
||||
#NOT Supported drivers/bmi160
|
||||
drivers/bmp280
|
||||
drivers/boards/nxphlite-v3
|
||||
drivers/boards
|
||||
drivers/bst
|
||||
drivers/camera_trigger
|
||||
drivers/device
|
||||
@@ -212,30 +210,3 @@ set(config_module_list
|
||||
# EKF
|
||||
examples/ekf_att_pos_estimator
|
||||
)
|
||||
|
||||
set(config_extra_builtin_cmds
|
||||
serdis
|
||||
sercon
|
||||
)
|
||||
|
||||
set(config_extra_libs
|
||||
##NO CAN YET uavcan
|
||||
##NO CAN YET uavcan_stm32_driver
|
||||
)
|
||||
|
||||
set(config_io_extra_libs
|
||||
)
|
||||
|
||||
add_custom_target(sercon)
|
||||
set_target_properties(sercon PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "sercon"
|
||||
STACK_MAIN "2048"
|
||||
COMPILE_FLAGS "-Os")
|
||||
|
||||
add_custom_target(serdis)
|
||||
set_target_properties(serdis PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "serdis"
|
||||
STACK_MAIN "2048"
|
||||
COMPILE_FLAGS "-Os")
|
||||
|
||||
@@ -2,8 +2,6 @@ include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m7 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
|
||||
##set(config_uavcan_num_ifaces 2)
|
||||
|
||||
set(config_module_list
|
||||
@@ -16,8 +14,7 @@ set(config_module_list
|
||||
drivers/samv7/tone_alarm
|
||||
drivers/led
|
||||
drivers/px4fmu
|
||||
#WIP drivers/px4io
|
||||
drivers/boards/px4-same70xplained-v1
|
||||
drivers/boards
|
||||
drivers/rgbled
|
||||
drivers/mpu6000
|
||||
drivers/mpu9250
|
||||
@@ -172,31 +169,4 @@ set(config_module_list
|
||||
|
||||
# Hardware test
|
||||
#examples/hwtest
|
||||
)
|
||||
|
||||
set(config_extra_builtin_cmds
|
||||
serdis
|
||||
sercon
|
||||
)
|
||||
|
||||
set(config_extra_libs
|
||||
# uavcan
|
||||
# uavcan_stm32_driver
|
||||
)
|
||||
|
||||
set(config_io_extra_libs
|
||||
)
|
||||
|
||||
add_custom_target(sercon)
|
||||
set_target_properties(sercon PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "sercon"
|
||||
STACK_MAIN "2048"
|
||||
COMPILE_FLAGS "-Os")
|
||||
|
||||
add_custom_target(serdis)
|
||||
set_target_properties(serdis PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "serdis"
|
||||
STACK_MAIN "2048"
|
||||
COMPILE_FLAGS "-Os")
|
||||
)
|
||||
@@ -2,8 +2,6 @@ include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
|
||||
set(config_module_list
|
||||
#
|
||||
# Board support modules
|
||||
@@ -11,7 +9,7 @@ set(config_module_list
|
||||
drivers/device
|
||||
drivers/stm32
|
||||
drivers/led
|
||||
drivers/boards/px4-stm32f4discovery
|
||||
drivers/boards
|
||||
|
||||
#
|
||||
# System commands
|
||||
@@ -76,21 +74,4 @@ set(config_module_list
|
||||
|
||||
# Hardware test
|
||||
#examples/hwtest
|
||||
)
|
||||
|
||||
set(config_extra_builtin_cmds
|
||||
serdis
|
||||
sercon
|
||||
)
|
||||
|
||||
add_custom_target(sercon)
|
||||
set_target_properties(sercon PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "sercon"
|
||||
STACK_MAIN "2048")
|
||||
|
||||
add_custom_target(serdis)
|
||||
set_target_properties(serdis PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "serdis"
|
||||
STACK_MAIN "2048")
|
||||
)
|
||||
@@ -1,30 +1,2 @@
|
||||
include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m3 CONFIG bootloader)
|
||||
|
||||
set(px4_src_base ${CMAKE_SOURCE_DIR}/src/)
|
||||
set(px4_bootloader_base ${px4_src_base}drivers/bootloaders/)
|
||||
set(px4_module_base ${px4_src_base}modules/)
|
||||
|
||||
#
|
||||
# UAVCAN boot loadable Module ID
|
||||
|
||||
#
|
||||
# Bring in common uavcan hardware identity definitions
|
||||
#
|
||||
|
||||
include(configs/uavcan_board_ident/px4cannode-v1)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
|
||||
set(config_module_list
|
||||
|
||||
drivers/boards/px4cannode-v1/bootloader
|
||||
|
||||
)
|
||||
|
||||
#
|
||||
# Bootloaders use a compact vector table not
|
||||
# from the lib, but exported in startup
|
||||
#
|
||||
set(nuttx_startup_files stm32_vectors.o)
|
||||
include(nuttx/px4_uavcan_bootloader)
|
||||
px4_nuttx_configure(HWCLASS m3 CONFIG bootloader)
|
||||
@@ -7,44 +7,49 @@ add_definitions(
|
||||
|
||||
px4_nuttx_configure(HWCLASS m3 CONFIG nsh)
|
||||
|
||||
#
|
||||
# UAVCAN boot loadable Module ID
|
||||
|
||||
set(uavcanblid_sw_version_major 0)
|
||||
set(uavcanblid_sw_version_minor 1)
|
||||
add_definitions(
|
||||
-DAPP_VERSION_MAJOR=${uavcanblid_sw_version_major}
|
||||
-DAPP_VERSION_MINOR=${uavcanblid_sw_version_minor}
|
||||
)
|
||||
|
||||
#
|
||||
# Bring in common uavcan hardware identity definitions
|
||||
#
|
||||
|
||||
include(configs/uavcan_board_ident/px4cannode-v1)
|
||||
add_definitions(
|
||||
-DHW_UAVCAN_NAME=${uavcanblid_name}
|
||||
-DHW_VERSION_MAJOR=${uavcanblid_hw_version_major}
|
||||
-DHW_VERSION_MINOR=${uavcanblid_hw_version_minor}
|
||||
)
|
||||
|
||||
px4_nuttx_make_uavcan_bootloadable(BOARD ${BOARD}
|
||||
BIN ${CMAKE_CURRENT_BINARY_DIR}/src/firmware/nuttx/firmware_nuttx.bin
|
||||
HWNAME ${uavcanblid_name}
|
||||
HW_MAJOR ${uavcanblid_hw_version_major}
|
||||
HW_MINOR ${uavcanblid_hw_version_minor}
|
||||
SW_MAJOR ${uavcanblid_sw_version_major}
|
||||
SW_MINOR ${uavcanblid_sw_version_minor})
|
||||
BIN ${CMAKE_CURRENT_BINARY_DIR}/src/firmware/nuttx/px4cannode-v1.bin
|
||||
HWNAME ${uavcanblid_name}
|
||||
HW_MAJOR ${uavcanblid_hw_version_major}
|
||||
HW_MINOR ${uavcanblid_hw_version_minor}
|
||||
SW_MAJOR ${uavcanblid_sw_version_major}
|
||||
SW_MINOR ${uavcanblid_sw_version_minor}
|
||||
)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
include_directories(${PX4_SOURCE_DIR}/src/drivers/boards/px4cannode-v1/bootloader)
|
||||
|
||||
set(config_module_list
|
||||
|
||||
#
|
||||
# Board support modules
|
||||
#
|
||||
|
||||
drivers/stm32
|
||||
drivers/boards
|
||||
drivers/bootloaders
|
||||
drivers/device
|
||||
drivers/led
|
||||
drivers/boards/px4cannode-v1
|
||||
drivers/stm32
|
||||
|
||||
#
|
||||
# System commands
|
||||
#
|
||||
systemcmds/config
|
||||
systemcmds/reboot
|
||||
systemcmds/top
|
||||
systemcmds/config
|
||||
systemcmds/ver
|
||||
|
||||
#
|
||||
@@ -55,19 +60,12 @@ set(config_module_list
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
modules/uORB
|
||||
lib/version
|
||||
|
||||
#
|
||||
# Libraries
|
||||
#
|
||||
# had to add for cmake, not sure why wasn't in original config
|
||||
platforms/nuttx
|
||||
platforms/common
|
||||
platforms/nuttx/px4_layer
|
||||
lib/micro-CDR
|
||||
|
||||
|
||||
)
|
||||
lib/version
|
||||
modules/systemlib
|
||||
modules/systemlib/param
|
||||
modules/uORB
|
||||
platforms/common
|
||||
platforms/nuttx
|
||||
platforms/nuttx/px4_layer
|
||||
)
|
||||
@@ -1,30 +1,2 @@
|
||||
include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG bootloader)
|
||||
|
||||
set(px4_src_base ${CMAKE_SOURCE_DIR}/src/)
|
||||
set(px4_bootloader_base ${px4_src_base}drivers/bootloaders/)
|
||||
set(px4_module_base ${px4_src_base}modules/)
|
||||
|
||||
#
|
||||
# UAVCAN boot loadable Module ID
|
||||
|
||||
#
|
||||
# Bring in common uavcan hardware identity definitions
|
||||
#
|
||||
|
||||
include(configs/uavcan_board_ident/px4esc-v1)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
|
||||
set(config_module_list
|
||||
|
||||
drivers/boards/px4esc-v1/bootloader
|
||||
|
||||
)
|
||||
|
||||
#
|
||||
# Bootloaders use a compact vector table not
|
||||
# from the lib, but exported in startup
|
||||
#
|
||||
set(nuttx_startup_files stm32_vectors.o)
|
||||
include(nuttx/px4_uavcan_bootloader)
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG bootloader)
|
||||
@@ -1,96 +1,80 @@
|
||||
include(nuttx/px4_impl_nuttx)
|
||||
|
||||
add_definitions(
|
||||
-DFLASH_BASED_PARAMS
|
||||
-DPARAM_NO_ORB
|
||||
-DPARAM_NO_AUTOSAVE
|
||||
-DPARAMETER_BUFFER_SIZE=1024
|
||||
-DFLASH_BASED_PARAMS
|
||||
-DPARAM_NO_ORB
|
||||
-DPARAM_NO_AUTOSAVE
|
||||
-DPARAMETER_BUFFER_SIZE=1024
|
||||
)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG nsh)
|
||||
|
||||
#
|
||||
# UAVCAN boot loadable Module ID
|
||||
|
||||
set(uavcanblid_sw_version_major 0)
|
||||
set(uavcanblid_sw_version_minor 1)
|
||||
add_definitions(
|
||||
-DAPP_VERSION_MAJOR=${uavcanblid_sw_version_major}
|
||||
-DAPP_VERSION_MINOR=${uavcanblid_sw_version_minor}
|
||||
)
|
||||
|
||||
#
|
||||
# Bring in common uavcan hardware identity definitions
|
||||
#
|
||||
|
||||
include(configs/uavcan_board_ident/px4esc-v1)
|
||||
add_definitions(
|
||||
-DHW_UAVCAN_NAME=${uavcanblid_name}
|
||||
-DHW_VERSION_MAJOR=${uavcanblid_hw_version_major}
|
||||
-DHW_VERSION_MINOR=${uavcanblid_hw_version_minor}
|
||||
)
|
||||
|
||||
px4_nuttx_make_uavcan_bootloadable(BOARD ${BOARD}
|
||||
BIN ${CMAKE_CURRENT_BINARY_DIR}/src/firmware/nuttx/firmware_nuttx.bin
|
||||
HWNAME ${uavcanblid_name}
|
||||
HW_MAJOR ${uavcanblid_hw_version_major}
|
||||
HW_MINOR ${uavcanblid_hw_version_minor}
|
||||
SW_MAJOR ${uavcanblid_sw_version_major}
|
||||
SW_MINOR ${uavcanblid_sw_version_minor})
|
||||
BIN ${CMAKE_CURRENT_BINARY_DIR}/src/firmware/nuttx/px4esc-v1.bin
|
||||
HWNAME ${uavcanblid_name}
|
||||
HW_MAJOR ${uavcanblid_hw_version_major}
|
||||
HW_MINOR ${uavcanblid_hw_version_minor}
|
||||
SW_MAJOR ${uavcanblid_sw_version_major}
|
||||
SW_MINOR ${uavcanblid_sw_version_minor}
|
||||
)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
include_directories(${PX4_SOURCE_DIR}/src/drivers/boards/px4esc-v1/bootloader)
|
||||
|
||||
set(config_module_list
|
||||
|
||||
#
|
||||
# Board support modules
|
||||
#
|
||||
|
||||
drivers/stm32
|
||||
drivers/boards
|
||||
drivers/bootloaders
|
||||
drivers/device
|
||||
drivers/led
|
||||
drivers/boards/px4esc-v1
|
||||
drivers/stm32
|
||||
|
||||
#
|
||||
# System commands
|
||||
#
|
||||
systemcmds/config
|
||||
systemcmds/reboot
|
||||
systemcmds/top
|
||||
systemcmds/config
|
||||
systemcmds/param
|
||||
systemcmds/ver
|
||||
systemcmds/param
|
||||
|
||||
#
|
||||
# General system control
|
||||
#
|
||||
modules/uavcanesc
|
||||
modules/uavcanesc/nshterm
|
||||
modules/uavcanesc/commands/cfg
|
||||
modules/uavcanesc/commands/selftest
|
||||
modules/uavcanesc/commands/dc
|
||||
modules/uavcanesc/commands/rpm
|
||||
modules/uavcanesc/commands/stat
|
||||
modules/uavcanesc
|
||||
modules/uavcanesc/nshterm
|
||||
modules/uavcanesc/commands/cfg
|
||||
modules/uavcanesc/commands/selftest
|
||||
modules/uavcanesc/commands/dc
|
||||
modules/uavcanesc/commands/rpm
|
||||
modules/uavcanesc/commands/stat
|
||||
|
||||
#
|
||||
# Library modules
|
||||
#
|
||||
modules/systemlib/param
|
||||
modules/systemlib
|
||||
lib/version
|
||||
|
||||
#
|
||||
# Libraries
|
||||
#
|
||||
# had to add for cmake, not sure why wasn't in original config
|
||||
platforms/nuttx
|
||||
platforms/common
|
||||
platforms/nuttx/px4_layer
|
||||
modules/uORB
|
||||
lib/micro-CDR
|
||||
|
||||
)
|
||||
|
||||
set(config_extra_builtin_cmds
|
||||
serdis
|
||||
sercon
|
||||
)
|
||||
|
||||
add_custom_target(sercon)
|
||||
set_target_properties(sercon PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "sercon" STACK_MAIN "2048")
|
||||
|
||||
add_custom_target(serdis)
|
||||
set_target_properties(serdis PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "serdis" STACK_MAIN "2048")
|
||||
lib/version
|
||||
modules/systemlib
|
||||
modules/systemlib/param
|
||||
modules/uORB
|
||||
platforms/common
|
||||
platforms/nuttx
|
||||
platforms/nuttx/px4_layer
|
||||
)
|
||||
@@ -1,30 +1,2 @@
|
||||
include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG bootloader)
|
||||
|
||||
set(px4_src_base ${CMAKE_SOURCE_DIR}/src/)
|
||||
set(px4_bootloader_base ${px4_src_base}drivers/bootloaders/)
|
||||
set(px4_module_base ${px4_src_base}modules/)
|
||||
|
||||
#
|
||||
# UAVCAN boot loadable Module ID
|
||||
|
||||
#
|
||||
# Bring in common uavcan hardware identity definitions
|
||||
#
|
||||
|
||||
include(configs/uavcan_board_ident/px4flow-v2)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
|
||||
set(config_module_list
|
||||
|
||||
drivers/boards/px4flow-v2/bootloader
|
||||
|
||||
)
|
||||
|
||||
#
|
||||
# Bootloaders use a compact vector table not
|
||||
# from the lib, but exported in startup
|
||||
#
|
||||
set(nuttx_startup_files stm32_vectors.o)
|
||||
include(nuttx/px4_uavcan_bootloader)
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG bootloader)
|
||||
@@ -1,10 +1,5 @@
|
||||
include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
|
||||
set(config_uavcan_num_ifaces 2)
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common IO px4io-v2)
|
||||
|
||||
set(config_module_list
|
||||
#
|
||||
@@ -17,7 +12,7 @@ set(config_module_list
|
||||
drivers/led
|
||||
drivers/px4fmu
|
||||
drivers/px4io
|
||||
drivers/boards/px4fmu-v2
|
||||
drivers/boards
|
||||
drivers/rgbled
|
||||
drivers/mpu6000
|
||||
drivers/mpu9250
|
||||
@@ -193,26 +188,3 @@ set(config_module_list
|
||||
# Hardware test
|
||||
#examples/hwtest
|
||||
)
|
||||
|
||||
set(config_extra_builtin_cmds
|
||||
serdis
|
||||
sercon
|
||||
)
|
||||
|
||||
set(config_io_board
|
||||
px4io-v2
|
||||
)
|
||||
|
||||
add_custom_target(sercon)
|
||||
set_target_properties(sercon PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "sercon"
|
||||
STACK_MAIN "2048"
|
||||
COMPILE_FLAGS "-Os")
|
||||
|
||||
add_custom_target(serdis)
|
||||
set_target_properties(serdis PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "serdis"
|
||||
STACK_MAIN "2048"
|
||||
COMPILE_FLAGS "-Os")
|
||||
|
||||
@@ -2,10 +2,6 @@ include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_test)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
|
||||
set(config_uavcan_num_ifaces 2)
|
||||
|
||||
set(config_module_list
|
||||
#
|
||||
# Board support modules
|
||||
@@ -17,7 +13,7 @@ set(config_module_list
|
||||
drivers/led
|
||||
drivers/px4fmu
|
||||
drivers/px4io
|
||||
drivers/boards/px4fmu-v2
|
||||
drivers/boards
|
||||
drivers/rgbled
|
||||
drivers/mpu6000
|
||||
#TO FIT drivers/mpu9250
|
||||
@@ -188,24 +184,3 @@ set(config_module_list
|
||||
# Hardware test
|
||||
#examples/hwtest
|
||||
)
|
||||
|
||||
set(config_extra_builtin_cmds
|
||||
serdis
|
||||
sercon
|
||||
)
|
||||
|
||||
set(config_io_board
|
||||
px4io-v2
|
||||
)
|
||||
|
||||
add_custom_target(sercon)
|
||||
set_target_properties(sercon PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "sercon" STACK_MAIN "2048"
|
||||
COMPILE_FLAGS "-Os")
|
||||
|
||||
add_custom_target(serdis)
|
||||
set_target_properties(serdis PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "serdis" STACK_MAIN "2048"
|
||||
COMPILE_FLAGS "-Os")
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common IO px4io-v2)
|
||||
|
||||
set(config_uavcan_num_ifaces 2)
|
||||
|
||||
@@ -14,7 +11,7 @@ set(config_module_list
|
||||
drivers/blinkm
|
||||
drivers/bmi160
|
||||
drivers/bmp280
|
||||
drivers/boards/px4fmu-v2
|
||||
drivers/boards
|
||||
drivers/bst
|
||||
drivers/camera_trigger
|
||||
drivers/device
|
||||
@@ -220,26 +217,3 @@ set(config_rtps_send_topics
|
||||
set(config_rtps_receive_topics
|
||||
sensor_baro
|
||||
)
|
||||
|
||||
set(config_extra_builtin_cmds
|
||||
serdis
|
||||
sercon
|
||||
)
|
||||
|
||||
set(config_io_board
|
||||
px4io-v2
|
||||
)
|
||||
|
||||
add_custom_target(sercon)
|
||||
set_target_properties(sercon PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "sercon"
|
||||
STACK_MAIN "2048"
|
||||
COMPILE_FLAGS "-Os")
|
||||
|
||||
add_custom_target(serdis)
|
||||
set_target_properties(serdis PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "serdis"
|
||||
STACK_MAIN "2048"
|
||||
COMPILE_FLAGS "-Os")
|
||||
|
||||
@@ -2,8 +2,6 @@ include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
|
||||
set(config_uavcan_num_ifaces 1)
|
||||
|
||||
set(config_module_list
|
||||
@@ -17,7 +15,7 @@ set(config_module_list
|
||||
drivers/bmi160
|
||||
drivers/bmm150
|
||||
drivers/bmp280
|
||||
drivers/boards/px4fmu-v4
|
||||
drivers/boards
|
||||
drivers/bst
|
||||
drivers/camera_trigger
|
||||
drivers/device
|
||||
@@ -63,56 +61,57 @@ set(config_module_list
|
||||
# System commands
|
||||
#
|
||||
systemcmds/bl_update
|
||||
systemcmds/config
|
||||
systemcmds/dumpfile
|
||||
systemcmds/esc_calib
|
||||
systemcmds/hardfault_log
|
||||
systemcmds/led_control
|
||||
systemcmds/mixer
|
||||
systemcmds/motor_ramp
|
||||
systemcmds/mtd
|
||||
systemcmds/nshterm
|
||||
systemcmds/param
|
||||
systemcmds/perf
|
||||
systemcmds/pwm
|
||||
systemcmds/esc_calib
|
||||
systemcmds/hardfault_log
|
||||
systemcmds/reboot
|
||||
systemcmds/topic_listener
|
||||
systemcmds/top
|
||||
systemcmds/config
|
||||
systemcmds/nshterm
|
||||
systemcmds/mtd
|
||||
systemcmds/dumpfile
|
||||
systemcmds/ver
|
||||
systemcmds/sd_bench
|
||||
systemcmds/motor_ramp
|
||||
systemcmds/top
|
||||
systemcmds/topic_listener
|
||||
systemcmds/ver
|
||||
|
||||
#
|
||||
# Testing
|
||||
#
|
||||
drivers/sf0x/sf0x_tests
|
||||
drivers/test_ppm
|
||||
#lib/rc/rc_tests
|
||||
modules/commander/commander_tests
|
||||
modules/mc_pos_control/mc_pos_control_tests
|
||||
lib/controllib/controllib_test
|
||||
modules/mavlink/mavlink_tests
|
||||
modules/mc_pos_control/mc_pos_control_tests
|
||||
modules/uORB/uORB_tests
|
||||
systemcmds/tests
|
||||
|
||||
#
|
||||
# General system control
|
||||
#
|
||||
modules/camera_feedback
|
||||
modules/commander
|
||||
modules/events
|
||||
modules/load_mon
|
||||
modules/navigator
|
||||
modules/mavlink
|
||||
modules/gpio_led
|
||||
modules/uavcan
|
||||
modules/land_detector
|
||||
modules/camera_feedback
|
||||
modules/load_mon
|
||||
modules/mavlink
|
||||
modules/navigator
|
||||
modules/uavcan
|
||||
|
||||
#
|
||||
# Estimation modules (EKF/ SO3 / other filters)
|
||||
# Estimation modules
|
||||
#
|
||||
modules/attitude_estimator_q
|
||||
modules/position_estimator_inav
|
||||
modules/ekf2
|
||||
modules/local_position_estimator
|
||||
modules/position_estimator_inav
|
||||
|
||||
#
|
||||
# Vehicle Control
|
||||
@@ -128,8 +127,8 @@ set(config_module_list
|
||||
#
|
||||
# Logging
|
||||
#
|
||||
modules/sdlog2
|
||||
modules/logger
|
||||
modules/sdlog2
|
||||
|
||||
#
|
||||
# Library modules
|
||||
@@ -162,11 +161,13 @@ set(config_module_list
|
||||
lib/tailsitter_recovery
|
||||
lib/version
|
||||
lib/DriverFramework/framework
|
||||
platforms/nuttx
|
||||
lib/micro-CDR
|
||||
|
||||
# had to add for cmake, not sure why wasn't in original config
|
||||
#
|
||||
# Platform
|
||||
#
|
||||
platforms/common
|
||||
platforms/nuttx
|
||||
platforms/nuttx/px4_layer
|
||||
|
||||
#
|
||||
@@ -179,28 +180,33 @@ set(config_module_list
|
||||
#
|
||||
examples/rover_steering_control
|
||||
|
||||
#
|
||||
# Segway
|
||||
#
|
||||
examples/segway
|
||||
|
||||
#
|
||||
# Demo apps
|
||||
#
|
||||
#examples/math_demo
|
||||
|
||||
# Tutorial code from
|
||||
# https://px4.io/dev/px4_simple_app
|
||||
examples/px4_simple_app
|
||||
|
||||
# Tutorial code from
|
||||
# https://px4.io/dev/daemon
|
||||
#examples/px4_daemon_app
|
||||
examples/px4_daemon_app
|
||||
|
||||
# Tutorial code from
|
||||
# https://px4.io/dev/debug_values
|
||||
#examples/px4_mavlink_debug
|
||||
examples/px4_mavlink_debug
|
||||
|
||||
# Tutorial code from
|
||||
# https://px4.io/dev/example_fixedwing_control
|
||||
examples/fixedwing_control
|
||||
|
||||
# Hardware test
|
||||
#examples/hwtest
|
||||
examples/hwtest
|
||||
|
||||
# EKF
|
||||
examples/ekf_att_pos_estimator
|
||||
@@ -213,22 +219,3 @@ set(config_rtps_send_topics
|
||||
set(config_rtps_receive_topics
|
||||
sensor_baro
|
||||
)
|
||||
|
||||
set(config_extra_builtin_cmds
|
||||
serdis
|
||||
sercon
|
||||
)
|
||||
|
||||
add_custom_target(sercon)
|
||||
set_target_properties(sercon PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "sercon"
|
||||
STACK_MAIN "2048"
|
||||
COMPILE_FLAGS "-Os")
|
||||
|
||||
add_custom_target(serdis)
|
||||
set_target_properties(serdis PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "serdis"
|
||||
STACK_MAIN "2048"
|
||||
COMPILE_FLAGS "-Os")
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common IO px4io-v2)
|
||||
|
||||
set(config_uavcan_num_ifaces 2)
|
||||
|
||||
@@ -15,7 +13,7 @@ set(config_module_list
|
||||
drivers/bma180
|
||||
drivers/bmi160
|
||||
drivers/bmp280
|
||||
drivers/boards/px4fmu-v4pro
|
||||
drivers/boards
|
||||
drivers/bst
|
||||
drivers/camera_trigger
|
||||
drivers/device
|
||||
@@ -220,26 +218,3 @@ set(config_rtps_send_topics
|
||||
set(config_rtps_receive_topics
|
||||
sensor_baro
|
||||
)
|
||||
|
||||
set(config_extra_builtin_cmds
|
||||
serdis
|
||||
sercon
|
||||
)
|
||||
|
||||
set(config_io_board
|
||||
px4io-v2
|
||||
)
|
||||
|
||||
add_custom_target(sercon)
|
||||
set_target_properties(sercon PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "sercon"
|
||||
STACK_MAIN "2048"
|
||||
COMPILE_FLAGS "-Os")
|
||||
|
||||
add_custom_target(serdis)
|
||||
set_target_properties(serdis PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "serdis"
|
||||
STACK_MAIN "2048"
|
||||
COMPILE_FLAGS "-Os")
|
||||
|
||||
@@ -2,8 +2,6 @@ include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m7 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
|
||||
set(config_uavcan_num_ifaces 2)
|
||||
|
||||
set(config_module_list
|
||||
@@ -16,7 +14,7 @@ set(config_module_list
|
||||
drivers/bmi055
|
||||
drivers/bmi160
|
||||
drivers/bmp280
|
||||
drivers/boards/px4fmu-v5
|
||||
drivers/boards
|
||||
drivers/bst
|
||||
drivers/camera_trigger
|
||||
drivers/device
|
||||
@@ -221,22 +219,3 @@ set(config_rtps_send_topics
|
||||
set(config_rtps_receive_topics
|
||||
sensor_baro
|
||||
)
|
||||
|
||||
set(config_extra_builtin_cmds
|
||||
serdis
|
||||
sercon
|
||||
)
|
||||
|
||||
add_custom_target(sercon)
|
||||
set_target_properties(sercon PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "sercon"
|
||||
STACK_MAIN "2048"
|
||||
COMPILE_FLAGS "-Os")
|
||||
|
||||
add_custom_target(serdis)
|
||||
set_target_properties(serdis PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "serdis"
|
||||
STACK_MAIN "2048"
|
||||
COMPILE_FLAGS "-Os")
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m3 CONFIG nsh)
|
||||
|
||||
set(config_module_list
|
||||
drivers/boards
|
||||
drivers/stm32
|
||||
lib/rc
|
||||
modules/px4iofirmware
|
||||
modules/systemlib/mixer
|
||||
platforms/common
|
||||
)
|
||||
@@ -0,0 +1,14 @@
|
||||
include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m3 CONFIG nsh)
|
||||
|
||||
set(config_module_list
|
||||
drivers/boards/px4io-v2
|
||||
drivers/stm32
|
||||
lib/rc
|
||||
modules/px4iofirmware
|
||||
modules/systemlib/mixer
|
||||
platforms/common
|
||||
|
||||
lib/micro-CDR
|
||||
)
|
||||
@@ -2,8 +2,6 @@ include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m7 CONFIG nsh ROMFS y ROMFSROOT px4fmu_common)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
|
||||
set(config_uavcan_num_ifaces 2)
|
||||
|
||||
set(config_module_list
|
||||
@@ -15,7 +13,7 @@ set(config_module_list
|
||||
drivers/bma180
|
||||
drivers/bmi160
|
||||
drivers/bmp280
|
||||
drivers/boards/px4nucleoF767ZI-v1
|
||||
drivers/boards
|
||||
drivers/bst
|
||||
drivers/camera_trigger
|
||||
drivers/device
|
||||
@@ -178,20 +176,3 @@ set(config_module_list
|
||||
# Hardware test
|
||||
#examples/hwtest
|
||||
)
|
||||
|
||||
set(config_extra_builtin_cmds
|
||||
serdis
|
||||
sercon
|
||||
)
|
||||
|
||||
add_custom_target(sercon)
|
||||
set_target_properties(sercon PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "sercon"
|
||||
STACK_MAIN "2048")
|
||||
|
||||
add_custom_target(serdis)
|
||||
set_target_properties(serdis PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "serdis"
|
||||
STACK_MAIN "2048")
|
||||
|
||||
@@ -1,30 +1,2 @@
|
||||
include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG bootloader)
|
||||
|
||||
set(px4_src_base ${CMAKE_SOURCE_DIR}/src/)
|
||||
set(px4_bootloader_base ${px4_src_base}drivers/bootloaders/)
|
||||
set(px4_module_base ${px4_src_base}modules/)
|
||||
|
||||
#
|
||||
# UAVCAN boot loadable Module ID
|
||||
|
||||
#
|
||||
# Bring in common uavcan hardware identity definitions
|
||||
#
|
||||
|
||||
include(configs/uavcan_board_ident/s2740vc-v1)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
|
||||
set(config_module_list
|
||||
|
||||
drivers/boards/s2740vc-v1/bootloader
|
||||
|
||||
)
|
||||
|
||||
#
|
||||
# Bootloaders use a compact vector table not
|
||||
# from the lib, but exported in startup
|
||||
#
|
||||
set(nuttx_startup_files stm32_vectors.o)
|
||||
include(nuttx/px4_uavcan_bootloader)
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG bootloader)
|
||||
@@ -12,6 +12,10 @@ px4_nuttx_configure(HWCLASS m4 CONFIG nsh)
|
||||
|
||||
set(uavcanblid_sw_version_major 0)
|
||||
set(uavcanblid_sw_version_minor 1)
|
||||
add_definitions(
|
||||
-DAPP_VERSION_MAJOR=${uavcanblid_sw_version_major}
|
||||
-DAPP_VERSION_MINOR=${uavcanblid_sw_version_minor}
|
||||
)
|
||||
|
||||
#
|
||||
# Bring in common uavcan hardware identity definitions
|
||||
@@ -21,15 +25,13 @@ include(configs/uavcan_board_ident/s2740vc-v1)
|
||||
|
||||
# N.B. this would be uncommented when there is an APP
|
||||
#px4_nuttx_make_uavcan_bootloadable(BOARD ${BOARD}
|
||||
# BIN ${CMAKE_CURRENT_BINARY_DIR}/src/firmware/nuttx/firmware_nuttx.bin
|
||||
# BIN ${CMAKE_CURRENT_BINARY_DIR}/src/firmware/nuttx/s2740vc-v1.bin
|
||||
# HWNAME ${uavcanblid_name}
|
||||
# HW_MAJOR ${uavcanblid_hw_version_major}
|
||||
# HW_MINOR ${uavcanblid_hw_version_minor}
|
||||
# SW_MAJOR ${uavcanblid_sw_version_major}
|
||||
# SW_MINOR ${uavcanblid_sw_version_minor})
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
|
||||
set(config_module_list
|
||||
|
||||
#
|
||||
@@ -38,7 +40,7 @@ set(config_module_list
|
||||
|
||||
drivers/stm32
|
||||
drivers/led
|
||||
drivers/boards/s2740vc-v1
|
||||
drivers/boards
|
||||
|
||||
#
|
||||
# System commands
|
||||
@@ -67,6 +69,4 @@ set(config_module_list
|
||||
platforms/nuttx
|
||||
platforms/common
|
||||
platforms/nuttx/px4_layer
|
||||
|
||||
|
||||
)
|
||||
|
||||
@@ -2,8 +2,6 @@ include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m4 CONFIG nsh ROMFS y ROMFSROOT tap_common)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
|
||||
set(target_definitions MEMORY_CONSTRAINED_SYSTEM)
|
||||
|
||||
set(config_module_list
|
||||
@@ -16,7 +14,7 @@ set(config_module_list
|
||||
drivers/stm32/tone_alarm
|
||||
drivers/led
|
||||
drivers/px4fmu
|
||||
drivers/boards/tap-v1
|
||||
drivers/boards
|
||||
drivers/rgbled_pwm
|
||||
drivers/tap_esc
|
||||
drivers/mpu6000
|
||||
@@ -111,24 +109,4 @@ set(config_module_list
|
||||
# had to add for cmake, not sure why wasn't in original config
|
||||
platforms/common
|
||||
platforms/nuttx/px4_layer
|
||||
)
|
||||
|
||||
set(config_extra_builtin_cmds
|
||||
serdis
|
||||
sercon
|
||||
)
|
||||
|
||||
set(config_io_board
|
||||
)
|
||||
|
||||
add_custom_target(sercon)
|
||||
set_target_properties(sercon PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "sercon"
|
||||
STACK_MAIN "2048")
|
||||
|
||||
add_custom_target(serdis)
|
||||
set_target_properties(serdis PROPERTIES
|
||||
PRIORITY "SCHED_PRIORITY_DEFAULT"
|
||||
MAIN "serdis"
|
||||
STACK_MAIN "2048")
|
||||
)
|
||||
@@ -1,30 +1,2 @@
|
||||
include(nuttx/px4_impl_nuttx)
|
||||
|
||||
px4_nuttx_configure(HWCLASS m3 CONFIG bootloader)
|
||||
|
||||
set(px4_src_base ${CMAKE_SOURCE_DIR}/src/)
|
||||
set(px4_bootloader_base ${px4_src_base}drivers/bootloaders/)
|
||||
set(px4_module_base ${px4_src_base}modules/)
|
||||
|
||||
#
|
||||
# UAVCAN boot loadable Module ID
|
||||
|
||||
#
|
||||
# Bring in common uavcan hardware identity definitions
|
||||
#
|
||||
|
||||
include(configs/uavcan_board_ident/zubaxgnss-v1)
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||
|
||||
set(config_module_list
|
||||
|
||||
drivers/boards/zubaxgnss-v1/bootloader
|
||||
|
||||
)
|
||||
|
||||
#
|
||||
# Bootloaders use a compact vector table not
|
||||
# from the lib, but exported in startup
|
||||
#
|
||||
set(nuttx_startup_files stm32_vectors.o)
|
||||
include(nuttx/px4_uavcan_bootloader)
|
||||
px4_nuttx_configure(HWCLASS m3 CONFIG bootloader)
|
||||
@@ -10,8 +10,6 @@ add_definitions(
|
||||
|
||||
set(config_module_list
|
||||
|
||||
# examples/px4_simple_app
|
||||
|
||||
#
|
||||
# Board support modules
|
||||
#
|
||||
|
||||
@@ -20,7 +20,7 @@ endif()
|
||||
|
||||
set(config_module_list
|
||||
drivers/device
|
||||
drivers/boards/sitl
|
||||
drivers/boards
|
||||
drivers/led
|
||||
drivers/linux_sbus
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ set(config_module_list
|
||||
drivers/pwm_out_sim
|
||||
drivers/rgbled
|
||||
drivers/led
|
||||
drivers/boards/sitl
|
||||
drivers/boards
|
||||
drivers/qshell/posix
|
||||
|
||||
systemcmds/param
|
||||
|
||||
@@ -26,7 +26,7 @@ set(config_module_list
|
||||
drivers/pwm_out_sim
|
||||
drivers/rgbled
|
||||
drivers/led
|
||||
drivers/boards/sitl
|
||||
drivers/boards
|
||||
drivers/qshell/posix
|
||||
|
||||
systemcmds/param
|
||||
|
||||
@@ -3,7 +3,7 @@ include(posix/px4_impl_posix)
|
||||
set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-native.cmake)
|
||||
|
||||
set(config_module_list
|
||||
drivers/boards/sitl
|
||||
drivers/boards
|
||||
drivers/camera_trigger
|
||||
drivers/device
|
||||
drivers/gps
|
||||
@@ -194,11 +194,6 @@ set(config_module_list
|
||||
lib/micro-CDR
|
||||
)
|
||||
|
||||
set(config_extra_builtin_cmds
|
||||
serdis
|
||||
sercon
|
||||
)
|
||||
|
||||
set(config_rtps_send_topics
|
||||
sensor_baro
|
||||
)
|
||||
|
||||
@@ -22,7 +22,7 @@ include_directories(${HEXAGON_SDK_INCLUDES})
|
||||
|
||||
set(config_module_list
|
||||
drivers/device
|
||||
drivers/boards/sitl
|
||||
drivers/boards
|
||||
drivers/pwm_out_sim
|
||||
drivers/led
|
||||
drivers/rgbled
|
||||
|
||||
@@ -27,7 +27,7 @@ include_directories(${HEXAGON_SDK_INCLUDES})
|
||||
|
||||
set(config_module_list
|
||||
drivers/device
|
||||
drivers/boards/sitl
|
||||
drivers/boards
|
||||
drivers/pwm_out_sim
|
||||
drivers/led
|
||||
drivers/rgbled
|
||||
|
||||
@@ -1,98 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
"""
|
||||
This converts a binary imagge to an object file
|
||||
"""
|
||||
from __future__ import print_function
|
||||
import subprocess
|
||||
import argparse
|
||||
import re
|
||||
from subprocess import PIPE
|
||||
|
||||
#pylint: disable=invalid-name
|
||||
parser = argparse.ArgumentParser(description='Convert bin to obj.')
|
||||
parser.add_argument('--c_flags', required=True)
|
||||
parser.add_argument('--c_compiler', required=True)
|
||||
parser.add_argument('--include_path', required=True)
|
||||
parser.add_argument('--nm', required=True)
|
||||
parser.add_argument('--ld', required=True)
|
||||
parser.add_argument('--objcopy', required=True)
|
||||
parser.add_argument('--bin', required=True)
|
||||
parser.add_argument('--obj', required=True)
|
||||
parser.add_argument('--var', required=True)
|
||||
args = parser.parse_args()
|
||||
|
||||
in_bin = args.bin
|
||||
c_flags = args.c_flags
|
||||
c_compiler = args.c_compiler
|
||||
include_path = args.include_path
|
||||
nm = args.nm
|
||||
ld = args.ld
|
||||
obj = args.obj
|
||||
var = args.var
|
||||
objcopy = args.objcopy
|
||||
|
||||
sym = "_binary_" + in_bin.replace('/', '_').replace('.', '_').replace('-', '_')
|
||||
#print("sym: ", sym)
|
||||
|
||||
# write empty file
|
||||
with open('{obj:s}.c'.format(**locals()), 'w') as f:
|
||||
f.write("")
|
||||
|
||||
def run_cmd(cmd, d):
|
||||
cmd = cmd.format(**d)
|
||||
#print(cmd)
|
||||
proc = subprocess.Popen(cmd.split(), stdout=PIPE, stderr=PIPE)
|
||||
stdout, stderr = proc.communicate()
|
||||
if stderr.decode() != "":
|
||||
raise RuntimeError(stderr)
|
||||
return stdout
|
||||
|
||||
# do compile
|
||||
run_cmd("{c_compiler:s} -I{include_path:s} {c_flags:s} -c {obj:s}.c -o {obj:s}.c.o",
|
||||
locals())
|
||||
|
||||
# link
|
||||
run_cmd("{ld:s} -r -o {obj:s}.bin.o {obj:s}.c.o -b binary {in_bin:s}",
|
||||
locals())
|
||||
|
||||
# get size of image
|
||||
stdout = run_cmd("{nm:s} -p --radix=x {obj:s}.bin.o", locals())
|
||||
re_string = r"^([0-9A-Fa-f]+) .*{sym:s}_size".format(**locals())
|
||||
re_size = re.compile(re_string, re.MULTILINE)
|
||||
size_match = re.search(re_size, stdout.decode())
|
||||
|
||||
try:
|
||||
size = size_match.group(1)
|
||||
except AttributeError as e:
|
||||
raise RuntimeError("{:s}\nre:{:s}\n{:s}".format(
|
||||
e, re_string, stdout))
|
||||
except IndexError as e:
|
||||
group0 = size_match.group(0)
|
||||
raise RuntimeError("{:s}\ngroup 0:{:s}\n{:s}".format(
|
||||
e, group0, stdout))
|
||||
|
||||
#print("romfs size: ", size)
|
||||
|
||||
# write size to file
|
||||
with open('{obj:s}.c'.format(**locals()), 'w') as f:
|
||||
f.write("const unsigned int {var:s}_len = 0x{size:s};".format(
|
||||
**locals()))
|
||||
|
||||
# do compile
|
||||
run_cmd("{c_compiler:s} -I{include_path:s} {c_flags:s} -c {obj:s}.c -o {obj:s}.c.o",
|
||||
locals())
|
||||
|
||||
# link
|
||||
run_cmd("{ld:s} -r -o {obj:s} {obj:s}.c.o {obj:s}.bin.o",
|
||||
locals())
|
||||
|
||||
# obj copy
|
||||
run_cmd("""
|
||||
{objcopy:s} {obj:s}
|
||||
--redefine-sym {sym:s}_start={var:s}
|
||||
--strip-symbol {sym:s}_size
|
||||
--strip-symbol {sym:s}_end
|
||||
--rename-section .data=.rodata
|
||||
""", locals())
|
||||
|
||||
# vim: set et ft=python fenc= ff=unix sts=4 sw=4 ts=4 :
|
||||
@@ -1,12 +0,0 @@
|
||||
/* builtin command list - automatically generated, do not edit */
|
||||
#include <nuttx/config.h>
|
||||
#include <nuttx/binfmt/builtin.h>
|
||||
#include <nuttx/config.h>
|
||||
#if ${command_count}
|
||||
${builtin_apps_decl_string}
|
||||
const struct builtin_s g_builtins[] = {
|
||||
${builtin_apps_string}
|
||||
{NULL, 0, 0, NULL}
|
||||
};
|
||||
const int g_builtin_count = ${command_count};
|
||||
#endif
|
||||
@@ -37,11 +37,7 @@
|
||||
#
|
||||
# OS Specific Functions
|
||||
#
|
||||
# * px4_nuttx_add_firmware
|
||||
# * px4_nuttx_make_uavcan_bootloadable
|
||||
# * px4_nuttx_generate_builtin_commands
|
||||
# * px4_nuttx_add_export
|
||||
# * px4_nuttx_add_romfs
|
||||
#
|
||||
# Required OS Inteface Functions
|
||||
#
|
||||
@@ -51,63 +47,6 @@
|
||||
|
||||
include(common/px4_base)
|
||||
|
||||
#=============================================================================
|
||||
#
|
||||
# px4_nuttx_add_firmware
|
||||
#
|
||||
# This function adds a nuttx firmware target.
|
||||
#
|
||||
# Usage:
|
||||
# px4_nuttx_add_firmware(OUT <out-target> EXE <in-executable>
|
||||
# PARAM_XML <param_xml> AIRFRAMES_XML <airframes_xml>)
|
||||
#
|
||||
# Input:
|
||||
# EXE : the executable to generate the firmware from
|
||||
# BOARD : the board
|
||||
# PARAM_XML : param xml file (optional)
|
||||
# AIRFRAMES_XML : airframes xml file (optional)
|
||||
#
|
||||
# Output:
|
||||
# OUT : the generated firmware target
|
||||
#
|
||||
# Example:
|
||||
# px4_nuttx_add_firmware(TARGET fw_test EXE test)
|
||||
#
|
||||
function(px4_nuttx_add_firmware)
|
||||
px4_parse_function_args(
|
||||
NAME px4_nuttx_add_firmware
|
||||
ONE_VALUE BOARD OUT EXE PARAM_XML AIRFRAMES_XML
|
||||
REQUIRED OUT EXE BOARD
|
||||
ARGN ${ARGN})
|
||||
|
||||
set(extra_args)
|
||||
set(dependencies)
|
||||
if (PARAM_XML)
|
||||
list(APPEND extra_args
|
||||
--parameter_xml ${PARAM_XML}
|
||||
)
|
||||
list(APPEND dependencies parameters_xml)
|
||||
endif()
|
||||
|
||||
if (AIRFRAMES_XML)
|
||||
list(APPEND extra_args
|
||||
--airframe_xml ${AIRFRAMES_XML}
|
||||
)
|
||||
list(APPEND dependencies airframes_xml)
|
||||
endif()
|
||||
|
||||
add_custom_command(OUTPUT ${OUT} ${EXE}.bin
|
||||
COMMAND ${OBJCOPY} -O binary ${EXE} ${EXE}.bin
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_mkfw.py
|
||||
--prototype ${PX4_SOURCE_DIR}/Images/${BOARD}.prototype
|
||||
--git_identity ${PX4_SOURCE_DIR}
|
||||
${extra_args}
|
||||
--image ${EXE}.bin > ${OUT}
|
||||
DEPENDS ${EXE} ${dependencies}
|
||||
)
|
||||
add_custom_target(build_firmware_${BOARD} ALL DEPENDS ${OUT})
|
||||
endfunction()
|
||||
|
||||
#=============================================================================
|
||||
#
|
||||
# px4_nuttx_make_uavcan_bootloadable
|
||||
@@ -153,16 +92,19 @@ function(px4_nuttx_make_uavcan_bootloadable)
|
||||
ONE_VALUE BOARD BIN HWNAME HW_MAJOR HW_MINOR SW_MAJOR SW_MINOR
|
||||
REQUIRED BOARD BIN HWNAME HW_MAJOR HW_MINOR SW_MAJOR SW_MINOR
|
||||
ARGN ${ARGN})
|
||||
|
||||
string(REPLACE "\"" "" HWNAME ${HWNAME})
|
||||
|
||||
execute_process(
|
||||
COMMAND git rev-list HEAD --max-count=1 --abbrev=8 --abbrev-commit
|
||||
OUTPUT_VARIABLE uavcanbl_git_desc
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
WORKING_DIRECTORY ${PX4_SOURCE_DIR}
|
||||
)
|
||||
if ("${uavcanbl_git_desc}" STREQUAL "")
|
||||
|
||||
if ("${uavcanbl_git_desc}" STREQUAL "")
|
||||
set(uavcanbl_git_desc ffffffff)
|
||||
endif()
|
||||
endif()
|
||||
set(uavcan_bl_imange_name ${HWNAME}-${HW_MAJOR}.${HW_MINOR}-${SW_MAJOR}.${SW_MINOR}.${uavcanbl_git_desc}.uavcan.bin)
|
||||
message(STATUS "Generating UAVCAN Bootable as ${uavcan_bl_imange_name}")
|
||||
add_custom_command(OUTPUT ${uavcan_bl_imange_name}
|
||||
@@ -172,323 +114,6 @@ function(px4_nuttx_make_uavcan_bootloadable)
|
||||
add_custom_target(build_uavcan_bl_${BOARD} ALL DEPENDS ${uavcan_bl_imange_name})
|
||||
endfunction()
|
||||
|
||||
#=============================================================================
|
||||
#
|
||||
# px4_nuttx_generate_builtin_commands
|
||||
#
|
||||
# This function generates the builtin_commands.c src for nuttx
|
||||
#
|
||||
# Usage:
|
||||
# px4_nuttx_generate_builtin_commands(
|
||||
# MODULE_LIST <in-list>
|
||||
# OUT <file>)
|
||||
#
|
||||
# Input:
|
||||
# MODULE_LIST : list of modules
|
||||
#
|
||||
# Output:
|
||||
# OUT : generated builtin_commands.c src
|
||||
#
|
||||
# Example:
|
||||
# px4_nuttx_generate_builtin_commands(
|
||||
# OUT <generated-src> MODULE_LIST px4_simple_app)
|
||||
#
|
||||
function(px4_nuttx_generate_builtin_commands)
|
||||
px4_parse_function_args(
|
||||
NAME px4_nuttx_generate_builtin_commands
|
||||
ONE_VALUE OUT
|
||||
MULTI_VALUE MODULE_LIST
|
||||
REQUIRED MODULE_LIST OUT
|
||||
ARGN ${ARGN})
|
||||
set(builtin_apps_string)
|
||||
set(builtin_apps_decl_string)
|
||||
set(command_count 0)
|
||||
foreach(module ${MODULE_LIST})
|
||||
foreach(property MAIN STACK_MAIN PRIORITY)
|
||||
get_target_property(${property} ${module} ${property})
|
||||
endforeach()
|
||||
if (MAIN)
|
||||
set(builtin_apps_string
|
||||
"${builtin_apps_string}\t{\"${MAIN}\", ${PRIORITY}, ${STACK_MAIN}, ${MAIN}_main},\n")
|
||||
set(builtin_apps_decl_string
|
||||
"${builtin_apps_decl_string}extern int ${MAIN}_main(int argc, char *argv[]);\n")
|
||||
math(EXPR command_count "${command_count}+1")
|
||||
endif()
|
||||
endforeach()
|
||||
configure_file(${PX4_SOURCE_DIR}/cmake/nuttx/builtin_commands.c.in
|
||||
${OUT})
|
||||
endfunction()
|
||||
|
||||
#=============================================================================
|
||||
#
|
||||
# px4_nuttx_add_export
|
||||
#
|
||||
# This function generates a nuttx export.
|
||||
#
|
||||
# Usage:
|
||||
# px4_nuttx_add_export(
|
||||
# OUT <out-target>
|
||||
# CONFIG <in-string>
|
||||
# DEPENDS <in-list>)
|
||||
#
|
||||
# Input:
|
||||
# CONFIG : the board to generate the export for
|
||||
# DEPENDS : dependencies
|
||||
#
|
||||
# Output:
|
||||
# OUT : the export target
|
||||
#
|
||||
# Example:
|
||||
# px4_nuttx_add_export(OUT nuttx_export CONFIG px4fmu-v2)
|
||||
#
|
||||
function(px4_nuttx_add_export)
|
||||
|
||||
px4_parse_function_args(
|
||||
NAME px4_nuttx_add_export
|
||||
ONE_VALUE OUT CONFIG THREADS
|
||||
MULTI_VALUE DEPENDS
|
||||
REQUIRED OUT CONFIG THREADS
|
||||
ARGN ${ARGN})
|
||||
|
||||
set(nuttx_build_options "--quiet")
|
||||
set(nuttx_build_output ">nuttx_build.log")
|
||||
if ($ENV{PX4_NUTTX_BUILD_VERBOSE} MATCHES "1")
|
||||
set(nuttx_build_options)
|
||||
set(nuttx_build_output)
|
||||
set(nuttx_build_uses_terminal "USES_TERMINAL")
|
||||
endif()
|
||||
|
||||
if ($ENV{PX4_NUTTX_PATCHES_VERBOSE} MATCHES "1")
|
||||
set(nuttx_patches_uses_terminal "USES_TERMINAL")
|
||||
endif()
|
||||
|
||||
# nuttx-patches
|
||||
add_subdirectory(${PX4_SOURCE_DIR}/nuttx-patches ${PX4_BINARY_DIR}/${CONFIG})
|
||||
|
||||
set(nuttx_build_src ${PX4_BINARY_DIR}/${CONFIG}/NuttX)
|
||||
set(nuttx_export_dir ${nuttx_build_src}/nuttx/nuttx-export)
|
||||
|
||||
# nuttx cmake dependency files
|
||||
set(nuttx_copy_stamp ${PX4_BINARY_DIR}/${CONFIG}/nuttx_copy.stamp)
|
||||
set(nuttx_configure_stamp ${PX4_BINARY_DIR}/${CONFIG}/nuttx_configure.stamp)
|
||||
set(nuttx_export_stamp ${PX4_BINARY_DIR}/${CONFIG}/nuttx_export.stamp)
|
||||
|
||||
# copy
|
||||
file(GLOB_RECURSE nuttx_all_files ${PX4_SOURCE_DIR}/NuttX/*)
|
||||
file(RELATIVE_PATH nuttx_cp_src ${PX4_BINARY_DIR} ${PX4_SOURCE_DIR}/NuttX)
|
||||
add_custom_command(OUTPUT ${nuttx_copy_stamp}
|
||||
COMMAND ${MKDIR} -p ${nuttx_build_src}
|
||||
COMMAND rsync -rp --inplace --delete --exclude=.git --exclude=nuttx-export ${nuttx_cp_src}/ ${CONFIG}/NuttX/
|
||||
COMMAND cmake -E touch ${nuttx_copy_stamp}
|
||||
DEPENDS ${px4_nuttx_patches} ${nuttx_all_files}
|
||||
COMMENT "Copying NuttX for ${CONFIG} with ${config_nuttx_config}"
|
||||
WORKING_DIRECTORY ${PX4_BINARY_DIR})
|
||||
add_custom_target(nuttx_copy_${CONFIG} DEPENDS ${DEPENDS} ${nuttx_copy_stamp})
|
||||
|
||||
unset(last_patch)
|
||||
add_custom_target(nuttx_patch_${CONFIG})
|
||||
foreach(patch ${px4_nuttx_patches})
|
||||
get_filename_component(patch_file_name ${patch} NAME)
|
||||
string(REPLACE "/" "_" patch_name "${CONFIG}-nuttx_patch_${patch_file_name}")
|
||||
set(patch_stamp ${nuttx_build_src}/${patch_name}.stamp)
|
||||
|
||||
add_custom_command(OUTPUT ${patch_stamp}
|
||||
COMMAND ${PATCH} --verbose -d ${nuttx_build_src} -s -p1 -N < ${patch}
|
||||
COMMAND cmake -E touch ${patch_stamp}
|
||||
DEPENDS nuttx_copy_${CONFIG} ${patch} ${last_patch}
|
||||
COMMENT "${CONFIG}: nuttx-patches/${patch_file_name} applied"
|
||||
${nuttx_patches_uses_terminal})
|
||||
|
||||
add_custom_target(${patch_name} DEPENDS ${patch_stamp})
|
||||
add_dependencies(nuttx_patch_${CONFIG} ${patch_name} nuttx_copy_${CONFIG})
|
||||
set(last_patch ${patch_name})
|
||||
endforeach()
|
||||
|
||||
# Read defconfig to see if CONFIG_ARMV7M_STACKCHECK is yes
|
||||
# note: CONFIG will be BOARD in the future evaluation of ${hw_stack_check_${CONFIG}
|
||||
file(STRINGS "${PX4_SOURCE_DIR}/nuttx-configs/${CONFIG}/${config_nuttx_config}/defconfig"
|
||||
hw_stack_check_${CONFIG}
|
||||
REGEX "CONFIG_ARMV7M_STACKCHECK=y"
|
||||
)
|
||||
if ("${hw_stack_check_${CONFIG}}" STREQUAL "CONFIG_ARMV7M_STACKCHECK=y")
|
||||
set(config_nuttx_hw_stack_check_${CONFIG} y CACHE INTERNAL "" FORCE)
|
||||
endif()
|
||||
|
||||
# nuttx configure
|
||||
file(GLOB_RECURSE nuttx-configs ${PX4_SOURCE_DIR}/nuttx-configs/${CONFIG}/*)
|
||||
add_custom_command(OUTPUT ${nuttx_configure_stamp} ${nuttx_build_src}/nuttx/.config
|
||||
COMMAND ${CP} -rp ${PX4_SOURCE_DIR}/nuttx-configs/*.mk ${nuttx_build_src}/nuttx/
|
||||
COMMAND ${CP} -rp ${PX4_SOURCE_DIR}/nuttx-configs/${CONFIG} ${nuttx_build_src}/nuttx/configs
|
||||
COMMAND ${CP} ${nuttx_build_src}/nuttx/configs/${CONFIG}/${config_nuttx_config}/defconfig ${nuttx_build_src}/nuttx/.config
|
||||
COMMAND ${CP} ${nuttx_build_src}/nuttx/configs/${CONFIG}/${config_nuttx_config}/Make.defs ${nuttx_build_src}/nuttx/
|
||||
COMMAND cmake -E touch ${nuttx_configure_stamp}
|
||||
DEPENDS nuttx_patch_${CONFIG} ${nuttx-configs}
|
||||
WORKING_DIRECTORY ${PX4_BINARY_DIR}
|
||||
COMMENT "Configuring NuttX for ${CONFIG} with ${config_nuttx_config}")
|
||||
add_custom_target(nuttx_configure_${CONFIG} DEPENDS ${nuttx_configure_stamp} nuttx_patch_${CONFIG})
|
||||
|
||||
# manual nuttx oldconfig helper
|
||||
add_custom_target(oldconfig_${CONFIG}
|
||||
COMMAND ${MAKE} --no-print-directory -C ${nuttx_build_src}/nuttx CONFIG_ARCH_BOARD=${CONFIG} oldconfig
|
||||
COMMAND ${CP} ${nuttx_build_src}/nuttx/.config ${PX4_SOURCE_DIR}/nuttx-configs/${CONFIG}/${config_nuttx_config}/defconfig
|
||||
COMMAND ${PX4_SOURCE_DIR}/Tools/nuttx_defconf_tool.sh ${PX4_SOURCE_DIR}/nuttx-configs/${CONFIG}/${config_nuttx_config}/defconfig
|
||||
DEPENDS nuttx_configure_${CONFIG}
|
||||
WORKING_DIRECTORY ${nuttx_build_src}/nuttx
|
||||
COMMENT "Running NuttX make oldconfig for ${CONFIG} with ${config_nuttx_config}"
|
||||
USES_TERMINAL)
|
||||
|
||||
# manual nuttx menuconfig helper
|
||||
add_custom_target(menuconfig_${CONFIG}
|
||||
COMMAND ${MAKE} --no-print-directory -C ${nuttx_build_src}/nuttx CONFIG_ARCH_BOARD=${CONFIG} menuconfig
|
||||
COMMAND ${CP} ${nuttx_build_src}/nuttx/.config ${PX4_SOURCE_DIR}/nuttx-configs/${CONFIG}/${config_nuttx_config}/defconfig
|
||||
COMMAND ${PX4_SOURCE_DIR}/Tools/nuttx_defconf_tool.sh ${PX4_SOURCE_DIR}/nuttx-configs/${CONFIG}/${config_nuttx_config}/defconfig
|
||||
DEPENDS nuttx_configure_${CONFIG}
|
||||
WORKING_DIRECTORY ${nuttx_build_src}/nuttx
|
||||
COMMENT "Running NuttX make menuconfig for ${CONFIG} with ${config_nuttx_config}"
|
||||
USES_TERMINAL)
|
||||
|
||||
# nuttx build and export
|
||||
add_custom_command(
|
||||
OUTPUT ${nuttx_export_stamp}
|
||||
${nuttx_export_dir}/include/nuttx/config.h
|
||||
COMMAND ${RM} -rf ${nuttx_export_dir}
|
||||
COMMAND ${MAKE} ${nuttx_build_options} --no-print-directory -C ${nuttx_build_src}/nuttx -r CONFIG_ARCH_BOARD=${CONFIG} export ${nuttx_build_output}
|
||||
COMMAND cmake -E touch ${nuttx_export_stamp}
|
||||
DEPENDS nuttx_configure_${CONFIG}
|
||||
WORKING_DIRECTORY ${PX4_BINARY_DIR}/${CONFIG}
|
||||
COMMENT "Building NuttX for ${CONFIG} with ${config_nuttx_config}"
|
||||
${nuttx_build_uses_terminal})
|
||||
|
||||
file(GLOB_RECURSE nuttx_export_src ${nuttx_export_dir})
|
||||
foreach(nuttx_export_file ${nuttx_export_dir})
|
||||
set_source_files_properties(${nuttx_export_src} PROPERTIES GENERATED TRUE)
|
||||
endforeach()
|
||||
|
||||
add_custom_target(${OUT} DEPENDS nuttx_copy_${CONFIG} nuttx_patch_${CONFIG} nuttx_configure_${CONFIG} ${nuttx_export_stamp})
|
||||
|
||||
endfunction()
|
||||
|
||||
#=============================================================================
|
||||
#
|
||||
# px4_nuttx_create_bin
|
||||
#
|
||||
# The functions generates a bin image for nuttx.
|
||||
#
|
||||
# Usage:
|
||||
# px4_nuttx_create_bin(BIN <out-file> EXE <in-file>)
|
||||
#
|
||||
# Input:
|
||||
# EXE : the exe file
|
||||
#
|
||||
# Output:
|
||||
# OUT : the binary output file
|
||||
#
|
||||
# Example:
|
||||
# px4_nuttx_create_bin(OUT my_exe.bin EXE my_exe)
|
||||
#
|
||||
function(px4_nuttx_create_bin)
|
||||
|
||||
px4_parse_function_args(
|
||||
NAME px4_nuttx_create_bin
|
||||
ONE_VALUE EXE OUT
|
||||
REQUIRED EXE OUT
|
||||
ARGN ${ARGN})
|
||||
|
||||
add_custom_command(OUTPUT ${OUT}
|
||||
COMMAND ${OBJCOPY} -O binary ${EXE} ${EXE}.bin
|
||||
DEPENDS ${EXE})
|
||||
|
||||
set(${OUT} ${${OUT}} PARENT_SCOPE)
|
||||
|
||||
endfunction()
|
||||
|
||||
|
||||
#=============================================================================
|
||||
#
|
||||
# px4_nuttx_add_romfs
|
||||
#
|
||||
# The functions creates a ROMFS filesystem for nuttx.
|
||||
#
|
||||
# Usage:
|
||||
# px4_nuttx_add_romfs(
|
||||
# OUT <out-target>
|
||||
# ROOT <in-directory>
|
||||
# EXTRAS <in-list>)
|
||||
#
|
||||
# Input:
|
||||
# ROOT : the root of the ROMFS
|
||||
# EXTRAS : list of extra files
|
||||
#
|
||||
# Output:
|
||||
# OUT : the ROMFS library target
|
||||
#
|
||||
# Example:
|
||||
# px4_nuttx_add_romfs(OUT my_romfs ROOT "ROMFS/my_board")
|
||||
#
|
||||
function(px4_nuttx_add_romfs)
|
||||
|
||||
px4_parse_function_args(
|
||||
NAME px4_nuttx_add_romfs
|
||||
ONE_VALUE OUT ROOT
|
||||
MULTI_VALUE EXTRAS
|
||||
REQUIRED OUT ROOT
|
||||
ARGN ${ARGN})
|
||||
|
||||
set(romfs_used y PARENT_SCOPE)
|
||||
set(romfs_temp_dir ${PX4_BINARY_DIR}/tmp/${ROOT})
|
||||
set(romfs_src_dir ${PX4_SOURCE_DIR}/${ROOT})
|
||||
set(romfs_autostart ${PX4_SOURCE_DIR}/Tools/px_process_airframes.py)
|
||||
set(romfs_pruner ${PX4_SOURCE_DIR}/Tools/px_romfs_pruner.py)
|
||||
set(bin_to_obj ${PX4_SOURCE_DIR}/cmake/nuttx/bin_to_obj.py)
|
||||
set(extras_dir ${CMAKE_CURRENT_BINARY_DIR}/extras)
|
||||
|
||||
file(GLOB_RECURSE romfs_src_files ${romfs_src_dir} ${romfs_src_dir}/*)
|
||||
|
||||
set(cmake_test ${PX4_SOURCE_DIR}/cmake/test/cmake_tester.py)
|
||||
|
||||
set(extras)
|
||||
foreach(extra ${EXTRAS})
|
||||
get_filename_component(file_name ${extra} NAME)
|
||||
set(file_dest ${extras_dir}/${file_name})
|
||||
add_custom_command(OUTPUT ${file_dest}
|
||||
COMMAND cmake -E copy ${extra} ${file_dest}
|
||||
DEPENDS ${extra}
|
||||
)
|
||||
list(APPEND extras ${file_dest})
|
||||
endforeach()
|
||||
add_custom_target(collect_extras DEPENDS ${extras})
|
||||
|
||||
add_custom_command(OUTPUT romfs.o
|
||||
COMMAND cmake -E remove_directory ${romfs_temp_dir}
|
||||
COMMAND cmake -E copy_directory ${romfs_src_dir} ${romfs_temp_dir}
|
||||
COMMAND cmake -E copy_directory ${extras_dir} ${romfs_temp_dir}/extras
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${romfs_autostart}
|
||||
-a ${romfs_temp_dir}/init.d
|
||||
-s ${romfs_temp_dir}/init.d/rc.autostart
|
||||
--board ${BOARD}
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${romfs_pruner}
|
||||
--folder ${romfs_temp_dir}
|
||||
--board ${BOARD}
|
||||
COMMAND ${GENROMFS} -f ${CMAKE_CURRENT_BINARY_DIR}/romfs.bin
|
||||
-d ${romfs_temp_dir} -V "NSHInitVol"
|
||||
#COMMAND cmake -E remove_directory ${romfs_temp_dir}
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${bin_to_obj}
|
||||
--ld ${LD} --c_flags ${CMAKE_C_FLAGS}
|
||||
--include_path "${PX4_SOURCE_DIR}/src/include"
|
||||
--c_compiler ${CMAKE_C_COMPILER}
|
||||
--nm ${NM} --objcopy ${OBJCOPY}
|
||||
--obj romfs.o
|
||||
--var romfs_img
|
||||
--bin romfs.bin
|
||||
DEPENDS ${romfs_src_files} ${extras}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
add_library(${OUT} STATIC romfs.o)
|
||||
set_target_properties(${OUT} PROPERTIES LINKER_LANGUAGE C)
|
||||
set(${OUT} ${${OUT}} PARENT_SCOPE)
|
||||
|
||||
endfunction()
|
||||
|
||||
#=============================================================================
|
||||
#
|
||||
# px4_os_add_flags
|
||||
@@ -550,44 +175,24 @@ function(px4_os_add_flags)
|
||||
LINK_DIRS ${LINK_DIRS}
|
||||
DEFINITIONS ${DEFINITIONS})
|
||||
|
||||
set(nuttx_export_root ${PX4_BINARY_DIR}/${BOARD}/NuttX)
|
||||
set(nuttx_export_dir ${nuttx_export_root}/nuttx/nuttx-export)
|
||||
set(added_include_dirs
|
||||
${nuttx_export_dir}/include
|
||||
${nuttx_export_dir}/include/cxx
|
||||
${nuttx_export_dir}/arch/chip
|
||||
${nuttx_export_dir}/arch/common
|
||||
${nuttx_export_dir}/arch/armv7-m
|
||||
${nuttx_export_root}/apps/include
|
||||
)
|
||||
set(added_link_dirs
|
||||
${nuttx_export_dir}/libs
|
||||
)
|
||||
set(added_definitions
|
||||
-D__PX4_NUTTX
|
||||
${PX4_BINARY_DIR}/NuttX/nuttx/arch/arm/src/armv7-m
|
||||
${PX4_BINARY_DIR}/NuttX/nuttx/arch/arm/src/chip
|
||||
${PX4_BINARY_DIR}/NuttX/nuttx/arch/arm/src/common
|
||||
${PX4_BINARY_DIR}/NuttX/nuttx/include
|
||||
${PX4_BINARY_DIR}/NuttX/nuttx/include/cxx
|
||||
${PX4_SOURCE_DIR}/platforms/nuttx/NuttX/apps/include
|
||||
)
|
||||
|
||||
if(NOT "${config_nuttx_config}" STREQUAL "bootloader")
|
||||
#set(added_exe_linker_flags)
|
||||
#set(added_link_dirs ${nuttx_export_dir}/libs)
|
||||
set(added_definitions -D__PX4_NUTTX)
|
||||
|
||||
if(NOT ${nuttx_config_type} STREQUAL "bootloader")
|
||||
list(APPEND added_definitions -D__DF_NUTTX)
|
||||
endif()
|
||||
|
||||
set(added_c_flags
|
||||
-nodefaultlibs
|
||||
-nostdlib
|
||||
-fstack-usage
|
||||
)
|
||||
set(added_cxx_flags
|
||||
-nodefaultlibs
|
||||
-nostdlib
|
||||
-fstack-usage
|
||||
)
|
||||
|
||||
set(added_optimization_flags)
|
||||
|
||||
set(added_exe_linker_flags) # none currently
|
||||
|
||||
set(instrument_flags)
|
||||
if ("${config_nuttx_hw_stack_check_${BOARD}}" STREQUAL "y")
|
||||
if("${config_nuttx_hw_stack_check_${BOARD}}" STREQUAL "y")
|
||||
set(instrument_flags
|
||||
-finstrument-functions
|
||||
-ffixed-r10
|
||||
@@ -596,39 +201,12 @@ function(px4_os_add_flags)
|
||||
list(APPEND cxx_flags ${instrument_flags})
|
||||
endif()
|
||||
|
||||
set(cpu_flags)
|
||||
if (${config_nuttx_hw} STREQUAL "m7")
|
||||
set(cpu_flags
|
||||
-mcpu=cortex-m7
|
||||
-mthumb
|
||||
-mfpu=fpv5-sp-d16
|
||||
-mfloat-abi=hard
|
||||
)
|
||||
elseif (${config_nuttx_hw} STREQUAL "m4")
|
||||
set(cpu_flags
|
||||
-mcpu=cortex-m4
|
||||
-mthumb
|
||||
-march=armv7e-m
|
||||
-mfpu=fpv4-sp-d16
|
||||
-mfloat-abi=hard
|
||||
)
|
||||
elseif (${config_nuttx_hw} STREQUAL "m3")
|
||||
set(cpu_flags
|
||||
-mcpu=cortex-m3
|
||||
-mthumb
|
||||
-march=armv7-m
|
||||
)
|
||||
endif()
|
||||
list(APPEND c_flags ${cpu_flags})
|
||||
list(APPEND cxx_flags ${cpu_flags})
|
||||
|
||||
# output
|
||||
foreach(var ${inout_vars})
|
||||
string(TOLOWER ${var} lower_var)
|
||||
set(${${var}} ${${${var}}} ${added_${lower_var}} PARENT_SCOPE)
|
||||
#message(STATUS "nuttx: set(${${var}} ${${${var}}} ${added_${lower_var}} PARENT_SCOPE)")
|
||||
endforeach()
|
||||
|
||||
endfunction()
|
||||
|
||||
#=============================================================================
|
||||
@@ -659,11 +237,29 @@ function(px4_os_prebuild_targets)
|
||||
ONE_VALUE OUT BOARD THREADS
|
||||
REQUIRED OUT BOARD
|
||||
ARGN ${ARGN})
|
||||
px4_nuttx_add_export(OUT nuttx_export_${BOARD}
|
||||
CONFIG ${BOARD}
|
||||
THREADS ${THREADS}
|
||||
DEPENDS git_nuttx)
|
||||
add_custom_target(${OUT} DEPENDS nuttx_export_${BOARD})
|
||||
|
||||
add_custom_target(${OUT} DEPENDS nuttx_context)
|
||||
|
||||
# parse nuttx config options for cmake
|
||||
file(STRINGS ${PX4_SOURCE_DIR}/nuttx-configs/${BOARD}/${nuttx_config_type}/defconfig ConfigContents)
|
||||
foreach(NameAndValue ${ConfigContents})
|
||||
# Strip leading spaces
|
||||
string(REGEX REPLACE "^[ ]+" "" NameAndValue ${NameAndValue})
|
||||
|
||||
# Find variable name
|
||||
string(REGEX MATCH "^CONFIG[^=]+" Name ${NameAndValue})
|
||||
|
||||
if (Name)
|
||||
# Find the value
|
||||
string(REPLACE "${Name}=" "" Value ${NameAndValue})
|
||||
|
||||
# remove extra quotes
|
||||
string(REPLACE "\"" "" Value ${Value})
|
||||
|
||||
# Set the variable
|
||||
set(${Name} ${Value} PARENT_SCOPE)
|
||||
endif()
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
#=============================================================================
|
||||
@@ -682,7 +278,7 @@ endfunction()
|
||||
#
|
||||
# Input:
|
||||
# HWCLASS : the class of hardware
|
||||
# CONFIG : the nuttx condufiguration to use
|
||||
# CONFIG : the nuttx configuration to use
|
||||
# ROMFS : whether or not to use incllude theROMFS
|
||||
# ROMFSROOT : If ROMFS used set the root the default is px4fmu_common
|
||||
#
|
||||
@@ -695,22 +291,42 @@ endfunction()
|
||||
function(px4_nuttx_configure)
|
||||
px4_parse_function_args(
|
||||
NAME px4_nuttx_configure
|
||||
ONE_VALUE HWCLASS CONFIG ROMFS ROMFSROOT
|
||||
REQUIRED HWCLASS CONFIG
|
||||
ONE_VALUE HWCLASS CONFIG ROMFS ROMFSROOT IO
|
||||
REQUIRED HWCLASS
|
||||
ARGN ${ARGN})
|
||||
set(config_nuttx_config ${CONFIG} PARENT_SCOPE)
|
||||
set(config_nuttx_hw ${HWCLASS} PARENT_SCOPE)
|
||||
if ("${ROMFS}" STREQUAL "y")
|
||||
set(romfs_used ${ROMFS} PARENT_SCOPE)
|
||||
|
||||
# HWCLASS -> CMAKE_SYSTEM_PROCESSOR
|
||||
if(HWCLASS STREQUAL "m7")
|
||||
set(CMAKE_SYSTEM_PROCESSOR "cortex-m7" PARENT_SCOPE)
|
||||
elseif(HWCLASS STREQUAL "m4")
|
||||
set(CMAKE_SYSTEM_PROCESSOR "cortex-m4" PARENT_SCOPE)
|
||||
elseif(HWCLASS STREQUAL "m3")
|
||||
set(CMAKE_SYSTEM_PROCESSOR "cortex-m3" PARENT_SCOPE)
|
||||
endif()
|
||||
set(CMAKE_SYSTEM_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR} CACHE INTERNAL "system processor" FORCE)
|
||||
set(CMAKE_TOOLCHAIN_FILE ${PX4_SOURCE_DIR}/cmake/toolchains/Toolchain-arm-none-eabi.cmake CACHE INTERNAL "toolchain file" FORCE)
|
||||
|
||||
# CONFIG (nsh/bootloader)
|
||||
if(CONFIG)
|
||||
set(nuttx_config_type ${CONFIG} PARENT_SCOPE)
|
||||
else()
|
||||
set(nuttx_config_type "nsh" PARENT_SCOPE)
|
||||
endif()
|
||||
|
||||
# ROMFS
|
||||
if("${ROMFS}" STREQUAL "y")
|
||||
if (NOT DEFINED ROMFSROOT)
|
||||
set(config_romfs_root px4fmu_common)
|
||||
else()
|
||||
set(config_romfs_root ${ROMFSROOT})
|
||||
endif()
|
||||
set(HASROMFS "with ROMFS on ${config_romfs_root}")
|
||||
set(config_romfs_root ${config_romfs_root} PARENT_SCOPE)
|
||||
endif()
|
||||
message(STATUS "Nuttx build for ${BOARD} on ${HWCLASS} hardware, using ${CONFIG} ${HASROMFS}")
|
||||
|
||||
# IO board placed in ROMFS
|
||||
if(config_romfs_root)
|
||||
set(config_io_board ${IO} PARENT_SCOPE)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# vim: set noet fenc=utf-8 ff=unix nowrap:
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
############################################################################
|
||||
#
|
||||
# Copyright (c) 2017 PX4 Development Team. All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in
|
||||
# the documentation and/or other materials provided with the
|
||||
# distribution.
|
||||
# 3. Neither the name PX4 nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
include(nuttx/px4_impl_nuttx)
|
||||
|
||||
message(STATUS "PX4 bootloader: ${BOARD}")
|
||||
|
||||
# Bring in common uavcan hardware identity definitions
|
||||
include(configs/uavcan_board_ident/${BOARD})
|
||||
add_definitions(
|
||||
-DHW_UAVCAN_NAME=${uavcanblid_name}
|
||||
-DHW_VERSION_MAJOR=${uavcanblid_hw_version_major}
|
||||
-DHW_VERSION_MINOR=${uavcanblid_hw_version_minor}
|
||||
)
|
||||
|
||||
include_directories(src/drivers/boards/${BOARD}/bootloader)
|
||||
|
||||
set(config_module_list
|
||||
drivers/boards/common
|
||||
drivers/boards/${BOARD}/bootloader
|
||||
drivers/bootloaders
|
||||
)
|
||||
|
||||
add_library(nuttx_startup ${PX4_SOURCE_DIR}/platforms/nuttx/NuttX/nuttx/arch/arm/src/stm32/gnu/stm32_vectors.S)
|
||||
target_compile_definitions(nuttx_startup PRIVATE -D__ASSEMBLY__)
|
||||
add_dependencies(nuttx_startup nuttx_arch_build)
|
||||
@@ -37,10 +37,7 @@
|
||||
#
|
||||
# OS Specific Functions
|
||||
#
|
||||
# * px4_posix_add_firmware
|
||||
# * px4_posix_generate_builtin_commands
|
||||
# * px4_posix_add_export
|
||||
# * px4_posix_generate_romfs
|
||||
#
|
||||
# Required OS Interface Functions
|
||||
#
|
||||
@@ -167,8 +164,10 @@ function(px4_os_add_flags)
|
||||
LINK_DIRS ${LINK_DIRS}
|
||||
DEFINITIONS ${DEFINITIONS})
|
||||
|
||||
set(added_include_dirs
|
||||
set(added_include_dirs
|
||||
src/modules/systemlib
|
||||
src/platforms/posix/include
|
||||
mavlink/include/mavlink
|
||||
)
|
||||
|
||||
# This block sets added_definitions and added_cxx_flags.
|
||||
|
||||
@@ -72,11 +72,27 @@ foreach(tool ddd)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
set(LINKER_FLAGS "-Wl,-gc-sections")
|
||||
set(CMAKE_EXE_LINKER_FLAGS ${LINKER_FLAGS})
|
||||
set(cpu_flags)
|
||||
if (CMAKE_SYSTEM_PROCESSOR STREQUAL "cortex-m7")
|
||||
set(cpu_flags "-mcpu=cortex-m7 -mthumb -mfpu=fpv5-sp-d16 -mfloat-abi=hard")
|
||||
elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "cortex-m4")
|
||||
set(cpu_flags "-mcpu=cortex-m4 -mthumb -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard")
|
||||
elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "cortex-m3")
|
||||
set(cpu_flags "-mcpu=cortex-m3 -mthumb -march=armv7-m")
|
||||
else ()
|
||||
message(FATAL_ERROR "Processor not recognised in toolchain file")
|
||||
endif()
|
||||
|
||||
set(c_flags "-fno-common -ffunction-sections -fdata-sections")
|
||||
set(cxx_flags "-fno-common -ffunction-sections -fdata-sections")
|
||||
|
||||
set(CMAKE_C_FLAGS "${c_flags} ${cpu_flags}" CACHE INTERNAL "" FORCE)
|
||||
set(CMAKE_CXX_FLAGS "${cxx_flags} ${cpu_flags}" CACHE INTERNAL "" FORCE)
|
||||
set(CMAKE_ASM_FLAGS "${cpu_flags} -D__ASSEMBLY__ " CACHE INTERNAL "" FORCE)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${cpu_flags} -nodefaultlibs -nostdlib -Wl,--warn-common,--gc-sections" CACHE INTERNAL "" FORCE)
|
||||
|
||||
# where is the target environment
|
||||
set(CMAKE_FIND_ROOT_PATH get_file_component(${C_COMPILER} PATH))
|
||||
set(CMAKE_FIND_ROOT_PATH get_file_component(${C_COMPILER} PATH))
|
||||
|
||||
# search for programs in the build host directories
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
|
||||
Reference in New Issue
Block a user