From 78944a70c345d1da51e906e6225352607675ac21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beat=20K=C3=BCng?= Date: Thu, 15 Aug 2019 19:59:32 +0200 Subject: [PATCH] Upgrade NuttX to 8.2 Nuttx with PX4 contrib of bbsram fix Nuttx 8.31+ with BBSRAM disable dcache Nuttx 8.2- --- platforms/nuttx/CMakeLists.txt | 2 +- platforms/nuttx/NuttX/CMakeLists.txt | 12 +++---- platforms/nuttx/NuttX/apps | 2 +- platforms/nuttx/NuttX/nuttx | 2 +- platforms/nuttx/cmake/init.cmake | 4 +-- .../px4/nxp/kinetis/board_reset/board_reset.c | 33 +++++++++++++++++++ .../stm32_common/board_reset/board_reset.c | 33 +++++++++++++++++++ .../stm/stm32f7/include/px4_arch/micro_hal.h | 2 +- 8 files changed, 78 insertions(+), 12 deletions(-) diff --git a/platforms/nuttx/CMakeLists.txt b/platforms/nuttx/CMakeLists.txt index 05d4b3a854..13f6801b51 100644 --- a/platforms/nuttx/CMakeLists.txt +++ b/platforms/nuttx/CMakeLists.txt @@ -52,7 +52,7 @@ list(APPEND nuttx_libs nuttx_arch nuttx_binfmt nuttx_c - nuttx_configs + nuttx_boards nuttx_xx nuttx_drivers nuttx_fs diff --git a/platforms/nuttx/NuttX/CMakeLists.txt b/platforms/nuttx/NuttX/CMakeLists.txt index c465eb2f5f..0854992b13 100644 --- a/platforms/nuttx/NuttX/CMakeLists.txt +++ b/platforms/nuttx/NuttX/CMakeLists.txt @@ -112,9 +112,9 @@ add_custom_target(nuttx_copy_and_apps_target if(EXISTS ${NUTTX_CONFIG_DIR}/Kconfig) add_custom_command( OUTPUT - ${NUTTX_DIR}/configs/dummy/Kconfig + ${NUTTX_DIR}/boards/dummy/Kconfig ${CMAKE_CURRENT_BINARY_DIR}/nuttx_config_kconfig.stamp - COMMAND ${CMAKE_COMMAND} -E copy ${NUTTX_CONFIG_DIR}/Kconfig ${NUTTX_DIR}/configs/dummy/Kconfig + COMMAND ${CMAKE_COMMAND} -E copy ${NUTTX_CONFIG_DIR}/Kconfig ${NUTTX_DIR}/boards/dummy/Kconfig COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/nuttx_config_kconfig.stamp DEPENDS nuttx_copy_and_apps_target @@ -122,9 +122,9 @@ if(EXISTS ${NUTTX_CONFIG_DIR}/Kconfig) else() add_custom_command( OUTPUT - ${NUTTX_DIR}/configs/dummy/Kconfig + ${NUTTX_DIR}/boards/dummy/Kconfig ${CMAKE_CURRENT_BINARY_DIR}/nuttx_config_kconfig.stamp - COMMAND ${CMAKE_COMMAND} -E touch ${NUTTX_DIR}/configs/dummy/Kconfig + COMMAND ${CMAKE_COMMAND} -E touch ${NUTTX_DIR}/boards/dummy/Kconfig COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/nuttx_config_kconfig.stamp DEPENDS nuttx_copy_and_apps_target @@ -133,7 +133,7 @@ endif() add_custom_target(nuttx_config_kconfig_target DEPENDS - ${NUTTX_DIR}/configs/dummy/Kconfig + ${NUTTX_DIR}/boards/dummy/Kconfig ${CMAKE_CURRENT_BINARY_DIR}/nuttx_config_kconfig.stamp ) @@ -357,7 +357,7 @@ endfunction() # add_nuttx_dir(NAME DIRECTORY KERNEL EXTRA) add_nuttx_dir(arch arch/arm/src y -D__KERNEL__) add_nuttx_dir(binfmt binfmt y -D__KERNEL__) -add_nuttx_dir(configs configs y -D__KERNEL__) +add_nuttx_dir(boards boards y -D__KERNEL__) add_nuttx_dir(drivers drivers y -D__KERNEL__) add_nuttx_dir(fs fs y -D__KERNEL__) add_nuttx_dir(sched sched y -D__KERNEL__) diff --git a/platforms/nuttx/NuttX/apps b/platforms/nuttx/NuttX/apps index 13eeff0ec3..91b6ad6a0d 160000 --- a/platforms/nuttx/NuttX/apps +++ b/platforms/nuttx/NuttX/apps @@ -1 +1 @@ -Subproject commit 13eeff0ec3f23d84fabf1e9fe216846957ad15cf +Subproject commit 91b6ad6a0d00ac107088b18588cd54d40e3cb796 diff --git a/platforms/nuttx/NuttX/nuttx b/platforms/nuttx/NuttX/nuttx index 427238133b..a48028b924 160000 --- a/platforms/nuttx/NuttX/nuttx +++ b/platforms/nuttx/NuttX/nuttx @@ -1 +1 @@ -Subproject commit 427238133be2b0ecd068a11e886ee8fdbc31f6dc +Subproject commit a48028b924cfdb91cae1dafccaf383da06c84d51 diff --git a/platforms/nuttx/cmake/init.cmake b/platforms/nuttx/cmake/init.cmake index e87a5438d2..3d6631ebe8 100644 --- a/platforms/nuttx/cmake/init.cmake +++ b/platforms/nuttx/cmake/init.cmake @@ -94,9 +94,9 @@ set(NUTTX_DEFCONFIG ${NUTTX_CONFIG_DIR}/${NUTTX_CONFIG}/defconfig CACHE FILEPATH # If the board provides a Kconfig Use it or create an empty one if(EXISTS ${NUTTX_CONFIG_DIR}/Kconfig) - execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${NUTTX_CONFIG_DIR}/Kconfig ${NUTTX_DIR}/configs/dummy/Kconfig) + execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${NUTTX_CONFIG_DIR}/Kconfig ${NUTTX_DIR}/boards/dummy/Kconfig) else() - execute_process(COMMAND ${CMAKE_COMMAND} -E touch ${NUTTX_DIR}/configs/dummy/Kconfig) + execute_process(COMMAND ${CMAKE_COMMAND} -E touch ${NUTTX_DIR}/boards/dummy/Kconfig) endif() execute_process( diff --git a/platforms/nuttx/src/px4/nxp/kinetis/board_reset/board_reset.c b/platforms/nuttx/src/px4/nxp/kinetis/board_reset/board_reset.c index 8e7e348114..f4a780173a 100644 --- a/platforms/nuttx/src/px4/nxp/kinetis/board_reset/board_reset.c +++ b/platforms/nuttx/src/px4/nxp/kinetis/board_reset/board_reset.c @@ -42,6 +42,39 @@ #include +#ifdef CONFIG_BOARDCTL_RESET + +/**************************************************************************** + * Public functions + ****************************************************************************/ + +/**************************************************************************** + * Name: board_reset + * + * Description: + * Reset board. Support for this function is required by board-level + * logic if CONFIG_BOARDCTL_RESET is selected. + * + * Input Parameters: + * status - Status information provided with the reset event. This + * meaning of this status information is board-specific. If not + * used by a board, the value zero may be provided in calls to + * board_reset(). + * + * Returned Value: + * If this function returns, then it was not possible to power-off the + * board due to some constraints. The return value int this case is a + * board-specific reason for the failure to shutdown. + * + ****************************************************************************/ + +int board_reset(int status) +{ + up_systemreset(); + return 0; +} + +#endif /* CONFIG_BOARDCTL_RESET */ int board_set_bootload_mode(board_reset_e mode) diff --git a/platforms/nuttx/src/px4/stm/stm32_common/board_reset/board_reset.c b/platforms/nuttx/src/px4/stm/stm32_common/board_reset/board_reset.c index f42f39f6ba..da97c3e1a6 100644 --- a/platforms/nuttx/src/px4/stm/stm32_common/board_reset/board_reset.c +++ b/platforms/nuttx/src/px4/stm/stm32_common/board_reset/board_reset.c @@ -43,6 +43,39 @@ #include #include +#ifdef CONFIG_BOARDCTL_RESET + +/**************************************************************************** + * Public functions + ****************************************************************************/ + +/**************************************************************************** + * Name: board_reset + * + * Description: + * Reset board. Support for this function is required by board-level + * logic if CONFIG_BOARDCTL_RESET is selected. + * + * Input Parameters: + * status - Status information provided with the reset event. This + * meaning of this status information is board-specific. If not + * used by a board, the value zero may be provided in calls to + * board_reset(). + * + * Returned Value: + * If this function returns, then it was not possible to power-off the + * board due to some constraints. The return value int this case is a + * board-specific reason for the failure to shutdown. + * + ****************************************************************************/ + +int board_reset(int status) +{ + up_systemreset(); + return 0; +} + +#endif /* CONFIG_BOARDCTL_RESET */ int board_set_bootload_mode(board_reset_e mode) { diff --git a/platforms/nuttx/src/px4/stm/stm32f7/include/px4_arch/micro_hal.h b/platforms/nuttx/src/px4/stm/stm32f7/include/px4_arch/micro_hal.h index c7d0ca02e6..20754b7cd0 100644 --- a/platforms/nuttx/src/px4/stm/stm32f7/include/px4_arch/micro_hal.h +++ b/platforms/nuttx/src/px4/stm/stm32f7/include/px4_arch/micro_hal.h @@ -39,7 +39,7 @@ __BEGIN_DECLS #define PX4_SOC_ARCH_ID PX4_SOC_ARCH_ID_STM32F7 #include -#include +#include #include //include up_systemreset() which is included on stm32.h #include #define PX4_BBSRAM_SIZE STM32F7_BBSRAM_SIZE