[taste-users] New features in TASTE

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

Greetings, TASTE community!

The hard working people behind taste-dev are happy to share some TASTE-y news with you!
Put simply, over the last couple of weeks we've done the necessary work to merge a number of new features into TASTE:

- A freshly-built RTEMS cross-compiler from the mainline - with Ada support and SMP Leon3/4 BSPs.
- A Leon3 simulator with SMP support
- Support for Time and Space partitioning via the ARINC653-compliant AIR hypervisor
- The latest versions of DMT, ASN1SCC and OpenGEODE - with many new features and bugfixes. Of particular interest to some of you, will be that builds (and especially) rebuilds are accelerated significantly.

In detail:

If you  cd ~/tool-src ; git checkout -f master ; ./Update-TASTE.sh .... you will get...

1. The latest RTEMS from the mainline

A freshly-built RTEMS cross-compiler from the mainline - with the usual extra TASTE-y tidbits (e.g. support for Ada - which is not part of the Gaisler RCCs).
In addition, thanks to some work from Jiri Gaisler himself ( https://lists.rtems.org/pipermail/devel/2019-February/024794.html ) we can now use the updated GDB in the RTEMS toolchain to simulate SMP Leon3 binaries from inside the TASTE VM!
Just launch "taste-simulate-leon3" like you used to - and by default, this will simulate your binaries running inside a 4 core Leon3 system (https://gitrepos.estec.esa.int/taste/taste-setup/blob/master/misc/helper-scripts/taste-simulate-leon3#L95) ..

As for the RTEMS build itself, it is built from these commits:

- RSB: 639eed3c77c830a2ac9f36baca21919f8b7bf1be
- RTEMS: 6eae5860507aa19d30b8ad1464896a5e9208a7bd

...and it comes with pre-packaged:

- Non-SMP Leon2 BSP
- SMP Leon3 BSP

Also, the complete RTEMS testsuite has been executed - on both a GR712RC and a GR740 board - with all tests passing.

2. Speed!

Various fixups and optimizations all over - e,g, the Data Modelling Toolchain now caches all ASN.1 and AADL ASTs, avoiding re-parsing files with identical content (checksum-based comparisons).

This leads to dramatic speed-ups (between one and two orders of magnitude...) especially in re-builds.
As an example, try changing the code for the functional blocks inside "tool-src/testSuites/Demo_C_RTEMS".... and see the rebuild finish in 2.8 seconds.

3. The AIR Hypervisor (Time and Space Partitioning)

The MORA/TSP activities have led to the integration of the AIR Hypervisor inside TASTE.
Yep, we now have a TSP hypervisor!...

Look at the example under "tool-src/kazoo/test/test-air-interpartcomm/" to witness two partitions hosting separate TASTE functional blocks that invoke each other's interfaces; and deploy the generated binary on any Leon3 system.

4. Kazoo

These new TSP builds were also the breeding ground for the development of "Kazoo" - the new build system by Maxime.

- It is written in Ada - and as all native code, it runs circles around any Python script, speed-wise!
- It also sports a template-based system that allows rapid implementation of all desired code/file generation.

To be clear, this is brand new - and as such, obviously it doesn't support all the requirements we have accumulated in the old build system - over more than one decade... (SCADE, ObjectGeode, auto-GUIs, VHDL/FPGAs, etc).
But this is our new baseline for an optimal  build system.

With Kazoo, the priority becomes clear:  we want TASTE to fly.

So embedded targets, speedy rebuilds, type-safety, automatic integration with FPGAs, bullet-proof static analysis-blessed code....
These are the primary goals.

In conclusion:

Even though we are leaving for a well-deserved vacation of 3 weeks, both me and Maxime are looking forward to your feedback and bug reports upon our return.
After all, TASTE would not be what it is without your feedback!  

So please try out the new features - and if something is now broken or doesn't work as well as it used to, don't hesitate to ping us back.

Kind regards,
Maxime and Thanassis.

Thanassis Tsiodras
Real-time Embedded Software Engineer
System, Software and Technology Department

Keplerlaan 1, PO Box 299
NL-2200 AG Noordwijk, The Netherlands
Thanassis.Tsiodras@xxxxxxx | www.esa.int
T +31 71 565 5332
This message is intended only for the recipient(s) named above. It may contain proprietary information and/or
protected content. Any unauthorised disclosure, use, retention or dissemination is prohibited. If you have received
this e-mail in error, please notify the sender immediately. ESA applies appropriate organisational measures to protect
personal data, in case of data privacy queries, please contact the ESA Data Protection Officer (dpo@xxxxxxx).

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