mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-23 14:47:44 +08:00
platform: restructure (NuttX) architecture-specific code
updated: tone_alarm, px4io_serial, px4_micro_hal
This commit is contained in:
@@ -347,6 +347,17 @@ else()
|
||||
px4_find_python_module(jinja2 REQUIRED)
|
||||
endif()
|
||||
|
||||
#=============================================================================
|
||||
# get chip and chip manufacturer
|
||||
#
|
||||
px4_os_determine_build_chip()
|
||||
if(NOT PX4_CHIP_MANUFACTURER)
|
||||
message(FATAL_ERROR "px4_os_determine_build_chip() needs to set PX4_CHIP_MANUFACTURER")
|
||||
endif()
|
||||
if(NOT PX4_CHIP)
|
||||
message(FATAL_ERROR "px4_os_determine_build_chip() needs to set PX4_CHIP")
|
||||
endif()
|
||||
|
||||
#=============================================================================
|
||||
# build flags
|
||||
#
|
||||
@@ -451,6 +462,7 @@ add_library(parameters_interface INTERFACE)
|
||||
include(px4_add_library)
|
||||
add_subdirectory(src/lib EXCLUDE_FROM_ALL)
|
||||
|
||||
add_subdirectory(platforms/${PX4_PLATFORM}/src/px4)
|
||||
add_subdirectory(src/platforms EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(src/modules/uORB EXCLUDE_FROM_ALL) # TODO: platform layer
|
||||
add_subdirectory(src/drivers/boards EXCLUDE_FROM_ALL)
|
||||
|
||||
@@ -42,7 +42,6 @@ px4_add_board(
|
||||
rc_input
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
|
||||
@@ -48,7 +48,6 @@ px4_add_board(
|
||||
roboclaw
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
|
||||
@@ -49,7 +49,6 @@ px4_add_board(
|
||||
#roboclaw
|
||||
stm32
|
||||
stm32/adc
|
||||
#stm32/tone_alarm
|
||||
tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
|
||||
@@ -27,7 +27,6 @@ px4_add_board(
|
||||
rc_input
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
telemetry
|
||||
tone_alarm
|
||||
osd
|
||||
|
||||
@@ -51,7 +51,6 @@ px4_add_board(
|
||||
safety_button
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
|
||||
@@ -32,7 +32,6 @@ px4_add_board(
|
||||
irlock
|
||||
kinetis
|
||||
kinetis/adc
|
||||
kinetis/tone_alarm
|
||||
lights/blinkm
|
||||
lights/oreoled
|
||||
lights/rgbled
|
||||
|
||||
@@ -37,7 +37,6 @@ px4_add_board(
|
||||
rc_input
|
||||
stm32
|
||||
stm32/adc
|
||||
#stm32/tone_alarm
|
||||
#tap_esc
|
||||
#telemetry # all available telemetry drivers
|
||||
telemetry/frsky_telemetry
|
||||
|
||||
@@ -57,7 +57,6 @@ px4_add_board(
|
||||
#roboclaw
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
#tap_esc
|
||||
#telemetry # all available telemetry drivers
|
||||
#test_ppm
|
||||
|
||||
@@ -37,7 +37,6 @@ px4_add_board(
|
||||
px4io
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
#telemetry # all available telemetry drivers
|
||||
telemetry/iridiumsbd
|
||||
tone_alarm
|
||||
|
||||
@@ -53,7 +53,6 @@ px4_add_board(
|
||||
px4io
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
#tap_esc
|
||||
#telemetry # all available telemetry drivers
|
||||
#test_ppm
|
||||
|
||||
@@ -37,7 +37,6 @@ px4_add_board(
|
||||
px4io
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tone_alarm
|
||||
|
||||
MODULES
|
||||
|
||||
@@ -33,7 +33,6 @@ px4_add_board(
|
||||
px4io
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tone_alarm
|
||||
|
||||
MODULES
|
||||
|
||||
@@ -53,7 +53,6 @@ px4_add_board(
|
||||
px4io
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
#tap_esc
|
||||
#telemetry # all available telemetry drivers
|
||||
#test_ppm
|
||||
|
||||
@@ -56,7 +56,6 @@ px4_add_board(
|
||||
roboclaw
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
|
||||
@@ -55,7 +55,6 @@ px4_add_board(
|
||||
roboclaw
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
|
||||
@@ -55,7 +55,6 @@ px4_add_board(
|
||||
roboclaw
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
|
||||
@@ -41,7 +41,6 @@ px4_add_board(
|
||||
safety_button
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
|
||||
@@ -43,7 +43,6 @@ px4_add_board(
|
||||
safety_button
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
|
||||
@@ -41,7 +41,6 @@ px4_add_board(
|
||||
safety_button
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
|
||||
@@ -54,7 +54,6 @@ px4_add_board(
|
||||
roboclaw
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
|
||||
@@ -53,7 +53,6 @@ px4_add_board(
|
||||
roboclaw
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
|
||||
@@ -55,7 +55,6 @@ px4_add_board(
|
||||
safety_button
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
|
||||
@@ -55,7 +55,6 @@ px4_add_board(
|
||||
safety_button
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
|
||||
@@ -39,7 +39,6 @@ px4_add_board(
|
||||
safety_button
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
telemetry # all available telemetry drivers
|
||||
tone_alarm
|
||||
uavcan
|
||||
|
||||
@@ -55,7 +55,6 @@ px4_add_board(
|
||||
safety_button
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
|
||||
@@ -43,7 +43,6 @@ px4_add_board(
|
||||
safety_button
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
tone_alarm
|
||||
|
||||
@@ -43,7 +43,6 @@ px4_add_board(
|
||||
safety_button
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
telemetry # all available telemetry drivers
|
||||
tone_alarm
|
||||
uavcan
|
||||
|
||||
@@ -53,7 +53,6 @@ px4_add_board(
|
||||
safety_button
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
|
||||
@@ -53,7 +53,6 @@ px4_add_board(
|
||||
safety_button
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
|
||||
@@ -55,7 +55,6 @@ px4_add_board(
|
||||
safety_button
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
|
||||
@@ -49,7 +49,6 @@ px4_add_board(
|
||||
safety_button
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
telemetry # all available telemetry drivers
|
||||
tone_alarm
|
||||
uavcan
|
||||
|
||||
@@ -50,7 +50,6 @@ px4_add_board(
|
||||
safety_button
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
tone_alarm
|
||||
|
||||
@@ -53,7 +53,6 @@ px4_add_board(
|
||||
safety_button
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
telemetry # all available telemetry drivers
|
||||
tone_alarm
|
||||
uavcan
|
||||
|
||||
@@ -55,7 +55,6 @@ px4_add_board(
|
||||
safety_button
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
|
||||
@@ -55,7 +55,6 @@ px4_add_board(
|
||||
safety_button
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
test_ppm
|
||||
|
||||
@@ -17,7 +17,6 @@ px4_add_board(
|
||||
#magnetometer # all available magnetometer drivers
|
||||
pwm_out_sim
|
||||
#telemetry # all available telemetry drivers
|
||||
sim/tone_alarm
|
||||
tone_alarm
|
||||
#uavcan
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@ px4_add_board(
|
||||
#magnetometer # all available magnetometer drivers
|
||||
pwm_out_sim
|
||||
#telemetry # all available telemetry drivers
|
||||
sim/tone_alarm
|
||||
tone_alarm
|
||||
#uavcan
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@ px4_add_board(
|
||||
#magnetometer # all available magnetometer drivers
|
||||
pwm_out_sim
|
||||
#telemetry # all available telemetry drivers
|
||||
sim/tone_alarm
|
||||
tone_alarm
|
||||
#uavcan
|
||||
|
||||
|
||||
@@ -47,7 +47,6 @@ px4_add_board(
|
||||
rc_input
|
||||
stm32
|
||||
stm32/adc
|
||||
stm32/tone_alarm
|
||||
#tap_esc
|
||||
telemetry # all available telemetry drivers
|
||||
#test_ppm
|
||||
|
||||
@@ -183,6 +183,9 @@ function(px4_add_board)
|
||||
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()
|
||||
|
||||
@@ -174,6 +174,7 @@ function(px4_add_common_flags)
|
||||
${PX4_BINARY_DIR}/src/lib
|
||||
${PX4_BINARY_DIR}/src/modules
|
||||
|
||||
${PX4_SOURCE_DIR}/platforms/${PX4_PLATFORM}/src/px4/${PX4_CHIP_MANUFACTURER}/${PX4_CHIP}
|
||||
${PX4_SOURCE_DIR}/src
|
||||
${PX4_SOURCE_DIR}/src/include
|
||||
${PX4_SOURCE_DIR}/src/lib
|
||||
|
||||
@@ -40,7 +40,7 @@ include(px4_base)
|
||||
# Like add_library but with PX4 platform dependencies
|
||||
#
|
||||
function(px4_add_library target)
|
||||
add_library(${target} ${ARGN})
|
||||
add_library(${target} EXCLUDE_FROM_ALL ${ARGN})
|
||||
|
||||
target_compile_definitions(${target} PRIVATE MODULE_NAME="${target}")
|
||||
|
||||
|
||||
@@ -36,8 +36,6 @@ include(cygwin_cygpath)
|
||||
set(NUTTX_DIR ${PX4_BINARY_DIR}/NuttX/nuttx)
|
||||
set(NUTTX_APPS_DIR ${PX4_BINARY_DIR}/NuttX/apps)
|
||||
|
||||
add_subdirectory(src)
|
||||
|
||||
add_executable(px4 ${PX4_SOURCE_DIR}/src/platforms/empty.c)
|
||||
set(FW_NAME ${PX4_BOARD_VENDOR}_${PX4_BOARD_MODEL}_${PX4_BOARD_LABEL}.elf)
|
||||
set_target_properties(px4 PROPERTIES OUTPUT_NAME ${FW_NAME})
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
# Required OS Interface Functions
|
||||
#
|
||||
# * px4_os_add_flags
|
||||
# * px4_os_determine_build_chip
|
||||
# * px4_os_prebuild_targets
|
||||
#
|
||||
|
||||
@@ -84,6 +85,38 @@ function(px4_os_add_flags)
|
||||
|
||||
endfunction()
|
||||
|
||||
#=============================================================================
|
||||
#
|
||||
# px4_os_determine_build_chip
|
||||
#
|
||||
# Sets PX4_CHIP and PX4_CHIP_MANUFACTURER.
|
||||
#
|
||||
# Usage:
|
||||
# px4_os_determine_build_chip()
|
||||
#
|
||||
function(px4_os_determine_build_chip)
|
||||
|
||||
# determine chip and chip manufacturer based on NuttX config
|
||||
if (CONFIG_STM32_STM32F10XX)
|
||||
set(CHIP_MANUFACTURER "stm")
|
||||
set(CHIP "stm32f1")
|
||||
elseif(CONFIG_STM32_STM32F4XXX)
|
||||
set(CHIP_MANUFACTURER "stm")
|
||||
set(CHIP "stm32f4")
|
||||
elseif(CONFIG_ARCH_CHIP_STM32F7)
|
||||
set(CHIP_MANUFACTURER "stm")
|
||||
set(CHIP "stm32f7")
|
||||
elseif(CONFIG_ARCH_CHIP_MK66FN2M0VMD18)
|
||||
set(CHIP_MANUFACTURER "nxp")
|
||||
set(CHIP "k66")
|
||||
else()
|
||||
message(FATAL_ERROR "Could not determine chip architecture from NuttX config. You may have to add it.")
|
||||
endif()
|
||||
|
||||
set(PX4_CHIP ${CHIP} CACHE STRING "PX4 Chip" FORCE)
|
||||
set(PX4_CHIP_MANUFACTURER ${CHIP_MANUFACTURER} CACHE STRING "PX4 Chip Manufacturer" FORCE)
|
||||
endfunction()
|
||||
|
||||
#=============================================================================
|
||||
#
|
||||
# px4_os_prebuild_targets
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
############################################################################
|
||||
#
|
||||
# Copyright (c) 2019 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.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
add_subdirectory(common)
|
||||
|
||||
add_subdirectory(${PX4_CHIP_MANUFACTURER})
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user