Baremetal Target TaskIdRepr Definition #1077
teddylambert
started this conversation in
General
Replies: 1 comment 1 reply
-
It looks like you're right and that this may have been broken for some time... we really should consider adding a bare metal scheduling build to CI to make sure regressions like this don't reoccur. @SterlingPeet is right, there is a use case for a linux deployment using bare metal scheduler, primarily for testing purposes, and I think it's probably worth trying to support that. It's may be as straightforward making
|
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
GT-2 Team here again,
We are trying to generate and build a simple deployment in fprime 2.0.1 for a Baremetal ATmega128 target. However, on generation, we are running into an error that
TaskIdRepr
is not defined, specifically:We have traced this back to the following include path:
Task.cpp
->#include <Os/Task.hpp>
->#include <Os/TaskId.hpp>
->#include <Os/TaskIdRepr.hpp>
, and withinTaskIdRepr.hpp
we have the following#ifdef
:There are a few issues we are running into with this statement:
TGT_OS_TYPE_BAREMETAL
which means both conditions will fail andTaskIdRepr
does not get defined, which produces the error above.a. This seems to have a pretty simple solution of changing the first line to
#if defined(TGT_OS_TYPE_VXWORKS) || defined(TGT_OS_TYPE_BAREMETAL)
, however this would be a change within fprime itself so we wanted to start a discussion around itTaskIdRepr
. However, this defines the variable as apthread_t
type, but how would the bare-metal scheduler handle threading?In general, it seems like there are changes that would need to be made for bare-metal support, but not sure whether our one-line fix is the best way to go about it given point 2 as well
Beta Was this translation helpful? Give feedback.
All reactions