ColdFire Embedded Software Solutions
Real-Time Operating Systems
Software development tools
- MULTI and AdaMULTI development
Quickly develop, debug, test, and optimize embedded and real-time applications
- TimeMachine debugging
Go back in time to find the most difficult bugs—in minutes
- DoubleCheck integrated
Easily pinpoint bugs early in development
- Green Hills
Generating the smallest and fastest code from C, C++, and Ada
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.
A comprehensive suite of run-time libraries for C, C++, EC++ and Ada 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.