mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-28 19:32:36 +08:00
Initial attempt to make px4_add_board obsolute
This commit is contained in:
committed by
Daniel Agar
parent
7aa28ba9cd
commit
57593cc56a
@@ -3,13 +3,164 @@
|
|||||||
|
|
||||||
mainmenu "PX4 Firmware Configuration"
|
mainmenu "PX4 Firmware Configuration"
|
||||||
|
|
||||||
comment "Platform: $(PLATFORM)"
|
|
||||||
comment "Vendor: $(VENDOR)"
|
comment "Vendor: $(VENDOR)"
|
||||||
comment "Model: $(MODEL)"
|
comment "Model: $(MODEL)"
|
||||||
comment "Label: $(LABEL)"
|
comment "Label: $(LABEL)"
|
||||||
comment "Toolchain: $(TOOLCHAIN)"
|
|
||||||
comment "Architecture: $(ARCHITECTURE)"
|
choice
|
||||||
comment "Romfsroot: $(ROMFSROOT)"
|
prompt "Platform"
|
||||||
|
default PLATFORM_NUTTX
|
||||||
|
config PLATFORM_NUTTX
|
||||||
|
bool "nuttx"
|
||||||
|
config PLATFORM_POSIX
|
||||||
|
bool "posix"
|
||||||
|
config PLATFORM_QURT
|
||||||
|
bool "qurt"
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
config BOARD_PLATFORM
|
||||||
|
string
|
||||||
|
default "nuttx" if PLATFORM_NUTTX
|
||||||
|
default "posix" if PLATFORM_POSIX
|
||||||
|
default "qurt" if PLATFORM_QURT
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "Toolchain"
|
||||||
|
default TOOLCHAIN_ARM_NONE_EABI
|
||||||
|
config TOOLCHAIN_ARM_NONE_EABI
|
||||||
|
bool "arm-none-eabi"
|
||||||
|
config TOOLCHAIN_RISV64
|
||||||
|
bool "riscv64-unknown-elf"
|
||||||
|
help
|
||||||
|
cmake toolchain
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
config BOARD_TOOLCHAIN
|
||||||
|
string
|
||||||
|
default "arm-none-eabi" if TOOLCHAIN_ARM_NONE_EABI
|
||||||
|
default "riscv64-unknown-elf" if TOOLCHAIN_RISV64
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "Architecture"
|
||||||
|
config ARCHITECTURE_CORTEX_M3
|
||||||
|
bool "cortex-m3"
|
||||||
|
config ARCHITECTURE_CORTEX_M4
|
||||||
|
bool "cortex-m4"
|
||||||
|
config ARCHITECTURE_CORTEX_M7
|
||||||
|
bool "cortex-m7"
|
||||||
|
config ARCHITECTURE_CORTEX_A8
|
||||||
|
bool "cortex-a8"
|
||||||
|
config ARCHITECTURE_CORTEX_A53
|
||||||
|
bool "cortex-a53"
|
||||||
|
help
|
||||||
|
name of the CPU CMake is building for (used by the toolchain)
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
config BOARD_ARCHITECTURE
|
||||||
|
string
|
||||||
|
default "cortex-m3" if ARCHITECTURE_CORTEX_M3
|
||||||
|
default "cortex-m4" if ARCHITECTURE_CORTEX_M4
|
||||||
|
default "cortex-m7" if ARCHITECTURE_CORTEX_M7
|
||||||
|
default "cortex-a8" if ARCHITECTURE_CORTEX_A8
|
||||||
|
default "cortex-a53" if ARCHITECTURE_CORTEX_A53
|
||||||
|
|
||||||
|
config BOARD_ROMFSROOT
|
||||||
|
string "ROMFSROOT"
|
||||||
|
default "px4fmu_common"
|
||||||
|
help
|
||||||
|
relative path to the ROMFS root directory
|
||||||
|
|
||||||
|
config BOARD_BUILD_BOOTLOADER
|
||||||
|
bool "Enable bootloader"
|
||||||
|
help
|
||||||
|
flag to enable building and including the bootloader config
|
||||||
|
|
||||||
|
config BOARD_IO
|
||||||
|
string "IO board name"
|
||||||
|
help
|
||||||
|
name of IO board to be built and included in the ROMFS (requires a valid ROMFSROOT)
|
||||||
|
|
||||||
|
config BOARD_CONSTRAINED_FLASH
|
||||||
|
bool "Contrained flash"
|
||||||
|
help
|
||||||
|
flag to enable constrained flash options (eg limit init script status text)
|
||||||
|
|
||||||
|
if BOARD_CONSTRAINED_FLASH
|
||||||
|
|
||||||
|
config BOARD_NO_HELP
|
||||||
|
bool "No help"
|
||||||
|
help
|
||||||
|
optional condition flag to disable help text on constrained flash systems
|
||||||
|
|
||||||
|
endif #BOARD_CONSTRAINED_FLASH
|
||||||
|
|
||||||
|
config BOARD_CONSTRAINED_MEMORY
|
||||||
|
bool "Contrained memory"
|
||||||
|
help
|
||||||
|
flag to enable constrained memory options (eg limit maximum number of uORB publications)
|
||||||
|
|
||||||
|
config BOARD_EXTERNAL_METADATA
|
||||||
|
bool "External metadata"
|
||||||
|
help
|
||||||
|
flag to exclude metadata to reduce flash
|
||||||
|
|
||||||
|
config BOARD_TESTING
|
||||||
|
bool "Testing"
|
||||||
|
help
|
||||||
|
flag to enable automatic inclusion of PX4 testing modules
|
||||||
|
|
||||||
|
config BOARD_LINKER_PREFIX
|
||||||
|
bool "PX4 board linker prefix"
|
||||||
|
help
|
||||||
|
optional to prefix on the Linker script.
|
||||||
|
|
||||||
|
config BOARD_ETHERNET
|
||||||
|
bool "Ethernet"
|
||||||
|
help
|
||||||
|
flag to indicate that ethernet is enabled
|
||||||
|
|
||||||
|
config BOARD_CRYPTO
|
||||||
|
string "Crypto"
|
||||||
|
help
|
||||||
|
Crypto implementation selection
|
||||||
|
|
||||||
|
config BOARD_KEYSTORE
|
||||||
|
string "Keystore"
|
||||||
|
help
|
||||||
|
Keystore implememntation selection
|
||||||
|
|
||||||
|
menu "Serial ports"
|
||||||
|
|
||||||
|
config BOARD_SERIAL_GPS1
|
||||||
|
string "GPS1 tty port"
|
||||||
|
|
||||||
|
config BOARD_SERIAL_GPS2
|
||||||
|
string "GPS2 tty port"
|
||||||
|
|
||||||
|
config BOARD_SERIAL_GPS3
|
||||||
|
string "GPS3 tty port"
|
||||||
|
|
||||||
|
config BOARD_SERIAL_GPS4
|
||||||
|
string "GPS4 tty port"
|
||||||
|
|
||||||
|
config BOARD_SERIAL_GPS5
|
||||||
|
string "GPS5 tty port"
|
||||||
|
|
||||||
|
config BOARD_SERIAL_TEL1
|
||||||
|
string "TEL1 tty port"
|
||||||
|
|
||||||
|
config BOARD_SERIAL_TEL2
|
||||||
|
string "TEL2 tty port"
|
||||||
|
|
||||||
|
config BOARD_SERIAL_TEL3
|
||||||
|
string "TEL3 tty port"
|
||||||
|
|
||||||
|
config BOARD_SERIAL_TEL4
|
||||||
|
string "TEL4 tty port"
|
||||||
|
|
||||||
|
config BOARD_SERIAL_TEL5
|
||||||
|
string "TEL5 tty port"
|
||||||
|
endmenu
|
||||||
|
|
||||||
menu "drivers"
|
menu "drivers"
|
||||||
source "src/drivers/Kconfig"
|
source "src/drivers/Kconfig"
|
||||||
|
|||||||
@@ -1,12 +1,4 @@
|
|||||||
|
|
||||||
px4_add_board(
|
px4_add_board(
|
||||||
PLATFORM nuttx
|
PLATFORM nuttx
|
||||||
TOOLCHAIN arm-none-eabi
|
|
||||||
ARCHITECTURE cortex-m4
|
|
||||||
CONSTRAINED_MEMORY
|
|
||||||
ROMFSROOT px4fmu_common
|
|
||||||
SERIAL_PORTS
|
|
||||||
GPS1:/dev/ttyS3
|
|
||||||
TEL1:/dev/ttyS4
|
|
||||||
TEL2:/dev/ttyS1
|
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
CONFIG_ARCHITECTURE_CORTEX_M4=y
|
||||||
|
CONFIG_BOARD_BUILD_BOOTLOADER=y
|
||||||
|
CONFIG_BOARD_CONSTRAINED_MEMORY=y
|
||||||
|
CONFIG_BOARD_SERIAL_GPS1="/dev/ttyS3"
|
||||||
|
CONFIG_BOARD_SERIAL_TEL1="/dev/ttyS4"
|
||||||
|
CONFIG_BOARD_SERIAL_TEL2="/dev/ttyS1"
|
||||||
CONFIG_DRIVERS_ADC_ADS1115=y
|
CONFIG_DRIVERS_ADC_ADS1115=y
|
||||||
CONFIG_DRIVERS_ADC_BOARD_ADC=y
|
CONFIG_DRIVERS_ADC_BOARD_ADC=y
|
||||||
CONFIG_DRIVERS_BAROMETER=y
|
CONFIG_DRIVERS_BAROMETER=y
|
||||||
@@ -35,7 +41,7 @@ CONFIG_DRIVERS_SMART_BATTERY_BATMON=y
|
|||||||
CONFIG_DRIVERS_TELEMETRY=y
|
CONFIG_DRIVERS_TELEMETRY=y
|
||||||
CONFIG_DRIVERS_TONE_ALARM=y
|
CONFIG_DRIVERS_TONE_ALARM=y
|
||||||
CONFIG_DRIVERS_UAVCAN=y
|
CONFIG_DRIVERS_UAVCAN=y
|
||||||
CONFIG_UAVCAN_INTERFACES=2
|
CONFIG_BOARD_UAVCAN_INTERFACES=2
|
||||||
CONFIG_MODULES_AIRSPEED_SELECTOR=y
|
CONFIG_MODULES_AIRSPEED_SELECTOR=y
|
||||||
CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q=y
|
CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q=y
|
||||||
CONFIG_MODULES_BATTERY_STATUS=y
|
CONFIG_MODULES_BATTERY_STATUS=y
|
||||||
+160
-17
@@ -1,4 +1,4 @@
|
|||||||
set(BOARD_DEFCONFIG ${PX4_BOARD_DIR}/${PX4_BOARD_LABEL}-boardconfig CACHE FILEPATH "path to defconfig" FORCE)
|
set(BOARD_DEFCONFIG ${PX4_BOARD_DIR}/${PX4_BOARD_LABEL}.px4board CACHE FILEPATH "path to defconfig" FORCE)
|
||||||
set(BOARD_CONFIG ${PX4_BINARY_DIR}/boardconfig CACHE FILEPATH "path to config" FORCE)
|
set(BOARD_CONFIG ${PX4_BINARY_DIR}/boardconfig CACHE FILEPATH "path to config" FORCE)
|
||||||
|
|
||||||
find_program(MENUCONFIG_PATH menuconfig)
|
find_program(MENUCONFIG_PATH menuconfig)
|
||||||
@@ -78,11 +78,21 @@ if(EXISTS ${BOARD_DEFCONFIG})
|
|||||||
string(REPLACE "\"" "" Value ${Value})
|
string(REPLACE "\"" "" Value ${Value})
|
||||||
|
|
||||||
# Set the variable
|
# Set the variable
|
||||||
#message(STATUS "${Name} ${Value}")
|
|
||||||
set(${Name} ${Value} CACHE INTERNAL "BOARD DEFCONFIG: ${Name}" FORCE)
|
set(${Name} ${Value} CACHE INTERNAL "BOARD DEFCONFIG: ${Name}" FORCE)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Find variable name
|
||||||
|
string(REGEX MATCH "^CONFIG_BOARD_" Board ${NameAndValue})
|
||||||
|
|
||||||
|
if(Board)
|
||||||
|
string(REPLACE "CONFIG_BOARD_" "" ConfigKey ${Name})
|
||||||
|
if(Value)
|
||||||
|
set(${ConfigKey} ${Value})
|
||||||
|
message(STATUS "${ConfigKey} ${Value}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
# Find variable name
|
# Find variable name
|
||||||
string(REGEX MATCH "^CONFIG_DRIVERS[^=]+" Drivers ${NameAndValue})
|
string(REGEX MATCH "^CONFIG_DRIVERS[^=]+" Drivers ${NameAndValue})
|
||||||
|
|
||||||
@@ -91,13 +101,13 @@ if(EXISTS ${BOARD_DEFCONFIG})
|
|||||||
string(REPLACE "${Name}=" "" Value ${NameAndValue})
|
string(REPLACE "${Name}=" "" Value ${NameAndValue})
|
||||||
string(REPLACE "CONFIG_DRIVERS_" "" driver ${Name})
|
string(REPLACE "CONFIG_DRIVERS_" "" driver ${Name})
|
||||||
string(TOLOWER ${driver} driver)
|
string(TOLOWER ${driver} driver)
|
||||||
|
|
||||||
string(REPLACE "_" "/" driver_path ${driver})
|
string(REPLACE "_" "/" driver_path ${driver})
|
||||||
|
|
||||||
# Pattern 1 XXX / XXX_XXX
|
# Pattern 1 XXX / XXX_XXX
|
||||||
string(REGEX REPLACE "(^[a-z]+)_([a-z]+_[a-z0-9]+).*$" "\\1" driver_p1_folder ${driver})
|
string(REGEX REPLACE "(^[a-z]+)_([a-z]+_[a-z0-9]+).*$" "\\1" driver_p1_folder ${driver})
|
||||||
string(REGEX REPLACE "(^[a-z]+)_([a-z]+_[a-z0-9]+).*$" "\\2" driver_p1_subfolder ${driver})
|
string(REGEX REPLACE "(^[a-z]+)_([a-z]+_[a-z0-9]+).*$" "\\2" driver_p1_subfolder ${driver})
|
||||||
|
|
||||||
# Pattern 2 XXX_XXX / XXXXXX
|
# Pattern 2 XXX_XXX / XXXXXX
|
||||||
string(REGEX REPLACE "(^[a-z]+_[a-z]+)_([a-z0-9]+).*$" "\\1" driver_p2_folder ${driver})
|
string(REGEX REPLACE "(^[a-z]+_[a-z]+)_([a-z0-9]+).*$" "\\1" driver_p2_folder ${driver})
|
||||||
string(REGEX REPLACE "(^[a-z]+_[a-z]+)_([a-z0-9]+).*$" "\\2" driver_p2_subfolder ${driver})
|
string(REGEX REPLACE "(^[a-z]+_[a-z]+)_([a-z0-9]+).*$" "\\2" driver_p2_subfolder ${driver})
|
||||||
@@ -114,7 +124,7 @@ if(EXISTS ${BOARD_DEFCONFIG})
|
|||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "Couldn't find path for ${driver}")
|
message(FATAL_ERROR "Couldn't find path for ${driver}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find variable name
|
# Find variable name
|
||||||
@@ -125,7 +135,7 @@ if(EXISTS ${BOARD_DEFCONFIG})
|
|||||||
string(REPLACE "${Name}=" "" Value ${NameAndValue})
|
string(REPLACE "${Name}=" "" Value ${NameAndValue})
|
||||||
string(REPLACE "CONFIG_MODULES_" "" module ${Name})
|
string(REPLACE "CONFIG_MODULES_" "" module ${Name})
|
||||||
string(TOLOWER ${module} module)
|
string(TOLOWER ${module} module)
|
||||||
|
|
||||||
list(APPEND config_module_list modules/${module})
|
list(APPEND config_module_list modules/${module})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -137,7 +147,7 @@ if(EXISTS ${BOARD_DEFCONFIG})
|
|||||||
string(REPLACE "${Name}=" "" Value ${NameAndValue})
|
string(REPLACE "${Name}=" "" Value ${NameAndValue})
|
||||||
string(REPLACE "CONFIG_SYSTEMCMDS_" "" systemcmd ${Name})
|
string(REPLACE "CONFIG_SYSTEMCMDS_" "" systemcmd ${Name})
|
||||||
string(TOLOWER ${systemcmd} systemcmd)
|
string(TOLOWER ${systemcmd} systemcmd)
|
||||||
|
|
||||||
list(APPEND config_module_list systemcmds/${systemcmd})
|
list(APPEND config_module_list systemcmds/${systemcmd})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -149,20 +159,153 @@ if(EXISTS ${BOARD_DEFCONFIG})
|
|||||||
string(REPLACE "${Name}=" "" Value ${NameAndValue})
|
string(REPLACE "${Name}=" "" Value ${NameAndValue})
|
||||||
string(REPLACE "CONFIG_EXAMPLES_" "" example ${Name})
|
string(REPLACE "CONFIG_EXAMPLES_" "" example ${Name})
|
||||||
string(TOLOWER ${example} example)
|
string(TOLOWER ${example} example)
|
||||||
|
|
||||||
list(APPEND config_module_list examples/${example})
|
list(APPEND config_module_list examples/${example})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find variable name
|
endforeach()
|
||||||
string(REGEX MATCH "^CONFIG_UAVCAN_INTERFACES" UAVCAN_INTERFACES ${NameAndValue})
|
|
||||||
|
|
||||||
# Temporary located here to maintain binary compatibility, have to be removed later
|
if(PLATFORM)
|
||||||
if(UAVCAN_INTERFACES)
|
# set OS, and append specific platform module path
|
||||||
# Find the value
|
set(PX4_PLATFORM ${PLATFORM} CACHE STRING "PX4 board OS" FORCE)
|
||||||
string(REPLACE "${Name}=" "" Value ${NameAndValue})
|
list(APPEND CMAKE_MODULE_PATH ${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/cmake)
|
||||||
|
|
||||||
set(config_uavcan_num_ifaces ${Value} CACHE INTERNAL "UAVCAN interfaces" FORCE)
|
# platform-specific include path
|
||||||
|
include_directories(${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/src/px4/common/include)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(ARCHITECTURE)
|
||||||
|
set(CMAKE_SYSTEM_PROCESSOR ${ARCHITECTURE} CACHE INTERNAL "system processor" FORCE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(TOOLCHAIN)
|
||||||
|
set(CMAKE_TOOLCHAIN_FILE Toolchain-${TOOLCHAIN} CACHE INTERNAL "toolchain file" FORCE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(romfs_extra_files)
|
||||||
|
set(config_romfs_extra_dependencies)
|
||||||
|
# additional embedded metadata
|
||||||
|
if (NOT CONSTRAINED_FLASH AND NOT EXTERNAL_METADATA AND NOT ${PX4_BOARD_LABEL} STREQUAL "test")
|
||||||
|
list(APPEND romfs_extra_files
|
||||||
|
${PX4_BINARY_DIR}/parameters.json.xz
|
||||||
|
${PX4_BINARY_DIR}/events/all_events.json.xz)
|
||||||
|
list(APPEND romfs_extra_dependencies
|
||||||
|
parameters_xml
|
||||||
|
events_json)
|
||||||
|
endif()
|
||||||
|
list(APPEND romfs_extra_files ${PX4_BINARY_DIR}/component_general.json.xz)
|
||||||
|
list(APPEND romfs_extra_dependencies component_general_json)
|
||||||
|
set(config_romfs_extra_files ${romfs_extra_files} CACHE INTERNAL "extra ROMFS files" FORCE)
|
||||||
|
set(config_romfs_extra_dependencies ${romfs_extra_dependencies} CACHE INTERNAL "extra ROMFS deps" FORCE)
|
||||||
|
|
||||||
|
if(SERIAL_PORTS)
|
||||||
|
set(board_serial_ports ${SERIAL_PORTS} PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Serial ports
|
||||||
|
set(board_serial_ports)
|
||||||
|
if(SERIAL_GPS1)
|
||||||
|
list(APPEND board_serial_ports GPS1:${SERIAL_GPS1})
|
||||||
|
endif()
|
||||||
|
if(SERIAL_GPS2)
|
||||||
|
list(APPEND board_serial_ports GPS2:${SERIAL_GPS2})
|
||||||
|
endif()
|
||||||
|
if(SERIAL_GPS3)
|
||||||
|
list(APPEND board_serial_ports GPS3:${SERIAL_GPS3})
|
||||||
|
endif()
|
||||||
|
if(SERIAL_GPS4)
|
||||||
|
list(APPEND board_serial_ports GPS4:${SERIAL_GPS4})
|
||||||
|
endif()
|
||||||
|
if(SERIAL_GPS5)
|
||||||
|
list(APPEND board_serial_ports GPS5:${SERIAL_GPS5})
|
||||||
|
endif()
|
||||||
|
if(SERIAL_TEL1)
|
||||||
|
list(APPEND board_serial_ports TEL1:${SERIAL_TEL1})
|
||||||
|
endif()
|
||||||
|
if(SERIAL_TEL2)
|
||||||
|
list(APPEND board_serial_ports TEL2:${SERIAL_TEL2})
|
||||||
|
endif()
|
||||||
|
if(SERIAL_TEL3)
|
||||||
|
list(APPEND board_serial_ports TEL3:${SERIAL_TEL3})
|
||||||
|
endif()
|
||||||
|
if(SERIAL_TEL4)
|
||||||
|
list(APPEND board_serial_ports TEL4:${SERIAL_TEL4})
|
||||||
|
endif()
|
||||||
|
if(SERIAL_TEL5)
|
||||||
|
list(APPEND board_serial_ports TEL5:${SERIAL_TEL5})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
# ROMFS
|
||||||
|
if(ROMFSROOT)
|
||||||
|
set(config_romfs_root ${ROMFSROOT} CACHE INTERNAL "ROMFS root" FORCE)
|
||||||
|
|
||||||
|
if(BUILD_BOOTLOADER)
|
||||||
|
set(config_build_bootloader "1" CACHE INTERNAL "build bootloader" FORCE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
endforeach()
|
# IO board (placed in ROMFS)
|
||||||
|
if(IO)
|
||||||
|
set(config_io_board ${IO} CACHE INTERNAL "IO" FORCE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(UAVCAN_PERIPHERALS)
|
||||||
|
set(config_uavcan_peripheral_firmware ${UAVCAN_PERIPHERALS} CACHE INTERNAL "UAVCAN peripheral firmware" FORCE)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(UAVCAN_INTERFACES)
|
||||||
|
set(config_uavcan_num_ifaces ${UAVCAN_INTERFACES} CACHE INTERNAL "UAVCAN interfaces" FORCE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(UAVCAN_TIMER_OVERRIDE)
|
||||||
|
set(config_uavcan_timer_override ${UAVCAN_TIMER_OVERRIDE} CACHE INTERNAL "UAVCAN TIMER OVERRIDE" FORCE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# OPTIONS
|
||||||
|
|
||||||
|
if(CONSTRAINED_FLASH)
|
||||||
|
set(px4_constrained_flash_build "1" CACHE INTERNAL "constrained flash build" FORCE)
|
||||||
|
add_definitions(-DCONSTRAINED_FLASH)
|
||||||
|
if (NO_HELP)
|
||||||
|
add_definitions(-DCONSTRAINED_FLASH_NO_HELP="https://docs.px4.io/master/en/modules/modules_main.html")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONSTRAINED_MEMORY)
|
||||||
|
set(px4_constrained_memory_build "1" CACHE INTERNAL "constrained memory build" FORCE)
|
||||||
|
add_definitions(-DCONSTRAINED_MEMORY)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(TESTING)
|
||||||
|
set(PX4_TESTING "1" CACHE INTERNAL "testing enabled" FORCE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(ETHERNET)
|
||||||
|
set(PX4_ETHERNET "1" CACHE INTERNAL "ethernet enabled" FORCE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CRYPTO)
|
||||||
|
set(PX4_CRYPTO ${CRYPTO} CACHE STRING "PX4 crypto implementation" FORCE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(KEYSTORE)
|
||||||
|
set(PX4_KEYSTORE ${KEYSTORE} CACHE STRING "PX4 keystore implementation" FORCE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(LINKER_PREFIX)
|
||||||
|
set(PX4_BOARD_LINKER_PREFIX ${LINKER_PREFIX} CACHE STRING "PX4 board linker prefix" FORCE)
|
||||||
|
else()
|
||||||
|
set(PX4_BOARD_LINKER_PREFIX "" CACHE STRING "PX4 board linker prefix" FORCE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
include(px4_impl_os)
|
||||||
|
px4_os_prebuild_targets(OUT prebuild_targets BOARD ${PX4_BOARD})
|
||||||
|
|
||||||
|
# add board config directory src to build modules
|
||||||
|
file(RELATIVE_PATH board_support_src_rel ${PX4_SOURCE_DIR}/src ${PX4_BOARD_DIR})
|
||||||
|
list(APPEND config_module_list ${board_support_src_rel}/src)
|
||||||
|
|
||||||
|
set(config_module_list ${config_module_list})
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@@ -191,141 +191,5 @@ function(px4_add_board)
|
|||||||
|
|
||||||
set(PX4_CONFIG "${PX4_BOARD_VENDOR}_${PX4_BOARD_MODEL}_${PX4_BOARD_LABEL}" CACHE STRING "PX4 config" FORCE)
|
set(PX4_CONFIG "${PX4_BOARD_VENDOR}_${PX4_BOARD_MODEL}_${PX4_BOARD_LABEL}" CACHE STRING "PX4 config" FORCE)
|
||||||
|
|
||||||
# set OS, and append specific platform module path
|
|
||||||
set(PX4_PLATFORM ${PLATFORM} CACHE STRING "PX4 board OS" FORCE)
|
|
||||||
list(APPEND CMAKE_MODULE_PATH ${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/cmake)
|
|
||||||
|
|
||||||
# platform-specific include path
|
|
||||||
include_directories(${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/src/px4/common/include)
|
|
||||||
|
|
||||||
if(ARCHITECTURE)
|
|
||||||
set(CMAKE_SYSTEM_PROCESSOR ${ARCHITECTURE} CACHE INTERNAL "system processor" FORCE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(TOOLCHAIN)
|
|
||||||
set(CMAKE_TOOLCHAIN_FILE Toolchain-${TOOLCHAIN} CACHE INTERNAL "toolchain file" FORCE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(romfs_extra_files)
|
|
||||||
set(config_romfs_extra_dependencies)
|
|
||||||
# additional embedded metadata
|
|
||||||
if (NOT CONSTRAINED_FLASH AND NOT EXTERNAL_METADATA AND NOT ${PX4_BOARD_LABEL} STREQUAL "test")
|
|
||||||
list(APPEND romfs_extra_files
|
|
||||||
${PX4_BINARY_DIR}/parameters.json.xz
|
|
||||||
${PX4_BINARY_DIR}/events/all_events.json.xz)
|
|
||||||
list(APPEND romfs_extra_dependencies
|
|
||||||
parameters_xml
|
|
||||||
events_json)
|
|
||||||
endif()
|
|
||||||
list(APPEND romfs_extra_files ${PX4_BINARY_DIR}/component_general.json.xz)
|
|
||||||
list(APPEND romfs_extra_dependencies component_general_json)
|
|
||||||
set(config_romfs_extra_files ${romfs_extra_files} CACHE INTERNAL "extra ROMFS files" FORCE)
|
|
||||||
set(config_romfs_extra_dependencies ${romfs_extra_dependencies} CACHE INTERNAL "extra ROMFS deps" FORCE)
|
|
||||||
|
|
||||||
if(SERIAL_PORTS)
|
|
||||||
set(board_serial_ports ${SERIAL_PORTS} PARENT_SCOPE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# ROMFS
|
|
||||||
if(ROMFSROOT)
|
|
||||||
set(config_romfs_root ${ROMFSROOT} CACHE INTERNAL "ROMFS root" FORCE)
|
|
||||||
|
|
||||||
if(BUILD_BOOTLOADER)
|
|
||||||
set(config_build_bootloader "1" CACHE INTERNAL "build bootloader" FORCE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# IO board (placed in ROMFS)
|
|
||||||
if(IO)
|
|
||||||
set(config_io_board ${IO} CACHE INTERNAL "IO" FORCE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(UAVCAN_PERIPHERALS)
|
|
||||||
set(config_uavcan_peripheral_firmware ${UAVCAN_PERIPHERALS} CACHE INTERNAL "UAVCAN peripheral firmware" FORCE)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(UAVCAN_INTERFACES)
|
|
||||||
set(config_uavcan_num_ifaces ${UAVCAN_INTERFACES} CACHE INTERNAL "UAVCAN interfaces" FORCE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(UAVCAN_TIMER_OVERRIDE)
|
|
||||||
set(config_uavcan_timer_override ${UAVCAN_TIMER_OVERRIDE} CACHE INTERNAL "UAVCAN TIMER OVERRIDE" FORCE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# OPTIONS
|
|
||||||
|
|
||||||
if(CONSTRAINED_FLASH)
|
|
||||||
set(px4_constrained_flash_build "1" CACHE INTERNAL "constrained flash build" FORCE)
|
|
||||||
add_definitions(-DCONSTRAINED_FLASH)
|
|
||||||
if (NO_HELP)
|
|
||||||
add_definitions(-DCONSTRAINED_FLASH_NO_HELP="https://docs.px4.io/master/en/modules/modules_main.html")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CONSTRAINED_MEMORY)
|
|
||||||
set(px4_constrained_memory_build "1" CACHE INTERNAL "constrained memory build" FORCE)
|
|
||||||
add_definitions(-DCONSTRAINED_MEMORY)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(TESTING)
|
|
||||||
set(PX4_TESTING "1" CACHE INTERNAL "testing enabled" FORCE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(ETHERNET)
|
|
||||||
set(PX4_ETHERNET "1" CACHE INTERNAL "ethernet enabled" FORCE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CRYPTO)
|
|
||||||
set(PX4_CRYPTO ${CRYPTO} CACHE STRING "PX4 crypto implementation" FORCE)
|
|
||||||
add_definitions(-DPX4_CRYPTO)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(KEYSTORE)
|
|
||||||
set(PX4_KEYSTORE ${KEYSTORE} CACHE STRING "PX4 keystore implementation" FORCE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(LINKER_PREFIX)
|
|
||||||
set(PX4_BOARD_LINKER_PREFIX ${LINKER_PREFIX} CACHE STRING "PX4 board linker prefix" FORCE)
|
|
||||||
else()
|
|
||||||
set(PX4_BOARD_LINKER_PREFIX "" CACHE STRING "PX4 board linker prefix" FORCE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
include(px4_impl_os)
|
|
||||||
px4_os_prebuild_targets(OUT prebuild_targets BOARD ${PX4_BOARD})
|
|
||||||
|
|
||||||
|
|
||||||
###########################################################################
|
|
||||||
# Modules (includes drivers, examples, modules, systemcmds)
|
|
||||||
set(config_module_list)
|
|
||||||
|
|
||||||
if(DRIVERS)
|
|
||||||
foreach(driver ${DRIVERS})
|
|
||||||
list(APPEND config_module_list drivers/${driver})
|
|
||||||
endforeach()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(MODULES)
|
|
||||||
foreach(module ${MODULES})
|
|
||||||
list(APPEND config_module_list modules/${module})
|
|
||||||
endforeach()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(SYSTEMCMDS)
|
|
||||||
foreach(systemcmd ${SYSTEMCMDS})
|
|
||||||
list(APPEND config_module_list systemcmds/${systemcmd})
|
|
||||||
endforeach()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(EXAMPLES)
|
|
||||||
foreach(example ${EXAMPLES})
|
|
||||||
list(APPEND config_module_list examples/${example})
|
|
||||||
endforeach()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# add board config directory src to build modules
|
|
||||||
file(RELATIVE_PATH board_support_src_rel ${PX4_SOURCE_DIR}/src ${PX4_BOARD_DIR})
|
|
||||||
list(APPEND config_module_list ${board_support_src_rel}/src)
|
|
||||||
|
|
||||||
set(config_module_list ${config_module_list} PARENT_SCOPE)
|
|
||||||
|
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|||||||
@@ -5,9 +5,18 @@ menuconfig DRIVERS_UAVCAN
|
|||||||
Enable support for uavcan
|
Enable support for uavcan
|
||||||
|
|
||||||
if DRIVERS_UAVCAN
|
if DRIVERS_UAVCAN
|
||||||
menuconfig UAVCAN_INTERFACES
|
menuconfig BOARD_UAVCAN_INTERFACES
|
||||||
int "UAVCANv0 interface count"
|
int "UAVCANv0 interface count"
|
||||||
default 0
|
default 0
|
||||||
---help---
|
---help---
|
||||||
Interface count for UAVCANv0
|
Interface count for UAVCANv0
|
||||||
|
|
||||||
|
menuconfig BOARD_UAVCAN_PERIPHERALS
|
||||||
|
string "UAVCAN peripheral firmware"
|
||||||
|
help
|
||||||
|
list of UAVCAN peripheral firmware to build and embed
|
||||||
|
|
||||||
|
menuconfig BOARD_UAVCAN_TIMER_OVERRIDE
|
||||||
|
bool "UAVCAN timer override"
|
||||||
|
|
||||||
endif #DRIVERS_UAVCAN
|
endif #DRIVERS_UAVCAN
|
||||||
|
|||||||
Reference in New Issue
Block a user