Re: [taste-users] TASTE with RTEMS 4.12 (or maybe 5.1)

[ Thread Index | Date Index | More lists.tuxfamily.org/taste-users Archives ]


Hello Thanassis,

On 16/10/17 10:04, Thanassis.Tsiodras@xxxxxxx wrote:
Hello, Sebastian.

*The good news:*

The current version of TASTE is already using RTEMS 4.12 :-) You can see this for yourself by downloading the TASTE VM: from https://taste.tools/go to "Download area" and you will see a big /.ova /file (/TASTE-VM-9.0.1-32bit.ova/) - that's a VirtualBox "appliance" that you can import in any installation of VirtualBox.

Booting that machine you will then see...

/(master)*$ sparc-rtems4.12-gcc -v/
/Using built-in specs./
/COLLECT_GCC=sparc-rtems4.12-gcc/
/COLLECT_LTO_WRAPPER=/opt/rtems-4.12-2017.07.17/libexec/gcc/sparc-rtems4.12/7.1.0/lto-wrapper/
/Target: sparc-rtems4.12/
/Configured with: ../gcc-7.1.0/configure --prefix=/opt/rtems-4.12-2017.07.17 --bindir=/opt/rtems-4.12-2017.07.17/bin --exec_prefix=/opt/rtems-4.12-2017.07.17 --includedir=/opt/rtems-4.12-2017.07.17/include --libdir=/opt/rtems-4.12-2017.07.17/lib --libexecdir=/opt/rtems-4.12-2017.07.17/libexec --mandir=/opt/rtems-4.12-2017.07.17/share/man --infodir=/opt/rtems-4.12-2017.07.17/share/info --datadir=/opt/rtems-4.12-2017.07.17/share --build=i686-linux-gnu --host=i686-linux-gnu --target=sparc-rtems4.12 --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --verbose --with-newlib --disable-nls --without-included-gettext --disable-win32-registry --enable-version-specific-runtime-libs --disable-lto --enable-newlib-io-c99-formats --enable-newlib-iconv --enable-newlib-iconv-encodings=big5,cp775,cp850,cp852,cp855,cp866,euc_jp,euc_kr,euc_tw,iso_8859_1,iso_8859_10,iso_8859_11,iso_8859_13,iso_8859_14,iso_8859_15,iso_8859_2,iso_8859_3,iso_8859_4,iso_8859_5,iso_8859_6,iso_8859_7,iso_8859_8,iso_8859_9,iso_ir_111,koi8_r,koi8_ru,koi8_u,koi8_uni,ucs_2,ucs_2_internal,ucs_2be,ucs_2le,ucs_4,ucs_4_internal,ucs_4be,ucs_4le,us_ascii,utf_16,utf_16be,utf_16le,utf_8,win_1250,win_1251,win_1252,win_1253,win_1254,win_1255,win_1256,win_1257,win_1258--enable-threads --disable-plugin --enable-libgomp --enable-languages=c,c++,ada/
/Thread model: rtems/
/gcc version 7.1.0 20170502 (RTEMS 4.12, RSB e2952bb185c1f40027caa76cfd9e4a45b17a8886-modified, Newlib 2.5.0.20170623) (GCC) /

This is a version of 4.12 built from the commit you indicated as the right one to use for projects, back in July - that is, the last one we tested on both the GR712 and the GR740 - with all tests passing.

ok, this is good. I didn't test the VM yet and the wiki page

http://taste.tuxfamily.org/wiki/index.php?title=Building_a_TASTE-y_RTEMS

indicated that a hand crafted RTEMS 4.11 tool chain is in use.



This toolchain was also built to include Ada support (/necessary for some of the TASTE code generators that emit Ada code/). Preliminary tests seem to work - but we have not performed any extensive testing on these parts yet.

If someone cares about Ada, then the next two weeks or so would be a good time frame to test it and integrate Ada fixes into RTEMS.



In addition to the VM, we are also supplying a Dockerfile ( https://gitrepos.estec.esa.int/taste/taste-setup/blob/master/Dockerfile) - allowing you to build a container that has a complete TASTE install inside it, built from source.  A Debian chroot is also an option (see the README in the "taste-setup" repo linked above for details) - or under Debian-based platforms, a native install.

*The bad news:*

The move to 4.12 is breaking the code related to some TASTE drivers - we need to e.g. rewrite the code necessary to support SpaceWire as a communication channel. I recently tried to compile the Gaisler SpW examples with 4.12, and saw numerous failures - many defines have been renamed in the new BSPs, and I understand that the driver model itself has changed. A new project is underway where this - and other things - will hopefully be addressed (/Gaisler is part of the consortium in it/)..

There are too many RTEMS drivers for the Gaisler platforms around in the wild. It would be good to consolidate this step by step and move the drivers to the official RTEMS. Gaisler already integrated their driver manager and the standard drivers. It makes no sense that every European space project using RTEMS and Gaisler products uses its own copy and paste driver versions.

In case interfaces are missing (e.g. low level hardware access as a hypervisor guest, etc.), then we can add them to RTEMS as well.



As for signals use, I am not the one behind the Ocarina/POHI middleware - which is the only one that could be doing this - so I will ask the Ocarina crew and get back to you.  A quick grep though shows a 'signal' call in at least one Leon-related TASTE driver used by POHI - the ethernet one ( https://gitrepos.estec.esa.int/taste/polyorb-hi-c/blob/master/src/drivers/po_hi_driver_leon_eth.c#L628).

Who sends this SIGPIPE which is ignored here?

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber@xxxxxxxxxxxxxxxxxx
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/