From c3992634f15a8cc363d6227a33d843c84e3f3d3f Mon Sep 17 00:00:00 2001 From: Jukka Laitinen Date: Wed, 8 Sep 2021 12:21:20 +0300 Subject: [PATCH] Add a separate library for initializing px4 userspace in protected build The px4_userspace_init function in this library is called from userspace entrypoint before starting NSH Signed-off-by: Jukka Laitinen --- platforms/nuttx/src/px4/common/CMakeLists.txt | 7 +++++++ .../nuttx/src/px4/common/px4_userspace_init.cpp | 16 ++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 platforms/nuttx/src/px4/common/px4_userspace_init.cpp diff --git a/platforms/nuttx/src/px4/common/CMakeLists.txt b/platforms/nuttx/src/px4/common/CMakeLists.txt index f34765cad1..1a72d340aa 100644 --- a/platforms/nuttx/src/px4/common/CMakeLists.txt +++ b/platforms/nuttx/src/px4/common/CMakeLists.txt @@ -110,6 +110,13 @@ if (NOT DEFINED CONFIG_BUILD_FLAT AND "${PX4_PLATFORM}" MATCHES "nuttx") ) add_dependencies(px4_board_ctrl nuttx_context nuttx_kernel_builtin_list_target) + + add_library(px4_userspace_init + px4_userspace_init.cpp + ) + + add_dependencies(px4_userspace_init nuttx_context) + add_dependencies(px4_kernel_layer prebuild_targets) else() list(APPEND LIBS diff --git a/platforms/nuttx/src/px4/common/px4_userspace_init.cpp b/platforms/nuttx/src/px4/common/px4_userspace_init.cpp new file mode 100644 index 0000000000..cacf47e0d9 --- /dev/null +++ b/platforms/nuttx/src/px4/common/px4_userspace_init.cpp @@ -0,0 +1,16 @@ +#include +#include +#include +#include +#include + +extern "C" void px4_userspace_init(void) +{ + hrt_init(); + + param_init(); + + px4::WorkQueueManagerStart(); + + uorb_start(); +}