Proposed CFE Demo on RTEMS

Cudmore, Alan P. (GSFC-5820) alan.p.cudmore at nasa.gov
Mon Dec 22 19:43:26 UTC 2014



On 12/22/14 11:02 AM, "Joel Sherrill" <joel.sherrill at oarcorp.com> wrote:

>
>
>On 12/22/2014 08:52 AM, Cudmore, Alan P. (GSFC-5820) wrote:
>> I don't think it will be hard to make some neat flight software demos
>> based on RTEMS.
>>
>It needs to be completely open so anyone can show it. I am
>hoping it is enough to garner more interest in RTEMS and
>help get help/funding to finish some of the missing pieces.

Once we port the OSAL to use the dynamic loader, it should all be
available. A VM with tools and simulator target should be possible too. I
have a setup that runs in GDB/SIS.

>> 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.
>Agreed. Some of this can be done as GSoC projects if we have
>mentors and good project descriptions.
>> 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)
>>
>You know the dynamic loader is in the tree now but has compile
>issues on some targets and a fair number of warnings. It just needs
>some final love. :)

Hoping to get to that..

>> 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.
>>
>This would be important for both small satellite and CubeSat
>projects as well as "more serious" missions. The low cost missions
>being able to start with a solid foundation and flight proven
>middleware is a HUGE advantage over the repeated roll your
>own process done now.
>> 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.
>>
>Agreed. Mark and I had three boards with us last week and I
>would like to up the game. More boards we are able to travel with
>and show a demo on. Plus a better demo. :)
>> 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.
>The Pi is wired over USB which will require the new stack plus
>some work.

This is a huge job. I just ordered a $6USD ENC28J60 SPI ethernet module to
try out. There are a number of drivers available for this, and it should
also work with LWIP.
U-boot can use the Pi's USB and ethernet. Too bad the license is not
compatible. 

>
>The Beagle is wired and might have a FreeBSD driver but it
>also has an LWIP driver so pushing that might be a good quicker
>solution. Either is an option though. Worst case, the Minix can
>be ported.

I'm starting to like the Beaglebone options. I'm going to have to dust
mine off soon!

>
>The Edison is harder. The BSP itself needs more work. PCI
>configuration space support, interrupts, etc. But it is Wifi
>so that's a whole new world.
>
>The Zynq and LEON3 should be in better shape for demos.
>
>
>> - 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 ).
>>
>Has anyone identified a project plan for this? It would be
>a good GSoC project.

Andre was working on SD card support for the Pi. But we can still run with
TarFS/TFTP if needed.

>> After that, we just need to have the Glue code for entry point, memory
>> access, resets, etc.
>>
>What do you require for this? I don't know this.
In the cFE world, it's called a PSP, or Platform Support Package. It is
the glue code that adapts the cFE to a particular board/OS combination.

>> 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.
>>
>:) I would just like to set this as a challenge for the community
>to focus on the CFE requirements and a demo. This software stack
>will also meet the needs of other domains and then we can focus
>on a vertical stack for another domain.
>
>Hopefully the CFE and RTEMS communities can pull this off quickly.
>
>--joel
>> 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
>
>
>-- 
>-- Joel Sherrill, Ph.D. Director of Research&  Development
>joel.sherrill at OARcorp.com On-Line Applications Research Ask me about
>RTEMS: a free RTOS Huntsville AL 35805 Support Available (256) 722-9985
>




More information about the devel mailing list