|
µ-velOSity™ royalty-free
microkernel
With its minimal 1.6KB ROM footprint, the µ-velOSity microkernel
is the smallest in Green Hills Software’s family of operating systems. µ-velOSity is
implemented as a C library and delivered in source code and supports
optional integrated middleware for MS DOS and flashbased wear leveling
file systems, USB, graphics and IPv4/v6 networking.
|
|
MULTI® development environment
Quickly develop, thoroughly debug, completely test, and fully optimize
embedded and real-time applications
TimeMachine™ Debugging Suite
Go back in time to find the most outrageously difficult bugs—in
minutes
Green Hills® optimizing
compilers
Generate debuggable, highly optimized code with maximum speed and minimum
size for C, MISRA C, C++ and Embedded C++
|
|
The MULTI IDE is a complete integrated development environment for embedded
applications using C, C++, MISRA
C, or EC++.
MULTI provides a direct graphical interface with all Green Hills compilers,
and supports multi-language development and debugging.
MULTI’s fully integrated development tools include:
- Project Builder
- Source-Level Debugger
- TimeMachine Debugging Suite
- EventAnalyzer
- Performance Profiler
- DoubleCheck Source Code Analysis
- Code Coverage Analysis
MULTI provides a host-based graphical environment for V850 target development.
MULTI supports many V850 targets, including evaluation boards from NEC.
These boards can be accessed with a variety of interfaces:
- Bare board access (no RTOS or ROM monitor)—MULTI supports a
wide variety of In-Circuit Emulators and target simulators, including
NEC’s V850 ICEs.
- Green Hills RTOS support—MULTI supports V850 boards running
the µ-velOSity microkernel. MULTI
provides multitask aware debugging. Special commands allow tasks to
be stopped upon system events such as task creation.
- Custom RTOS support—MULTI can interface to 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 Sim850 instruction set simulator
interpretively executes V850 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 Green Hills Optimizing Compilers for V850 all use a common code
generator with architecture-specific optimizations. Some optimizations
include loop optimizations, peephole optimizations, register coalescing,
tail recursion, and memory optimization. As an additional benefit, Green
Hills offers CodeFactor®, a link-time optimization which reduces
overall program size by identifying and removing redundant segments of
code from object files.
Each supported V850 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 V850
specific features are supported:
- Processor—One option for each supported V850 model.
This setting determines the instructions permitted, as well as the
pipeline optimization strategy used.
- Reserve registers for the user—The compiler can reserve
various registers (r2, r5, r15-r24 or r17-r22) for the user.
- Position Independent Code (PIC) and Data (PID)—Allows
code and data to be placed anywhere in memory and still run correctly.
- Far function calls—Linker can automatically detect function
calls that are out of range and insert code to resolve these calls.
- Gsrec conversion utility—Converts an executable file
into a Motorola S-Record format file.
- FPU Support—Generates code to use the Floating Point
Unit (FPU) for the V850E1F family (V850E/PH2 and V850E/PH3) or the
V850E2R.
- 64-bit Integers—Supports 64-bit data types, constants,
and expressions including double precision floating point.
- Ghexfile Conversion Utility—Allows conversion of an
executable to hexadecimal. Automatically determines byte order and
BCS/COFF based on header information.
- Multiple memory models—The V850 supports the following
memory models:
- Normal data: The default memory
model, where all data is placed within the data area and is accessed
using normal load and store operations.
- Small data: Data is assigned
either automatically by the compiler or manually by the user (or
both) into a small data area and is referenced using a reserved
register as a base pointer, allowing for smaller code for data
accesses.
- Zero data: Similar to Small
data, although the zero register (r0) is used as the base register
to access data within 16 bits of address 0.
- Tiny data: Data is assigned
by the user into small sections accessed using the Tiny Data Area
(TDA) base register (ep) and the V850 short load/store operations
providing for the smallest possible code for data accesses. The
compiler supports multiple Tiny Data Areas and can switch between
them dynamically at run time.
- CodeFactor Linker Optimization—A link-time optimization
that reduces overall program size by identifying and removing redundant
segments of code.
- Highly configurable—Many processor extensions and features
(callt, prepare/dispose, etc) can be selectively enabled or disabled
in the compiler, with full support provided in the Green Hills libraries.
Run-Time libraries
A comprehensive suite of run-time libraries for C, C++, and EC++ 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, and CPU specific versions.
Full featured start-up code and libraries include automatic copy of
data from ROM to RAM and system call emulation.
MISRA C support
Green Hills has incorporated the MISRA C guidelines for C programming
into MULTI and its optimizing compilers. MULTI’s MISRA C support
enables developers to easily select the MISRA rules to automatically
enforce, resulting in cleaner code and fewer bugs. At compiler time,
violations of MISRA C rules are reported. Violations that can only be
detected at runtime are automatically detected and reported by Green
Hills Software’s advanced run-time error detection. MULTI supports
MISRA C 1999 and 2004.
|