cmake px4_add_board document and cleanup

This commit is contained in:
Daniel Agar 2018-11-23 10:55:18 -05:00 committed by David Sidrane
parent fa0fe4cac6
commit c258534aa5
38 changed files with 141 additions and 98 deletions

View File

@ -4,7 +4,7 @@ px4_add_board(
MODEL ocpoc
LABEL ubuntu
PLATFORM posix
ARCH cortex-a9
PROCESSOR cortex-a9
TOOLCHAIN arm-linux-gnueabihf
TESTING

View File

@ -4,8 +4,7 @@ px4_add_board(
VENDOR airmind
MODEL mindpx-v2
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
ROMFS
PROCESSOR cortex-m4
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 1

View File

@ -3,8 +3,8 @@ px4_add_board(
PLATFORM nuttx
VENDOR atmel
MODEL same70xplained
ARCH cortex-m7
ROMFS
TOOLCHAIN arm-none-eabi
PROCESSOR cortex-m7
ROMFSROOT px4fmu_common
TESTING
#UAVCAN_INTERFACES 1

View File

@ -41,7 +41,7 @@ px4_add_board(
VENDOR auav
MODEL esc35-v1
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
PROCESSOR cortex-m4
DRIVERS
bootloaders

View File

@ -3,10 +3,8 @@ px4_add_board(
PLATFORM nuttx
VENDOR auav
MODEL x21
LABEL default
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
ROMFS
PROCESSOR cortex-m4
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING

View File

@ -3,8 +3,8 @@ px4_add_board(
PLATFORM nuttx
VENDOR av
MODEL x-v1
ARCH cortex-m7
ROMFS
TOOLCHAIN arm-none-eabi
PROCESSOR cortex-m7
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 2

View File

@ -4,7 +4,7 @@ px4_add_board(
MODEL blue
LABEL cross
PLATFORM posix
ARCH cortex-a8
PROCESSOR cortex-a8
TOOLCHAIN arm-linux-gnueabihf
TESTING

View File

@ -4,8 +4,7 @@ px4_add_board(
VENDOR bitcraze
MODEL crazyflie
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
ROMFS
PROCESSOR cortex-m4
ROMFSROOT px4fmu_common
DRIVERS

View File

@ -4,7 +4,7 @@ px4_add_board(
MODEL navio2
LABEL cross
PLATFORM posix
ARCH cortex-a53
PROCESSOR cortex-a53
TOOLCHAIN arm-linux-gnueabihf
TESTING

View File

@ -4,8 +4,7 @@ px4_add_board(
VENDOR gumstix
MODEL aerocore2
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
ROMFS
PROCESSOR cortex-m4
ROMFSROOT px4fmu_common
UAVCAN_INTERFACES 1

View File

@ -4,8 +4,7 @@ px4_add_board(
VENDOR intel
MODEL aerofc-v1
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
ROMFS
PROCESSOR cortex-m4
ROMFSROOT px4fmu_common
SERIAL_PORTS

View File

@ -5,8 +5,7 @@ px4_add_board(
MODEL aerofc-v1
LABEL rtsp
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
ROMFS
PROCESSOR cortex-m4
ROMFSROOT px4fmu_common
SERIAL_PORTS

View File

@ -4,8 +4,7 @@ px4_add_board(
VENDOR nxp
MODEL hlite-v3
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
ROMFS
PROCESSOR cortex-m4
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 2

View File

@ -4,8 +4,7 @@ px4_add_board(
VENDOR omnibus
MODEL f4sd
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
ROMFS
PROCESSOR cortex-m4
ROMFSROOT px4fmu_common
SERIAL_PORTS

View File

@ -3,7 +3,7 @@ px4_add_board(
VENDOR parrot
MODEL bebop
PLATFORM posix
ARCH cortex-a53
PROCESSOR cortex-a53
TOOLCHAIN arm-linux-gnueabihf
DRIVERS

View File

@ -39,7 +39,7 @@ px4_add_board(
VENDOR px4
MODEL cannode-v1
TOOLCHAIN arm-none-eabi
ARCH cortex-m3
PROCESSOR cortex-m3
DRIVERS
bootloaders

View File

@ -41,7 +41,7 @@ px4_add_board(
VENDOR px4
MODEL esc-v1
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
PROCESSOR cortex-m4
DRIVERS
bootloaders

View File

@ -3,10 +3,8 @@ px4_add_board(
PLATFORM nuttx
VENDOR px4
MODEL fmu-v2
LABEL default
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
ROMFS
PROCESSOR cortex-m4
ROMFSROOT px4fmu_common
BOOTLOADER ${PX4_SOURCE_DIR}/ROMFS/px4fmu_common/extras/px4fmuv3_bl.bin
IO px4_io-v2_default

View File

@ -5,8 +5,7 @@ px4_add_board(
MODEL fmu-v2
LABEL lpe
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
ROMFS
PROCESSOR cortex-m4
ROMFSROOT px4fmu_common
BOOTLOADER ${PX4_SOURCE_DIR}/ROMFS/px4fmu_common/extras/px4fmuv3_bl.bin
IO px4_io-v2_default

View File

@ -5,8 +5,7 @@ px4_add_board(
MODEL fmu-v2
LABEL test
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
ROMFS
PROCESSOR cortex-m4
ROMFSROOT px4fmu_test
IO px4_io-v2_default
TESTING

View File

@ -7,8 +7,7 @@ px4_add_board(
MODEL fmu-v3
LABEL default
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
ROMFS
PROCESSOR cortex-m4
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING

View File

@ -7,8 +7,7 @@ px4_add_board(
MODEL fmu-v3
LABEL rtps
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
ROMFS
PROCESSOR cortex-m4
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING

View File

@ -7,8 +7,7 @@ px4_add_board(
MODEL fmu-v3
LABEL stackcheck
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
ROMFS
PROCESSOR cortex-m4
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING

View File

@ -5,8 +5,7 @@ px4_add_board(
MODEL fmu-v4
LABEL default
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
ROMFS
PROCESSOR cortex-m4
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 1

View File

@ -5,8 +5,7 @@ px4_add_board(
MODEL fmu-v4
LABEL rtps
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
ROMFS
PROCESSOR cortex-m4
ROMFSROOT px4fmu_common
TESTING
UAVCAN_INTERFACES 1

View File

@ -5,8 +5,7 @@ px4_add_board(
MODEL fmu-v4
LABEL stackcheck
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
ROMFS
PROCESSOR cortex-m4
ROMFSROOT px4fmu_common
TESTING
#UAVCAN_INTERFACES 1

View File

@ -5,8 +5,7 @@ px4_add_board(
MODEL fmu-v4pro
LABEL default
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
ROMFS
PROCESSOR cortex-m4
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING

View File

@ -5,8 +5,7 @@ px4_add_board(
MODEL fmu-v4pro
LABEL default
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
ROMFS
PROCESSOR cortex-m4
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING

View File

@ -3,9 +3,8 @@ px4_add_board(
PLATFORM nuttx
VENDOR px4
MODEL fmu-v5
LABEL default
ARCH cortex-m7
ROMFS
TOOLCHAIN arm-none-eabi
PROCESSOR cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING

View File

@ -4,8 +4,8 @@ px4_add_board(
VENDOR px4
MODEL fmu-v5
LABEL rtps
ARCH cortex-m7
ROMFS
TOOLCHAIN arm-none-eabi
PROCESSOR cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
@ -29,7 +29,10 @@ px4_add_board(
#imu # all available imu drivers
imu/adis16448
imu/bmi055
imu/bmi160
imu/bma180
imu/mpu6000
imu/mpu9250
irlock
magnetometer # all available magnetometer drivers
#md25

View File

@ -4,8 +4,8 @@ px4_add_board(
VENDOR px4
MODEL fmu-v5
LABEL stackcheck
ARCH cortex-m7
ROMFS
TOOLCHAIN arm-none-eabi
PROCESSOR cortex-m7
ROMFSROOT px4fmu_common
IO px4_io-v2_default
TESTING
@ -29,7 +29,10 @@ px4_add_board(
#imu # all available imu drivers
imu/adis16448
imu/bmi055
#imu/bmi160
#imu/bma180
imu/mpu6000
#imu/mpu9250
irlock
magnetometer # all available magnetometer drivers
#md25

View File

@ -4,7 +4,7 @@ px4_add_board(
VENDOR px4
MODEL io-v2
TOOLCHAIN arm-none-eabi
ARCH cortex-m3
PROCESSOR cortex-m3
DRIVERS
stm32
MODULES

View File

@ -4,7 +4,7 @@ px4_add_board(
MODEL raspberrypi
LABEL cross
PLATFORM posix
ARCH cortex-a53
PROCESSOR cortex-a53
TOOLCHAIN Toolchain-arm-linux-gnueabihf
TESTING

View File

@ -4,8 +4,7 @@ px4_add_board(
VENDOR stm
MODEL 32f4discovery
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
ROMFS
PROCESSOR cortex-m4
ROMFSROOT px4fmu_common
#TESTING

View File

@ -3,8 +3,8 @@ px4_add_board(
PLATFORM nuttx
VENDOR stm
MODEL nucleo-F767ZI
ARCH cortex-m7
ROMFS
TOOLCHAIN arm-none-eabi
PROCESSOR cortex-m7
ROMFSROOT px4fmu_common
TESTING
#UAVCAN_INTERFACES 2

View File

@ -32,7 +32,7 @@ px4_add_board(
VENDOR thiemar
MODEL s2740vc-v1
TOOLCHAIN arm-none-eabi
ARCH cortex-m4
PROCESSOR cortex-m4
DRIVERS
bootloaders

View File

@ -40,21 +40,91 @@ include(px4_base)
# This function creates a PX4 board.
#
# Usage:
# px4_add_module(
# BOARD <string>
# OS <string>
# [ TOOLCHAIN ] <string>
# px4_add_board(
# PLATFORM <string>
# VENDOR <string>
# MODEL <string>
# [ LABEL <string> ]
# [ TOOLCHAIN <string> ]
# [ PROCESSOR <string> ]
# [ ROMFSROOT <string> ]
# [ IO <string> ]
# [ BOOTLOADER <string> ]
# [ UAVCAN_INTERFACES <string> ]
# [ DRIVERS <list> ]
# [ MODULES <list> ]
# [ SYSTEMCMDS <list> ]
# [ EXAMPLES <list> ]
# [ SERIAL_PORTS <list> ]
# [ DF_DRIVERS <list> ]
# [ CONSTRAINED_FLASH ]
# [ TESTING ]
# )
#
# Input:
# BOARD : name of board
# OS : posix, nuttx, qurt
# PLATFORM : PX4 platform name (posix, nuttx, qurt)
# VENDOR : name of board vendor/manufacturer/brand/etc
# MODEL : name of board model
# LABEL : optional label, set to default if not specified
# TOOLCHAIN : cmake toolchain
# PROCESSOR : name of the CPU CMake is building for (used by the toolchain)
# ROMFSROOT : relative path to the ROMFS root directory (currently NuttX only)
# IO : name of IO board to be built and included in the ROMFS (requires a valid ROMFSROOT)
# BOOTLOADER : bootloader file to include for flashing via bl_update (currently NuttX only)
# UAVCAN_INTERFACES : number of interfaces for UAVCAN
# DRIVERS : list of drivers to build for this board (relative to src/drivers)
# MODULES : list of modules to build for this board (relative to src/modules)
# SYSTEMCMDS : list of system commands to build for this board (relative to src/systemcmds)
# EXAMPLES : list of example modules to build for this board (relative to src/examples)
# SERIAL_PORTS : mapping of user configurable serial ports and param facing name
# DF_DRIVERS : list of DriverFramework device drivers (includes DriverFramework driver and wrapper)
# CONSTRAINED_FLASH : flag to enable constrained flash options (eg limit init script status text)
# TESTING : flag to enable automatic inclusion of PX4 testing modules
#
#
# Example:
# px4_add_board(
# BOARD px4_fmu-v2_default
# OS nuttx
# PLATFORM nuttx
# VENDOR px4
# MODEL fmu-v5
# TOOLCHAIN arm-none-eabi
# PROCESSOR cortex-m7
# ROMFSROOT px4fmu_common
# IO px4_io-v2_default
# SERIAL_PORTS
# GPS1:/dev/ttyS0
# TEL1:/dev/ttyS1
# TEL2:/dev/ttyS2
# TEL4:/dev/ttyS3
# DRIVERS
# barometer/ms5611
# gps
# imu/bmi055
# imu/mpu6000
# magnetometer/ist8310
# px4fmu
# px4io
# rgbled
# MODULES
# commander
# ekf2
# land_detector
# mavlink
# mc_att_control
# mc_pos_control
# navigator
# sensors
# MODULES
# mixer
# mtd
# param
# perf
# pwm
# reboot
# shutdown
# top
# topic_listener
# tune_control
# )
#
function(px4_add_board)
@ -62,13 +132,12 @@ function(px4_add_board)
px4_parse_function_args(
NAME px4_add_board
ONE_VALUE
PLATFORM
VENDOR
MODEL
LABEL
BOARD_OVERRIDE
PLATFORM
TOOLCHAIN
ARCH
PROCESSOR
ROMFSROOT
IO
BOOTLOADER
@ -79,10 +148,9 @@ function(px4_add_board)
SYSTEMCMDS
EXAMPLES
SERIAL_PORTS
DF_DRIVERS # DriverFramework drivers
DF_DRIVERS
OPTIONS
CONSTRAINED_FLASH
ROMFS
TESTING
REQUIRED
PLATFORM
@ -109,13 +177,10 @@ function(px4_add_board)
# 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)
list(APPEND CMAKE_MODULE_PATH
${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/cmake
)
if(ARCH)
set(CMAKE_SYSTEM_PROCESSOR ${ARCH} CACHE INTERNAL "system processor" FORCE)
if(PROCESSOR)
set(CMAKE_SYSTEM_PROCESSOR ${PROCESSOR} CACHE INTERNAL "system processor" FORCE)
endif()
if(TOOLCHAIN)
@ -131,18 +196,13 @@ function(px4_add_board)
endif()
# ROMFS
if(ROMFS)
if (PX4_PLATFORM MATCHES "NuttX" AND NOT DEFINED ROMFSROOT)
set(config_romfs_root px4fmu_common)
else()
set(config_romfs_root ${ROMFSROOT})
endif()
set(config_romfs_root ${config_romfs_root} CACHE INTERNAL "ROMFS root" FORCE)
endif()
if(ROMFSROOT)
set(config_romfs_root ${ROMFSROOT} CACHE INTERNAL "ROMFS root" FORCE)
# IO board (placed in ROMFS)
if(IO)
set(config_io_board ${IO} CACHE INTERNAL "IO" FORCE)
# IO board (placed in ROMFS)
if(IO)
set(config_io_board ${IO} CACHE INTERNAL "IO" FORCE)
endif()
endif()
if(UAVCAN_INTERFACES)

View File

@ -157,7 +157,7 @@ endfunction()
#
# Usage:
# px4_add_module(MODULE <string>
# [ MAIN <string> ]
# MAIN <string>
# [ STACK <string> ] !!!!!DEPRECATED, USE STACK_MAIN INSTEAD!!!!!!!!!
# [ STACK_MAIN <string> ]
# [ STACK_MAX <string> ]
@ -172,7 +172,7 @@ endfunction()
#
# Input:
# MODULE : unique name of module
# MAIN : entry point, if not given, assumed to be library
# MAIN : entry point
# STACK : deprecated use stack main instead
# STACK_MAIN : size of stack for main function
# STACK_MAX : maximum stack size of any frame
@ -555,7 +555,7 @@ function(px4_add_common_flags)
string(REPLACE "-" "_" board_config ${board_upper})
add_definitions(
-DCONFIG_ARCH_BOARD_${board_config}
-DCONFIG_PROCESSOR_BOARD_${board_config}
-D__STDC_FORMAT_MACROS
)