Green Hills Platform for Automotive Powertrain
Few areas in the car have more demanding embedded electronics requirements than engine and transmission controllers—known as powertrain. Powertrain designers require the fastest and smallest code possible. Deeply embedded, powertrain systems are rigorously tested for absolute correctness in severe heat, cold and vibration scenarios. They must meet government emissions regulations, thrill the driver, and survive for decades. New twists include hybrid vehicles with dual-engine controllers. Finally, multicore processors have made implementing the millions of lines of code in these systems even more complex.
The electronic components in modern engine control and transmission systems run a variety of specialized applications, including:
- engine management software to coordinate fuel, spark and other subsystems to meet legislative exhaust emission regulations, provide greater fuel economy, increase power, and provide customer quality features such as cruise control and improved cold-weather engine starting
- electronic transmission control software to monitor engine and car speed as well as the loads on throttle, brake pedal, and engine to change gear ratios for an easier and smoother driving experience
- diagnostics software to enable carmaker system engineers and mechanics to test and correct engine management and transmission systems
- hybrid electric vehicle controllers to intelligently manage and combine propulsion from the internal combustion engine and electric propulsion system, also managing regenerative braking, electrical generator and start-stop systems
Powertrain applications have some of the vehicle's most severe memory constraints. Leading the industry with the smallest code sizes, optimizing C/C++ compilers from Green Hills Software enable system developers to avoid buying bigger, more expensive memory parts. Likewise, more features can be added without adding memory to gain a competitive advantage or comply with growing emissions requirements.
Driven by these code size challenges, silicon manufacturers have added special features to their processors that allow advanced compilers to significantly shrink an application's code size. Green Hills compilers have been tailored to exploit these features and produce code much smaller than less capable compilers.
While requirements on memory grow, government and customer trends are forcing powertrain software producers to add increasingly complex software algorithms that require more processor speed. Examples include stringent emissions regulations, advanced cruise control, better fuel efficiency, and anti-knock algorithms.
Green Hills compilers have been rigorously optimized for these modern processors to help meet these new requirements. Green Hills compilers consistently produce the highest performance code in the industry. Green Hills compilers continually dominate the Automotive benchmarks published by EEMBC®, the independent consortium of embedded processor manufacturers (for more information on EEMBC and specific benchmark scores visit www.eembc.org).
The best way to ship bug-free code is to never introduce the bug in the first place. Recalling a vehicle model is an expensive, last-resort-only option. The products from Green Hills Software include a number of capabilities designed to help you develop the most reliable code:
- run-time error detection
- mature compilers
- MISRA-C adherence wizard
- automated module test
- data visualization with MATLAB integration
Run-time error detection
The MULTI IDE’s Run-Time Error Checking utility enables accurate and easy identification of the location of a variety of run-time errors. By pinpointing the source line where the error first occurs, error checking can save hours otherwise spent hunting down bugs. Errors detected include:
- accessing an element beyond an array’s declared bounds
- assigning an out-of-range value to a variable or field
- an unhandled case in a switch statement
- dividing by zero
- accessing invalid memory through a pointer—memory leak detection
Optimizing C/C++ compilers
For over 30 years, customers have relied on Green Hills optimizing compilers to generate quality executable code for dozens of automotive applications in the US, Europe, and Asia on leading 32-bit powertrain processors.
Green Hills C and C++ compilers generate highly optimized code while strictly adhering to industry-standard language requirements. They support a variety of user-selectable features, including programming language, target architecture, performance level, and debugging level. Green Hills compilers include a command-line interface for easy automation as well as a tight integration with the MULTI IDE for easy customization and project visibility.
MISRA C support
Green Hills' MISRA-C Adherence Wizard includes automated support for the MISRA C programming guidelines to help programmers write safer code. MISRA identifies aspects of the C language that should be avoided due to ambiguity and susceptibility to common programming mistakes.
With MULTI, system developers can select exactly which MISRA C rules to enforce. Selections can be made graphically or from the command line. At compile time, the violations of MISRA C rules are reported. Violations that can only be detected at run-time are are also automatically detected and reported by MULTI’s run-time error detection.
VectorCAST automated module test system
VectorCAST is a leading module test system that automates component level testing of software applications. This state of-the-art automation includes the tasks of building complete test harnesses, test cases and execution reports. Prior to VectorCAST, you were required to manually generate test code to isolate individual software components before any testing could begin. VectorCAST removes this preparation work with automatic test code generation. Different VectorCAST modules have been integrated with the MULTI IDE, Green Hills compilers, and the INTEGRITY RTOS to allow testing directly on an embedded target development system.
MathWorks Embedded Coder and Simulink integration
Working through MULTI, Embedded Coder® from MathWorks® translates MATLAB and Simulink models into compact code, generate executables optimized for the target processor through Green Hills optimizing compilers and download and debug on the target.
MULTI and the TimeMachine suite slash the time and costs of developing powertrain software applications. MULTI’s components were all created by Green Hills and are seamlessly integrated with MULTI’s debugger, editor, and—when present—real-time operating system.
The MULTI IDE’s powerful debugger offers advanced features for viewing data during program execution including a customizable Register View window that enables programmers to visualize all register resources of interest. With MULTI’s Cross-Reference Browser, programmers can view the role played by any specific variable or procedure throughout a program. MULTI provides comprehensive task- and kernel-aware debugging. MULTI can display multiple threads, including thread rosters, system objects, stack usage, semaphore usage and status, and a variety of other thread- and system- specific information.
A truly innovative tool, the TimeMachine Suite extends the familiar MULTI debugger interface with functions that let developers run back in time. TimeMachine enables unintrusive debugging of program behavior that lead up to the manifestations of a bug or problem. As a result, TimeMachine eliminates trial-and-error debugging and makes bugs much easier to fix.
The TimeMachine Suite uses the MULTI source-level debugger to run and step an applications back in time, PathAnalyzer and Function Flow tools, and the MULTI EventAnalyzer and Performance Profiler. TimeMachine is powered by trace history data that is collected using the instruction set simulator or the SuperTrace Probe. Using the same MULTI debugger, users can step, run, and set breakpoints backward in time. Likewise, the Profiler and other integrated tools are powered through trace data. Moreover, no new tools need to be learned.
Using industry standards for best multicore trace and debug interfaces
The Green Hills Probe and the SuperTrace Probe use the industry’s leading multicore debug and trace interfaces for fast download, fast and stable run-control and deep-visibility trace data gathering. Supported architectures include all leading 32-bit processor automotive architectures.
Open and rich scripting
All debugging commands accessible from a button or menu can be executed from the MULTI command pane. To automate command debugging tasks, commands can be saved to a script and run at the command prompt or automatically when debugging a program.
MULTI itself can be externally controlled through the open and rich Python programming language.
The MULTI Performance Profiler provides unequaled insight into program behavior by precisely specifying:
- the percentage of time spent executing each source line or instruction
- the total number of times each line or instruction was executed
- the total number of times each function was called
This instant access to accurate and detailed program execution data is a powerful tool for optimizing application performance. By showing where code execution consumes the most time, the Profiler pinpoints exactly where optimization efforts need to be focused.
Real-Time Operating Systems
- Deeply Embedded — the µ-velOSity microkernel offers a tiny 2KB footprint and simple programming model for resource-limited systems
- Automotive connectivity including CAN
- File systems featuring partition journaling, wear leveling flash storage and more
Software Development tools
- MULTI IDE and Green Hills toolchain are qualified to the highest functional safety levels, including ISO 26262 (ASIL D) and IEC 61508 (SIL 4) and EN 50128 (SWSIL 4)
- Green Hills Optimizing Compilers for C, C++, and Embedded C++ generate the fastest and smallest production-quality code on a broad range of automotive processor architectures
- MULTI IDE includes multicore debugger, profiler, simulator, run-time error checking, project builder, editor and much more
- TimeMachine revolutionary debugging suite. Run and step an application back in time to find even the most difficult bugs in minutes.
- MISRA C Adherence Wizard for building in code quality at the time of compilation
- DoubleCheck integrated static source code analyzer
- Integration with MathWorks' Embedded Coder and Simulink for modeling, simulation and PIL testing
Hardware Development tools
- Green Hills Probe and SuperTrace Probe for multicore hardware bring-up, low-level debugging and trace-powered analysis tools
Device Lifecycle Management (DLM)
- Integrated products and services that enable embedded product manufacturers to monetize, manage and protect hardware and software intellectual property.
- System/software consulting
- Safety and security certification support
- BSP development & certification
Green Hills understands the value of providing integrated, total solutions directly to its powertrain customers. In addition to offering the industry's most comprehensive solutions, we have partnered with best-in-class technology providers to integrate their complementary products with the Green Hills Platform for Powertrain, including:
- Automotive connectivity including CAN
- Databases and storage including embedded databases and flash devices
- Code Quality, test and management including automated testing and code coverage analysis tools
- Application Modeling & Simulation for building and evaluating applications early in the software lifecycle
- Automotive processors from leading semiconductor manufacturers
For a complete list of ecosystem partners for Green Hills Platforms for Automotive click here.