1
0
forked from fsfw/fsfw

compiling, crashing when run

This commit is contained in:
2023-01-18 00:25:25 +01:00
parent 90efb132d0
commit fdfdce2fb0
7 changed files with 112 additions and 8 deletions

View File

@ -43,6 +43,44 @@ void unittestTaskFunction(void* pvParameters) {
}
#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[]) {
customSetup();

View 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)

View 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);
}
}