Proposed CFE Demo on RTEMS

Cudmore, Alan P. (GSFC-5820) alan.p.cudmore at nasa.gov
Mon Dec 22 14:52:57 UTC 2014


I don't think it will be hard to make some neat flight software demos
based on RTEMS.

In my view, the best thing the community could do is to keep improving the
BSP/device support for the low cost platforms such as the Pi, Beaglebone,
and Edison. We need network ( Ethernet or wireless ), EMMC/SD card
support, I2C, SPI, etc. With this kind of support, we can be closer to
just dropping or software on the board and running. Of course, this
benefits all RTEMS users, not just the FSW community.

The other part that is required by our flight software is a dynamic
loader. We hope to integrate support for Chris's loader soon, which will
make our flight software much easier to integrate on a generic RTEMS
system. A neat demo is easily possible for next years workshop. (I already
have a pretty impressive Pi based demo system, but it uses linux)


More info for those interested:

Our flight software consists of 4 layers:
RTOS - Can be RTEMS, vxWorks, Linux/POSIX, and soon FreeRTOS and ARINC653
OSAL - OS abstraction layer - ported to Linux/POSIX, RTEMS, vxWorks
cFE - Core flight executive
CFS Applications ( CFS stands for Core Flight System , encompassing all of
the flight software )

Currently the OSAL and cFE are open source. We are waiting for the
approval for many of our CFS Applications to become open source as well.
It would be nice to have a complete open source Flight Software Stack that
can be downloaded, compiled, and run with little effort.

A beagle, Pi, or Edison demo should not be too hard. We already run on
RTEMS targets, but the important part would be to finish the RTEMS "out of
the box" experience, so that anyone can duplicate the demo. Other
interesting platforms would be Zync, OpenRisc, and LEON3.

To do this, we need:
- Port the OSAL to use the RTEMS loader. The CFS applications are
dynamically loaded. In the past we have worked with Cexp, and a static
module loader that is not open currently source, and a "fake" loader where
I just link everything into one image with the RTOS. This is the only
generic RTEMS item needed. This will be done soon!
- BSP network support: We can command our software and receive telemetry
over UDP/IP, which would be good for a demo. The open source cFE package
has a very simple Python/QT4 based command and telemetry system, and there
are better command and telemetry systems being developed that will
hopefully make their way to a public release.
- BSP file system support: We could run our software using a tar/IMFS
system but we really want to load file and apps from flash ( SD/emmc ).

After that, we just need to have the Glue code for entry point, memory
access, resets, etc.

After the basic platform is established, a community demo could include
CFS apps interfacing with components such as GPS, IMU, Motor controllers,
etc. I like the tiny Intel Edison stack with an IMU and battery pack. An
impressive demo would be something that you could just pass around while
it's sending telemetry to the ground system/PC. Of course, an even better
demo would be an RTEMS powered Drone.

Alan



On 12/21/14 12:16 PM, "Joel Sherrill" <joel.sherrill at oarcorp.com> wrote:

>Hi
>
>One idea Mark and I had at the Flight Software
>Workshop was to up the ante on demos for RTEMS.
>We ran fileio and ticker as demos. The next
>space show we go to, we want to show CFE/CFS
>doing something on at least the Beagle. Ideally
>it would also run on the Pi and Edison showing
>portability.
>
>CFE has an open source portion so at this point
>we need to turn to Alan Cudmore for guidance on
>what is possible without taking a huge lab.
>
>We particularly think this will appeal to the
>small sat and cubesat communities but the big
>mission folks will see value in it as well.
>After all, we won't carry a hugely expensive
>space qualified board around for demos. :)
>
>So let's define what it is and tackle it as
>a community.
>
>--joel




More information about the devel mailing list