Skip to content

RTEMS-5 support

Heinz Junkes requested to merge github/fork/hjunkes/7.0 into 7.0

This port is based on Andrew's changes to the configuration system. It introduces a new variable RTEMS_SERIES. Old API sources (<5.0) files can now be found in libCom/osi/os/RTEMS kernel. New sources in libcom/osi/os/RTEMS-posix. I tried to use as much as possible of the standard posix without changes for RTEMS-5.

Unfortunately it doesn't work for PowerPC on the newest master of RTEM-5 yet. Chris John is still tinkering with libld here. But this should work again at the end of the week. I tested it extensively only on the beatnik (MVME6100) hardware.

This is because of a bug: https://devel.rtems.org/ticket/2830 On qemu-i386 a single test (part of epicsTimeTest) is stuck and hanging with RTEMS-pc386-qemu:

{ // badNanosecTest static const char * pFormat = "%a %b %d %Y %H:%M:%S.%4f"; try { const epicsTimeStamp badTS = {1, 1000000000}; epicsTime ts(badTS); char buf [32]; ts.strftime(buf, sizeof(buf), pFormat); testFail("nanosecond overflow returned "%s"", buf); } catch ( ... ) { testPass("nanosecond overflow throws"); } }

It prints the testPass "nanosecond overflow throws" and is hanging after that.

This is because of a bug: https://devel.rtems.org/ticket/2830. I will ask Gedare if this can be fixed.

Things I haven't been able to do yet: Messages to the console (errPrintf, printf (stdout, stderr) are mixed and are not readable. The line editor (readline?) does not work yet.

Merge request reports

Loading