Green Hills Software provides a comprehensive solution for developing ColdFire®-based applications:
Real-time operating systems support
- µ-velOSity™ royalty-free microkernel
Small, fast, easy-to-learn operating system for the most cost-sensitive and resource-constrained devices
- INTEGRITY® POSIX® certified RTOS
For totally reliable and absolutely secure applications.
Target debug devices
High-performance real-time debugging
The fastest trace, download, and debug
Software development tools
- MULTI® development environments
Quickly develop, thoroughly debug, completely test, and fully optimize embedded and real-time applications
- Green Hills® optimizing compilers
The fastest, smallest code from C, C++, and Ada 95
Real-time operating system support
Green Hills offers three upward-compatible RTOSes that give the developer a scalable solution optimized to the particular ColdFire processor. Features include:
- fast and deterministic interrupt response time
- a common API for portable applications
- field debugging
- integration with time-saving development tools MULTI and EventAnalyzer
- broad range of communication and I/O connectivity including USB, CAN, PCI, TCP/IP, IPSec and more.
The µ-velOSity™ microkernel is the smallest of Green Hills Software’s family of royalty-free operating systems. It is implemented as a C library and so can be easily ported to multiple target architectures. Its simple design as well as integration with the best-in-class MULTI tools make µ-velOSity both easy to learn and simple to use.
The INTEGRITY RTOS is a secure RTOS intended for use in embedded systems that require maximum reliability. Representing the most advanced RTOS technology available, INTEGRITY achieves unprecedented levels of reliability, availability, and serviceability for applications in telecommunications, defense, networking and medical equipment along with many other industries.
ColdFire optimizing compilers
The Green Hills Optimizing Compiler for ColdFire uses a common code generator with architecture-specific optimizations. Each supported processor model has its own particular pipeline and instruction set characteristics. These are accommodated in the code generator to produce code best suited for the target processor. The following ColdFire specific features are supported:
- Use Built-in fp Functions—Uses built-in floating point instructions rather than calling library functions such as fabs(), sqrt(), and sin().
- MAC/EMAC Support—Fully supports Multiply and Accumulate and Enhanced Multiply and Accumulate instructions. Built-in functions allow programmers to easily write optimized MAC/EMAC code using C constructs.
- Position Independent Code (PIC) and Data (PID)—Allows code and data to be created which can be placed anywhere in memory and still run correctly.
- Small Data Area (SDA)—The Green Hills Compilers can collect frequently accessed variables into a block of up to 64KB of memory. This enables efficient access to data within this block resulting in improved code size.
- Optimizing Assembler—Assembler will optimize branch and call instructions to use the smallest possible displacement reducing code size.
Run-time libraries
A comprehensive suite of run-time libraries for C, C++, EC++ and Ada 95 are included in the corresponding compiler distributions for each language. Several different versions of the libraries are provided to accommodate different combinations of processor and memory models. The combinations include hardware vs. software floating point, big endian vs. little endian memory models and CPU specific versions. Full featured start-up code and libraries include automatic copy of data from ROM to RAM and system call emulation.
The MULTI integrated development environment
MULTI provides a host-based (Windows, Solaris, or Linux) graphical environment for ColdFire target development. Host-target connectivity is provided through a variety of means, depending on the target environment. MULTI supports many ColdFire targets, including evaluation boards from Freescale Semiconductor. These boards can be accessed with a variety of interfaces:
- Bare Board Access (No RTOS or ROM Monitor)—Combined with the Green Hills Probe MULTI provides a complete software package that enables programmers to debug code without need for operating systems, kernels, or even ROM monitors.
- Commercial RTOS Support—MULTI supports ColdFire boards running INTEGRITY, velOSity or µ-velOSity from Green Hills Software. MULTI provides multitask-aware debugging. Special commands allow tasks to be stopped upon system events such as task creation.
- Custom RTOS Support—MULTI can be interfaced with a custom RTOS through integration of the Green Hills INDRT API. INDRT provides all the debug information needed by MULTI, and is easily integrated into user code.
- Instruction Set Simulator—The MULTI instruction set simulator interpretively executes ColdFire programs on the host PC or workstation without the need for target hardware by simulating the execution of the target processor at the instruction level. The simulator provides full debug features, including host I/O, command window, extended profiling and hardware breakpoints.
Hardware-assisted debugging
The Green Hills Probe is an advanced hardware debug device that enables the MULTI debugger to load, control, debug, and test a target system without prior board initialization. Through the BDM port on ColdFire targets, the Green Hills Probe can debug and control the core state (such as CPU internal registers) as well as the system state (external RAM and flash memory).
With its exceptionally large storage capability, the SuperTrace™ Probe can easily collect hundreds of millions of trace frames, radically extending the capture window to help you find more bugs faster and easier than ever. Conventional trace hardware only offers a small fraction of this depth, limiting visibility to brief execution segments. To collect these segments, developers must use carefully-defined triggers that are time-consuming and tedious to devise.