WP6-ESDE: Difference between revisions

From COMP4DRONES
Jump to navigation Jump to search
Line 20: Line 20:
|}
|}


The design approach, yet used for some GLAD+ development and explained in [[WP5-15_2]] has proven to be useful and enables model building/refinement relying on raw sensor data logged at past captures.
For the design and development of a complete positioning and attitude solution like GLAD, ACORDE relied on a conventional design flow where a former hih-level model using Matlab was used. Then a manual translation was done to C++, which was tested on the final physical prototype.
However, it has also some important disadvantages. One of them is associated to the conventional, sequential HW/SW development. HW platform design and implementation comes before driver development or RTOS port (if required). In turn, HW/SW platform availability is a pre-condition for application development. Once the application is ready, it is possible to evaluate if the performance (timing, memory, energy and power consumption, etc) and validate it. As well as the long latencies involved, the flow adds the risk of late finding of performance bottlenecks that involve a drastic re-design, of hardware in the worst case. To these drawbacks, we need to add the high cost of translation of Matlab models to C/C++ implementation, and the traceability problems generated at the validation time.
While proven, this approach had also some important disadvantages:
 
* Enforces a sequential HW/SW development. HW/SW platform availability is a pre-condition for application development.  
* Long simulation times and lacks on the modelling language (e.g., no time modelling)
* High translation effort from the high-level model (in Matlab) to the implementation language.


== Detailed Description ==
== Detailed Description ==

Revision as of 21:39, 28 September 2022

ESL embedded Software Design Environment (ESDE)

ID WP6-ESDE
Contributor ACORDE
Levels Tool, Platform
Require Linux, Virtual Platform Development Platform
Provide Executable System-Level modelling, automated embedded software generation, Virtual Platform based validation
Input SystemC models, RTOS API target, Platform target, Platform model
Output Functional and time performance validation. Close to production firmware generation and validation.
C4D tooling n.a.
TRL 4

For the design and development of a complete positioning and attitude solution like GLAD, ACORDE relied on a conventional design flow where a former hih-level model using Matlab was used. Then a manual translation was done to C++, which was tested on the final physical prototype. While proven, this approach had also some important disadvantages:

  • Enforces a sequential HW/SW development. HW/SW platform availability is a pre-condition for application development.
  • Long simulation times and lacks on the modelling language (e.g., no time modelling)
  • High translation effort from the high-level model (in Matlab) to the implementation language.

Detailed Description

In COMP4DRONES, ACORDE is developing and evaluating a newer approach to overcome those drawbacks. It is sketched in Figure 69. The ESDE framework developed in WP6 [33], is encrusted in at a top level layer, for a system-level approach to embedded software design and development, to encompass the conventional HW/SW platform development capabilities and processes of ACORDE.

System-level methodology for the design and implementation of outdoor geo-referenced position&attitude estimation systems in COMP4DRONES


Contribution and Improvements

Some key aspects of the ESDE flow for productivity improvement are:

  • The fast functional models that can be built at the top lever, able to significantly speed-up functional validation vs Matlab model execution.
  • The automated embedded software generation mechanisms that avoid a significant translation effort from the system model to the implementation C/C++ code.
  • The possibility to parallelize of the development of firmware (binary or object file), or very close version of it with HW development, by relying on a high-fidelity virtual platform.
  • The possibility to validate firmware (without availability of the physical platform), eventually using several virtual platforms for test parallelization

Interoperability with other C4D tools

TBC

Current Status

Design and Implementation