Freescale QorIQ Embedded Software Solutions

Real-time operating systems
    For totally reliable and absolutely secure applications
  • INTEGRITY-178B safety-critical RTOS
    Leading EAL6+ security certified RTOS, separation kernel architecture for safety and security-critical applications
  • INTEGRITY Multivisor
    For secure multicore virtualization
  • µ-velOSity royalty-free microkernel
    Small, fast, easy-to-learn operating system for the most cost-sensitive and resource-constrained devices

Software development tools
  • MULTI & AdaMULTI development environments
    Quickly develop, debug, test, and optimize embedded and real-time applications
  • TimeMachine debugging suite
    Go back in time to find the most difficult bugs—in minutes
  • DoubleCheck integrated static analyzer
    Easily pinpoint bugs early in development
  • Green Hills optimizing compilers
    Generating the smallest and fastest code from C, C++, and Ada 95

Processor probes
Device lifecycle management and data encryption
RTOS multicore and DPAA support

Green Hills Software's INTEGRITY real-time operating system is built on a separation kernel architecture to provide embedded systems with total reliability, aboslute security, and maximum real-time response.

On multicore systems, INTEGRITY supports both SMP and AMP modes of operation, and uses's ePAPR specification for booting multicore systems. When operating in SMP mode users can assign core affinity to processes in the system to lock them down to a particular core. This capability can improve determinism and performance in many cases, and also makes the system easier to debug.

INTEGRITY also leverages QorIQ's Data Path Acceleration Architecture (DPAA) for optimized datapath processing and management of data packets. Freescale's Netcomm Software (NCSW) package has been ported to INTEGRITY allowing users to get up and running quickly with a variety of packet processing applications.

INTEGRITY Multivisor
INTEGRITY Multivisor Multicore Virtualization for Freescale QorIQ

The INTEGRITY Multivisor is a microkernel Type-1 hypervisor optimized for QorIQ. Multivisor allows users to host critical native applications alongside guest operating systems and their applications in virtual machines. Virtual machines (VMs) can be single or multicore; since INTEGRITY treats them like other applications, they can be loaded and unloaded during run time, and managed with the full capabilities offered by INTEGRITY.

A high speed, low latency IPC mechanism is available for communications between applications in VMs and native applications. Health monitoring for VMs can be implemented in just a few lines of code using these simple APIs. The Multivisor also uses the QorIQ's Peripheral Access Management Unit (PAMU) to grant direct access to peripherals for virtual machines. This maximizes peripheral performance in the VM and allows the use of the guest operating system drivers without modification.

Multicore debugging support

By combining the MULTI IDE with the Green Hills Probe or SuperTrace Probe, multiple targets on a single chip can be controlled via a single JTAG interface, reducing the number of external pins required. Through one debug connection, synchronous operations such as run, halt, step, or breakpoint can be executed seamlessly on supported CPU types.

For projects with multiple threads of execution, multiple cores, multiple boards, or any combination of these, the integrated Target List displays system components hierarchically to simplify debugging and make it easier to see relationships among applications, address spaces, tasks, and threads. Status information is displayed for all components so you can quickly check the system state.

TimeMachine tool suite

Integrated into the MULTI IDE, the TimeMachine tool suite provides a window into the complex interactions in software that can result in bugs, performance problems, and testing nightmares. By presenting this information in easy-to-understand displays, TimeMachine enables developers to quickly navigate through trace data and produce better code in less time.

TimeMachine for QorIQ is multicore aware, capturing and processing execution history from multiple cores simultaneously. MULTI supports instruction trace capture into local DDR memory on the board or off-board through the Aurora interface with the Green Hills SuperTrace Probe. The tools time-synchronize the trace streams from multiple cores to give developers tremendous visibility into disparate programs running concurrently in the system.

TimeMachine's tools can be synchronized to present a unified view for multicore processors:

  • The PathAnalyzer—view of an application's call stack over time, helps you identify where the program diverts from the expected execution path.
  • The Debugger—step back in time or set breakpoints and run forward or back in time to any point during the captured execution history.
  • The EventAnalyzer—view of operating system events over time, helps you track down deadlocks between tasks and other undesirable behavior in your system.
  • The Performance Profiler—code coverage tools that use trace data to determine which instructions, blocks, and source lines have not been executed during testing.

TimeMachine Multicore debugging suite for Freescale QorIQ processors

Optimizing Compilers for QorIQ

The Green Hills Optimizing Compiler for QorIQ leverages Power Architecture-specific optimizations and exploits pipeline and instruction set characteristics to generate highly optimized binary code for 32-bit and 64-bit QorIQ processor cores and auxiliary processing units.

Freescale has chosen Green Hills Optimizing Compilers more than any other compiler when publishing EEMBC scores on Power Architecture processors. EEMBC (Embedded Microprocessor Benchmark Consortium) provides independently certified benchmark scores relevant to deeply embedded processor applications.

The Green Hills Power Architecture Compiler outperforms the competition's code by up to 20% as measured on the EEMBC suite of benchmarks.

Of Interest for QorIQ Processors