 |
| V850 Embedded Software Solutions |
|
| |
|
Green Hills Software provides a comprehensive set of development tools and operating systems for V850-based applications. |
| Real-Time operating systems |
| » |
µ-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.
|
| Software development tools |
| » |
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++
|
| Hardware development tools |
| » |
Supertrace Probe |
| » |
NEC ICE |
|
|
| Processors Supported |
V850E
V850E2
V853
|
V850E/PH2
V850E2R
V850
| V850ES
V850E1F
V850E/PH3 |
|
|
MULTI IDE |
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.
|
| V850 Optimizing Compilers |
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.
|
| Hardware-assisted debugging |
| » |
850eserv2—Supports a wide variety of In-Circuit Emulators from NEC. Full support is included for the built-in instruction and data trace capabilities, which is fully integrated with the TimeMachine Debugging Suite. When combined with the Green Hills SuperTrace Probe, trace collection potential can be extended into the gigabytes. |
| » |
rteserv2—Supports a wide variety of boards and In-Circuit Emulators from NEC and Midas Labs. Devices supporting trace can be combined with the Green Hills SuperTrace Probe to unleash full data and instruction trace capabilities, including a full integration with the TimeMachine Debugging Suite.
|
|
» RTOS
» MULTI IDE
» AdaMULTI IDE
» Compilers
» Communications Software
» Custom Development
|