An increasing number of the systems in today’s cars, trucks, and industrial vehicles are coming under the control of microprocessors running specialized software. As these electronic systems grow in number and complexity, engineers at leading carmakers and suppliers increasingly rely on products from Green Hills Software to create, test, and deploy software for these systems:
- engine control and transmission (powertrain)
- body, chassis, and safety systems
- infotainment
In powertrain systems, electronic components 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
|
|
|
| Meeting & exceeding the challenges of powertrain applications |
|
The software development tools and real-time operating systems (RTOSes) from Green Hills Software provide the features and capabilities required to both meet and exceed the unique challenges posed by powertrain applications:
- advanced C/C++ compilers produce the smallest code and fastest execution times
- modern velOSity RTOS guarantees microsecond response time while using little memory
- innovative SuperTrace Probe, TimeMachine Suite, and MULTI IDE shorten software development and build in quality that avoids costly consumer recalls
- royalty-free RTOS ensures lowest production costs
- highly experienced field engineers provide local support to customers in Detroit/Kokomo, Germany, Japan, Italy and other centers of powertrain software development
|
|
| Overcoming severe memory limits |
| Processors in powertrain applications have some of the 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 such as Freescale Semiconductor 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 30% smaller than from other, less capable compilers. |
| Ensuring fastest execution |
|
While requirements on memory grow, several 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 optimized for these modern processors to help meet these new requirements. Green Hills compilers consistently produce the highest performance code in the industry. This is demonstrated in Green Hills compilers’ dominance of 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). |
| Building bug-free applications |
The best way to ship bug-free code is to never introduce the bug in the first place. Product recall is a last resort 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 support
- 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
C/C++ compilers
For over 25 years, customers have relied on Green Hills optimizing compilers to generate quality executable code for dozens of automotive applications in the US, Europe, and Japan on leading powertrain processors including PowerPC, V850, and Super-H.
Green Hills C and C++ compilers generate highly optimized code while strictly adhering to industry-standard language requirements. They support a variety of userselectable 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
MULTI 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 their ambiguity and susceptibility to common programming mistakes.
With MULTI, system developers can select exactly which MISRA C rule 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.
|
| Slashing development costs |
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.
Advanced debugger
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.
 |
 |
| |
| |
TimeMachine Suite
A truly innovative tool, the TimeMachine Suite extends the familiar MULTI debugger interface with functions that let developers run back in time. TimeMachine enables 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 easier to fix.
The TimeMachine Suite includes a 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, TraceEdge, or the SuperTrace Probe.
Nexus debug interface
MULTI uses the IEEE Nexus debug interface standard, Class 3+ for advanced debugging and run control.
For example, MULTI can provide real-time variable access. Within MULTI’s familiar variable explorer window, you can read and write one or more memory locations in real-time. The user can watch a set of calibration variables change in real-time or enter new values for those variables from the keyboard, all without impacting the processor execution.
Code Coverage Analysis utility
To help boost both product efficiency and reliability, the Code Coverage Analysis utility displays which lines of code were—and were not—executed during one or more runs of a program. By quickly distinguishing which code did not execute, this utility helps ensure comprehensive testing.
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.
Performance Profiler
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 functions 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.
Pre-silicon development on simulators
The MULTI IDE and debugger is integrated with third-party cycle-accurate simulators and “full-chip” simulators to enable rapid prototyping and development before a processor is available. Third-party vendors include VaST Systems Technology and Freescale Semiconductor.
|
| Royalty-free real-time operating systems |
| Green Hills Software’s velOSity RTOS, is small, fast, and royalty-free, making it a perfect fit for cost-sensitive, high-volume, and resource-constrained powertrain applications. velOSity is the foundation of Green Hills secure INTEGRITY RTOS. Besides sharing common services, device drivers, BSPs middleware, and network stack support, both systems are tightly integrated to the MULTI debugging environment.
|
| Processor probes |
Green Hills Software’s three processor probes provide a range of performance and features to load, control, debug, and test target systems without prior board initialization, an RTOS, or ROM monitor:
- SuperTrace Probe—the most powerful of all Green Hills probes, this trace probe captures up to one gigabyte of trace data at trace port clock speeds over 300 MHz
- Green Hills Probe—this high-performance probe offers download speeds of up to 500 KBps through three host interfaces: Ethernet, RS-232, and USB
- Slingshot debug device—this economical probe combines download speeds of up to 150 KBps over the USB interface in a compact package
|
| Trusted by leading automakers |
Ford Motor Company
Ford Motor Company is using Green Hills Software's optimizing compiler and instruction set simulator to develop engine control software for the Lincoln® Aviator, Jaguar, and Taurus. The software runs on a Freescale MPC55x PowerPC® board processor inside the Aviator engine control module and controls the fuel injection system to maximize combustion efficiency and boost fuel economy.
Toyota Motor Corporation
Toyota is using Green Hills Software's MULTI IDE and C/C++ Compiler to develop engine and transmission control software for the Avalon using an advanced NEC 32-bit processor.
MotoTron Corporation
MotoTron is using Green Hills Software's MULTI IDE and optimizing C/C++ compilers to develop engine control software for the Allstar™ 708 high performance engine. Using Freescale's MPC555 microcontroller and MotoTron's flexible embedded software, the Allstar 708 engine can be used for many applications requiring high power output such as automobile racing and industrial tasks. |
|
|