Graphical Development Environment
The GDE forms part of the integrated data analysis systems provided by McLaren Electronics.
The GDE facilitates model based embedded code generation. The entire system application code can be auto-generated from models developed with tools from The MathWorks.
The Graphical Development Environment (GDE) provides the automated build environment to generate code tailored to MES’ ECUs, and block libraries which allow the configuration of parameters, the logging of signals, generation of errors and events plus other MES ECU specific control.
The GDE uses Matlab, Simulink, Real-Time Workshop and Embedded Coder Version (R2008a and later).
- Simulation and code generation environment
- System Monitor supported file generation
- Generation (via System Monitor) of downloadable files
- Different MES system targets are supported through Platform Support Packages
- XML driven automatic assembly of application models from component models. An XML driven Data Dictionary for configurable data may be used
- Automatic generation of HTML/XML documentation containing models browsable using Microsoft Internet Explorer.
GDE v8.2 Platform Support Packages are currently available for the following targets:
- TAG-310 (FIA Formula One Standard ECU)
- TAG-320 (Engine control unit - check availability)
- TAG-400 (Engine control unit)
- HSL-300 (High speed logger)
- HSL-500 (High speed logger)
- CIU-100 (Control interface unit - check availability)
Support for other MES systems can be implemented as required
Each supported MES system provides the ability to run one or more customer applications, on top of a MES provided BIOS. The BIOS, provided by MES, provides I/O, logging and task scheduling support for the application code.
The GDE provides the ability to generate an entire application from a single Simulink model.
The application supports multitasking at the rates supported by the target (typically, but not limited to 1ms, 2ms, 5ms, 10ms, 50ms, 100ms background and initialisation). Additionally, where supported by a target, an engine synchronous task rate is provided.
Where a target provides the ability for the application to run across multiple ECUs and processors, the GDE will produce a single downloadable file containing the code for all ECUs processors. The division of application functionality between processors within the ECUs is determined by the model designer, and is controlled through the layout of the Simulink model.
Simulink Model Layout
A standard template Simulink model is provided for each target which shows the top level layout required for that target. The system is divided down into processor applications in each ECU through the model hierarchy. This is illustrated in the adjacent image, which shows one application (TAG310App1) divided across two processors (AP and CP) in a single ECU. For each processor the division of code between task rates is handled through the allocation of sample times to the Simulink blocks.
At the top level of the model a setup block is provided which contains information needed during code generation, such as the application version number, and definitions of inter application and inter processor memory areas.
Platform Support Packages
For each supported MES target system, a Platform Support Package is available which provides the necessary files to tailor the GDE for that system, an example top level model, and blocks to support target specific features
Automatic model assembly
In order to increase the maintainability of the Simulink models, a method of assembling an application model from a number of component model subsystems is available. This allows work on different sections of the code to be carried out in parallel.
An XML file is used to define the contents of the model.
Using this system allows component models to be moved between task rates or between processors by simply editing the XML file.
The system also allows the use of template model subsystems, where one source subsystem is used multiple times within the application, with each instance varying. This can be achieved by placeholder substitution of parameter names (e.g. for wheel speed processing, replace a key string in the source model by FL, FR, RL, or RR), or by model substitution. For the latter case, each source subsystem may contain any number of placeholder subsystems, into each of which another source subsystem may be placed, controlled by the XML configuration file. During model assembly, when the placeholder subsystem is substituted, it is possible to carry out parameter name substitution under the control of the XML file.
For models which have been assembled using automatic model assembly, an option is available to allow the generation of HTML based documentation. This documentation contains images of every Simulink and Stateflow subsystem/state. The HTML document may be browsed with Microsoft Internet Explorer in a similar way to browsing a model in Simulink; i.e. double-clicking on a subsystem will open a new window showing the contents of that subsystem. No installation of Matlab is required to browse the documentation
By distributing the documentation with the GDE generated program version files, System Monitor is able to open the relevant model subsystem for any configurable or measurable parameter via a context menu.
Matlab R2008a to R2010b, with the following Toolboxes:
- Real-Time Workshop
- Real-Time Workshop Embedded Coder
- Stateflow (optional) + Stateflow Coder
Or Matlab R2011a or later with the following Toolboxes:
- Simulink Coder
- Embedded Coder
- Stateflow (optional)
C compiler as required for the target platform (details available on request).