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
commit b05a21477a
15 changed files with 111 additions and 25 deletions

View File

@ -82,12 +82,12 @@ src += """
};
#ifdef __PX4_DARWIN
#define ___param__attributes ;
#define ___param__attributes
#else
#define ___param__attributes __attribute__((alias("px4_parameters_impl")));
#define ___param__attributes __attribute__((alias("px4_parameters_impl")))
#endif
extern const struct px4_parameters_t px4_parameters ___param__attributes
extern const struct px4_parameters_t px4_parameters ___param__attributes;
""" % i
fp_header.write(header)

View File

@ -273,6 +273,9 @@ function(px4_add_module)
endif()
endforeach()
foreach (prop STACK MAIN COMPILE_FLAGS LINK_FLAGS PRIORITY)
if ("${prop}" STREQUAL "MAIN")
add_definitions(-DPX4_MAIN=${${prop}}_app_main)
endif()
if (${prop})
set_target_properties(${MODULE} PROPERTIES "${prop}" "${${prop}}")
endif()

View File

@ -8,7 +8,7 @@ set(config_module_list
drivers/pwm_out_sim
drivers/rgbled
drivers/led
modules/sensors
drivers/boards/sitl
systemcmds/param
systemcmds/mixer
@ -38,6 +38,7 @@ set(config_module_list
lib/geo_lookup
lib/conversion
platforms/common
platforms/posix/px4_layer
platforms/posix/work_queue
)

View File

@ -1,5 +1,10 @@
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(config_module_list
@ -26,6 +31,7 @@ set(config_module_list
lib/geo_lookup
lib/conversion
platforms/common
platforms/posix/px4_layer
platforms/posix/work_queue
modules/muorb/krait

View File

@ -1,5 +1,10 @@
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(config_module_list
@ -20,6 +25,7 @@ set(config_module_list
lib/geo_lookup
lib/conversion
platforms/common
platforms/posix/px4_layer
platforms/posix/work_queue

View File

@ -24,10 +24,4 @@ set(config_module_list
platforms/posix/work_queue
platforms/qurt/tests/hello
)
set(${out_module_list} ${config_module_list} PARENT_SCOPE)
# output
set(${OUT_MODULES} ${config_module_list} PARENT_SCOPE)
endfunction()

View File

@ -14,7 +14,7 @@ set(config_module_list
# Library modules
#
modules/systemlib
modules/mixer
modules/systemlib/mixer
modules/uORB
#
@ -31,8 +31,8 @@ set(config_module_list
platforms/qurt/px4_layer
platforms/posix/work_queue
platforms/qurt/tests/hello
platforms/qurt/tests/vcdev_test
platforms/qurt/tests/hrt_test
platforms/qurt/tests/wqueue
platforms/posix/tests/vcdev_test
platforms/posix/tests/hrt_test
platforms/posix/tests/wqueue
)

View File

@ -1,7 +1,7 @@
include(qurt/px4_impl_qurt)
# 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)

View File

@ -11,7 +11,7 @@ px4_nuttx_generate_romfs(OUT romfs.o
px4_generate_parameters()
# 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(main_link_flags
"-T${nuttx_export_dir}/build/ld.script"

View File

@ -20,19 +20,15 @@ px4_generate_parameters()
if ("${QURT_ENABLE_STUBS}" STREQUAL "1")
add_executable(mainapp
${CMAKE_SOURCE_DIR}/src/platforms/qurt/dspal/dspal_stub.c
${CMAKE_BINARY_DIR}/px4_parameters.c
${CMAKE_BINARY_DIR}/apps.h)
else("${QURT_ENABLE_STUBS}" STREQUAL "1")
add_library(mainapp
${CMAKE_SOURCE_DIR}/src/platforms/qurt/dspal/dspal_stub.c
${CMAKE_BINARY_DIR}/px4_parameters.c
${CMAKE_BINARY_DIR}/apps.h)
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
-Wl,--whole-archive
${module_libraries}

View File

@ -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_

View File

@ -30,6 +30,10 @@
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
if("${DSPAL_STUBS_ENABLE}" STREQUAL "1")
include_directories(../krait-stubs)
endif()
px4_add_module(
MODULE modules__muorb__krait
MAIN muorb

View File

@ -32,7 +32,7 @@
****************************************************************************/
#include <string.h>
#include "uORBManager.hpp"
#include "modules/uORB/uORBManager.hpp"
#include "uORBKraitFastRpcChannel.hpp"
extern "C" { __EXPORT int muorb_main(int argc, char *argv[]); }

View File

@ -38,7 +38,7 @@
#include <string>
#include <pthread.h>
#include "uORB/uORBCommunicator.hpp"
#include <px4muorb_KraitRpcWrapper.hpp>
#include "px4muorb_KraitRpcWrapper.hpp"
#include <map>
#include "drivers/drv_hrt.h"

View File

@ -45,7 +45,7 @@
#include <string.h>
#include "uORB/topics/sensor_combined.h"
#include "uORB/topics/pwm_input.h"
#include "uORB.h"
#include "modules/uORB/uORB.h"
#include "px4_middleware.h"
#include "px4_defines.h"
#include <stdlib.h>