Merge branch 'cmake-2-qurt-fixes' of github.com:mcharleb/Firmware into cmake-2

This commit is contained in:
James Goppert
2015-09-12 00:20:42 -04:00
15 changed files with 111 additions and 25 deletions
+3 -3
View File
@@ -82,12 +82,12 @@ src += """
}; };
#ifdef __PX4_DARWIN #ifdef __PX4_DARWIN
#define ___param__attributes ; #define ___param__attributes
#else #else
#define ___param__attributes __attribute__((alias("px4_parameters_impl"))); #define ___param__attributes __attribute__((alias("px4_parameters_impl")))
#endif #endif
extern const struct px4_parameters_t px4_parameters ___param__attributes extern const struct px4_parameters_t px4_parameters ___param__attributes;
""" % i """ % i
fp_header.write(header) fp_header.write(header)
+3
View File
@@ -273,6 +273,9 @@ function(px4_add_module)
endif() endif()
endforeach() endforeach()
foreach (prop STACK MAIN COMPILE_FLAGS LINK_FLAGS PRIORITY) foreach (prop STACK MAIN COMPILE_FLAGS LINK_FLAGS PRIORITY)
if ("${prop}" STREQUAL "MAIN")
add_definitions(-DPX4_MAIN=${${prop}}_app_main)
endif()
if (${prop}) if (${prop})
set_target_properties(${MODULE} PROPERTIES "${prop}" "${${prop}}") set_target_properties(${MODULE} PROPERTIES "${prop}" "${${prop}}")
endif() endif()
+2 -1
View File
@@ -8,7 +8,7 @@ set(config_module_list
drivers/pwm_out_sim drivers/pwm_out_sim
drivers/rgbled drivers/rgbled
drivers/led drivers/led
modules/sensors drivers/boards/sitl
systemcmds/param systemcmds/param
systemcmds/mixer systemcmds/mixer
@@ -38,6 +38,7 @@ set(config_module_list
lib/geo_lookup lib/geo_lookup
lib/conversion lib/conversion
platforms/common
platforms/posix/px4_layer platforms/posix/px4_layer
platforms/posix/work_queue platforms/posix/work_queue
) )
+6
View File
@@ -1,5 +1,10 @@
include(posix/px4_impl_posix) include(posix/px4_impl_posix)
# Use build stubs unless explicitly set not to
if("${DSPAL_STUBS_ENABLE}" STREQUAL "")
set(DSPAL_STUBS_ENABLE "1")
endif()
set(CMAKE_TOOLCHAIN_FILE cmake/toolchains/Toolchain-arm-linux-gnueabihf.cmake) set(CMAKE_TOOLCHAIN_FILE cmake/toolchains/Toolchain-arm-linux-gnueabihf.cmake)
set(config_module_list set(config_module_list
@@ -26,6 +31,7 @@ set(config_module_list
lib/geo_lookup lib/geo_lookup
lib/conversion lib/conversion
platforms/common
platforms/posix/px4_layer platforms/posix/px4_layer
platforms/posix/work_queue platforms/posix/work_queue
modules/muorb/krait modules/muorb/krait
+6
View File
@@ -1,5 +1,10 @@
include(posix/px4_impl_posix) include(posix/px4_impl_posix)
# Use build stubs unless explicitly set not to
if("${DSPAL_STUBS_ENABLE}" STREQUAL "")
set(DSPAL_STUBS_ENABLE "1")
endif()
set(CMAKE_TOOLCHAIN_FILE cmake/toolchains/Toolchain-arm-linux-gnueabihf.cmake) set(CMAKE_TOOLCHAIN_FILE cmake/toolchains/Toolchain-arm-linux-gnueabihf.cmake)
set(config_module_list set(config_module_list
@@ -20,6 +25,7 @@ set(config_module_list
lib/geo_lookup lib/geo_lookup
lib/conversion lib/conversion
platforms/common
platforms/posix/px4_layer platforms/posix/px4_layer
platforms/posix/work_queue platforms/posix/work_queue
-6
View File
@@ -24,10 +24,4 @@ set(config_module_list
platforms/posix/work_queue platforms/posix/work_queue
platforms/qurt/tests/hello platforms/qurt/tests/hello
) )
set(${out_module_list} ${config_module_list} PARENT_SCOPE)
# output
set(${OUT_MODULES} ${config_module_list} PARENT_SCOPE)
endfunction()
+4 -4
View File
@@ -14,7 +14,7 @@ set(config_module_list
# Library modules # Library modules
# #
modules/systemlib modules/systemlib
modules/mixer modules/systemlib/mixer
modules/uORB modules/uORB
# #
@@ -31,8 +31,8 @@ set(config_module_list
platforms/qurt/px4_layer platforms/qurt/px4_layer
platforms/posix/work_queue platforms/posix/work_queue
platforms/qurt/tests/hello platforms/qurt/tests/hello
platforms/qurt/tests/vcdev_test platforms/posix/tests/vcdev_test
platforms/qurt/tests/hrt_test platforms/posix/tests/hrt_test
platforms/qurt/tests/wqueue platforms/posix/tests/wqueue
) )
+1 -1
View File
@@ -1,7 +1,7 @@
include(qurt/px4_impl_qurt) include(qurt/px4_impl_qurt)
# Run a full link with build stubs to make sure qurt target isn't broken # Run a full link with build stubs to make sure qurt target isn't broken
set(QURT_ENABLE_STUBS 1) set(QURT_ENABLE_STUBS "1")
set(CMAKE_TOOLCHAIN_FILE cmake/toolchains/Toolchain-hexagon.cmake) set(CMAKE_TOOLCHAIN_FILE cmake/toolchains/Toolchain-hexagon.cmake)
+1 -1
View File
@@ -11,7 +11,7 @@ px4_nuttx_generate_romfs(OUT romfs.o
px4_generate_parameters() px4_generate_parameters()
# add executable # add executable
add_executable(firmware_nuttx builtin_commands.c romfs.o) add_executable(firmware_nuttx builtin_commands.c ${CMAKE_BINARY_DIR}/px4_parameters.c romfs.o)
set(nuttx_export_dir ${CMAKE_BINARY_DIR}/${BOARD}/NuttX/nuttx-export) set(nuttx_export_dir ${CMAKE_BINARY_DIR}/${BOARD}/NuttX/nuttx-export)
set(main_link_flags set(main_link_flags
"-T${nuttx_export_dir}/build/ld.script" "-T${nuttx_export_dir}/build/ld.script"
+2 -6
View File
@@ -20,19 +20,15 @@ px4_generate_parameters()
if ("${QURT_ENABLE_STUBS}" STREQUAL "1") if ("${QURT_ENABLE_STUBS}" STREQUAL "1")
add_executable(mainapp add_executable(mainapp
${CMAKE_SOURCE_DIR}/src/platforms/qurt/dspal/dspal_stub.c ${CMAKE_SOURCE_DIR}/src/platforms/qurt/dspal/dspal_stub.c
${CMAKE_BINARY_DIR}/px4_parameters.c
${CMAKE_BINARY_DIR}/apps.h) ${CMAKE_BINARY_DIR}/apps.h)
else("${QURT_ENABLE_STUBS}" STREQUAL "1") else("${QURT_ENABLE_STUBS}" STREQUAL "1")
add_library(mainapp add_library(mainapp
${CMAKE_SOURCE_DIR}/src/platforms/qurt/dspal/dspal_stub.c ${CMAKE_SOURCE_DIR}/src/platforms/qurt/dspal/dspal_stub.c
${CMAKE_BINARY_DIR}/px4_parameters.c
${CMAKE_BINARY_DIR}/apps.h) ${CMAKE_BINARY_DIR}/apps.h)
endif() endif()
set(main_link_flags
"-T${CMAKE_SOURCE_DIR}/cmake/posix/ld.script"
)
px4_join(OUT main_link_flags LIST ${main_link_flags} GLUE " ")
set_target_properties(mainapp PROPERTIES LINK_FLAGS ${main_link_flags})
target_link_libraries(mainapp target_link_libraries(mainapp
-Wl,--whole-archive -Wl,--whole-archive
${module_libraries} ${module_libraries}
@@ -0,0 +1,76 @@
/****************************************************************************
*
* Copyright (C) 2015 Mark Charlebois. 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.
*
****************************************************************************/
#ifndef _px4muorb_KraitRpcWrapper_hpp_
#define _px4muorb_KraitRpcWrapper_hpp_
#include <stdint.h>
namespace px4muorb
{
class KraitRpcWrapper;
}
class px4muorb::KraitRpcWrapper
{
public:
/**
* Constructor
*/
KraitRpcWrapper() {}
/**
* destructor
*/
~KraitRpcWrapper() {}
/**
* Initiatizes the rpc channel px4 muorb
*/
bool Initialize() { return true; }
/**
* Terminate to clean up the resources. This should be called at program exit
*/
bool Terminate() { return true; }
/**
* Muorb related functions to pub/sub of orb topic from krait to adsp
*/
int32_t AddSubscriber( const char* topic ) { return 1; }
int32_t RemoveSubscriber( const char* topic ) { return 1; }
int32_t SendData( const char* topic, int32_t length_in_bytes, const uint8_t* data ) { return 1; }
int32_t ReceiveData( int32_t* msg_type, char** topic, int32_t* length_in_bytes, uint8_t** data ) { return 1; }
int32_t IsSubscriberPresent( const char* topic, int32_t* status ) { return 1; }
int32_t ReceiveBulkData( uint8_t** bulk_data, int32_t* length_in_bytes, int32_t* topic_count ) { return 1; }
int32_t UnblockReceiveData() { return 1; }
};
#endif // _px4muorb_KraitWrapper_hpp_
+4
View File
@@ -30,6 +30,10 @@
# POSSIBILITY OF SUCH DAMAGE. # POSSIBILITY OF SUCH DAMAGE.
# #
############################################################################ ############################################################################
if("${DSPAL_STUBS_ENABLE}" STREQUAL "1")
include_directories(../krait-stubs)
endif()
px4_add_module( px4_add_module(
MODULE modules__muorb__krait MODULE modules__muorb__krait
MAIN muorb MAIN muorb
+1 -1
View File
@@ -32,7 +32,7 @@
****************************************************************************/ ****************************************************************************/
#include <string.h> #include <string.h>
#include "uORBManager.hpp" #include "modules/uORB/uORBManager.hpp"
#include "uORBKraitFastRpcChannel.hpp" #include "uORBKraitFastRpcChannel.hpp"
extern "C" { __EXPORT int muorb_main(int argc, char *argv[]); } extern "C" { __EXPORT int muorb_main(int argc, char *argv[]); }
@@ -38,7 +38,7 @@
#include <string> #include <string>
#include <pthread.h> #include <pthread.h>
#include "uORB/uORBCommunicator.hpp" #include "uORB/uORBCommunicator.hpp"
#include <px4muorb_KraitRpcWrapper.hpp> #include "px4muorb_KraitRpcWrapper.hpp"
#include <map> #include <map>
#include "drivers/drv_hrt.h" #include "drivers/drv_hrt.h"
@@ -45,7 +45,7 @@
#include <string.h> #include <string.h>
#include "uORB/topics/sensor_combined.h" #include "uORB/topics/sensor_combined.h"
#include "uORB/topics/pwm_input.h" #include "uORB/topics/pwm_input.h"
#include "uORB.h" #include "modules/uORB/uORB.h"
#include "px4_middleware.h" #include "px4_middleware.h"
#include "px4_defines.h" #include "px4_defines.h"
#include <stdlib.h> #include <stdlib.h>