compiling, crashing when run
This commit is contained in:
parent
90efb132d0
commit
fdfdce2fb0
3
cmake/Platform/aarch64-rtems6.cmake
Normal file
3
cmake/Platform/aarch64-rtems6.cmake
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
add_compile_options("-mcpu=cortex-a72" "-I/opt/rtems/6/aarch64-rtems6/a72_lp64_qemu/lib/include" "-I/home/mohr/data/git/fsfw/unittests/testcfg/rtems/include")
|
||||||
|
|
||||||
|
add_link_options("-B/opt/rtems/6/aarch64-rtems6/a72_lp64_qemu/lib" "-qrtems")
|
@ -93,8 +93,8 @@ ReturnValue_t CpuUsage::serialize(uint8_t** buffer, size_t* size, size_t maxSize
|
|||||||
streamEndianness);
|
streamEndianness);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t CpuUsage::getSerializedSize() const {
|
size_t CpuUsage::getSerializedSize() const {
|
||||||
uint32_t size = 0;
|
size_t size = 0;
|
||||||
|
|
||||||
size += sizeof(timeSinceLastReset);
|
size += sizeof(timeSinceLastReset);
|
||||||
size += SerialArrayListAdapter<ThreadData>::getSerializedSize(&threadData);
|
size += SerialArrayListAdapter<ThreadData>::getSerializedSize(&threadData);
|
||||||
@ -136,8 +136,8 @@ ReturnValue_t CpuUsage::ThreadData::serialize(uint8_t** buffer, size_t* size, si
|
|||||||
return returnvalue::OK;
|
return returnvalue::OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t CpuUsage::ThreadData::getSerializedSize() const {
|
size_t CpuUsage::ThreadData::getSerializedSize() const {
|
||||||
uint32_t size = 0;
|
size_t size = 0;
|
||||||
|
|
||||||
size += sizeof(id);
|
size += sizeof(id);
|
||||||
size += MAX_LENGTH_OF_THREAD_NAME;
|
size += MAX_LENGTH_OF_THREAD_NAME;
|
||||||
|
@ -35,10 +35,9 @@ ReturnValue_t InternalErrorCodes::translate(uint8_t code) {
|
|||||||
return OUT_OF_PROXIES;
|
return OUT_OF_PROXIES;
|
||||||
case INTERNAL_ERROR_INVALID_GLOBAL_ID:
|
case INTERNAL_ERROR_INVALID_GLOBAL_ID:
|
||||||
return INVALID_GLOBAL_ID;
|
return INVALID_GLOBAL_ID;
|
||||||
#ifndef STM32H743ZI_NUCLEO
|
//TODO this one is not there anymore in rtems-6 (5 as well?)
|
||||||
case INTERNAL_ERROR_BAD_STACK_HOOK:
|
//case INTERNAL_ERROR_BAD_STACK_HOOK:
|
||||||
return BAD_STACK_HOOK;
|
// return BAD_STACK_HOOK;
|
||||||
#endif
|
|
||||||
// case INTERNAL_ERROR_BAD_ATTRIBUTES:
|
// case INTERNAL_ERROR_BAD_ATTRIBUTES:
|
||||||
// return BAD_ATTRIBUTES;
|
// return BAD_ATTRIBUTES;
|
||||||
// case INTERNAL_ERROR_IMPLEMENTATION_KEY_CREATE_INCONSISTENCY:
|
// case INTERNAL_ERROR_IMPLEMENTATION_KEY_CREATE_INCONSISTENCY:
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
|
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
#include <sys/time.h>
|
||||||
|
|
||||||
|
|
||||||
#include "fsfw/platform.h"
|
#include "fsfw/platform.h"
|
||||||
|
|
||||||
|
@ -43,6 +43,44 @@ void unittestTaskFunction(void* pvParameters) {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef FSFW_OSAL_RTEMS
|
||||||
|
#include <signal.h>
|
||||||
|
|
||||||
|
int sigaltstack(const stack_t * ss, stack_t * old_ss){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
extern "C" {
|
||||||
|
|
||||||
|
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||||
|
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||||
|
|
||||||
|
#define CONFIGURE_UNLIMITED_OBJECTS
|
||||||
|
#define CONFIGURE_UNIFIED_WORK_AREAS
|
||||||
|
|
||||||
|
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||||
|
|
||||||
|
#define CONFIGURE_INIT
|
||||||
|
|
||||||
|
#include <rtems/confdefs.h>
|
||||||
|
|
||||||
|
|
||||||
|
#include <rtems.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
rtems_task Init(
|
||||||
|
rtems_task_argument ignored
|
||||||
|
)
|
||||||
|
{
|
||||||
|
printf( "\nHello World\n" );
|
||||||
|
char* argv[] = {"fsfw-test"};
|
||||||
|
int result = Catch::Session().run(1, argv);
|
||||||
|
exit( result );
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
int main(int argc, char* argv[]) {
|
int main(int argc, char* argv[]) {
|
||||||
customSetup();
|
customSetup();
|
||||||
|
|
||||||
|
23
unittests/testcfg/rtems/cmake/rtems-qemu-toolchain.cmake
Normal file
23
unittests/testcfg/rtems/cmake/rtems-qemu-toolchain.cmake
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# the name of the target operating system
|
||||||
|
set(CMAKE_SYSTEM_NAME aarch64-rtems6)
|
||||||
|
|
||||||
|
set(CMAKE_SYSTEM_PROCESSOR a72)
|
||||||
|
|
||||||
|
# which compilers to use for C and C++
|
||||||
|
set(CMAKE_C_COMPILER aarch64-rtems6-gcc)
|
||||||
|
set(CMAKE_CXX_COMPILER aarch64-rtems6-g++)
|
||||||
|
|
||||||
|
set(CMAKE_C_COMPILER_WORKS 1)
|
||||||
|
set(CMAKE_CXX_COMPILER_WORKS 1)
|
||||||
|
|
||||||
|
# where is the target environment located
|
||||||
|
#set(CMAKE_FIND_ROOT_PATH /usr/i586-mingw32msvc
|
||||||
|
# /home/alex/mingw-install)
|
||||||
|
|
||||||
|
# adjust the default behavior of the FIND_XXX() commands:
|
||||||
|
# search programs in the host environment
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
|
|
||||||
|
# search headers and libraries in the target environment
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
39
unittests/testcfg/rtems/include/cmath
Normal file
39
unittests/testcfg/rtems/include/cmath
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include_next <cmath>
|
||||||
|
|
||||||
|
extern "C++"
|
||||||
|
{
|
||||||
|
namespace std _GLIBCXX_VISIBILITY(default)
|
||||||
|
{
|
||||||
|
|
||||||
|
#undef lround
|
||||||
|
#undef erfc
|
||||||
|
#undef round
|
||||||
|
|
||||||
|
|
||||||
|
using ::lround;
|
||||||
|
|
||||||
|
long
|
||||||
|
lround(float __x);
|
||||||
|
|
||||||
|
constexpr long
|
||||||
|
lround(long double __x);
|
||||||
|
|
||||||
|
using ::erfc;
|
||||||
|
|
||||||
|
constexpr float
|
||||||
|
erfc(float __x);
|
||||||
|
|
||||||
|
constexpr long double
|
||||||
|
erfc(long double __x);
|
||||||
|
|
||||||
|
constexpr float
|
||||||
|
round(float __x);
|
||||||
|
|
||||||
|
using ::round;
|
||||||
|
|
||||||
|
constexpr long double
|
||||||
|
round(long double __x);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user