The Renesas SH C Compiler is an optimising ANSI C and ANSI C++ compiler for the SuperH embedded RISC microprocessor family. The SH C package includes a compiler, assembler and linker is supplied as part of the High-performance Embedded Workshop IDE.
In addition to full ANSI C support, the compiler provides #pragma language extensions and command-line switches to support target specific features and extended compiler functionality.
The SH C compiler has powerful and reliable code generation facilities for SH targets. A variety of optimisation features allow you to generate highly optimised PROMable code. In particular, code can be optimised for size or speed to match the requirements of the particular application being developed...
High-performance Embedded Workshop, a powerful yet easy to use tool suite, features an industry standard user interface and is designed using a modular approach seamlessly incorporating device family-specific C/C++ compilers and the debugger elements for various debugging platforms including emulators and evaluation boards.
As the development environment of an embedded program, we provide a toolchain bundles an optimizing C/C++ compiler, an assembler and an optimizing linkage editor etc,.
High-performance Embedded Workshop
High-performance Embedded Workshop provides a GUI-based integrated development environment for the development and debugging of embedded applications for Renesas microcontrollers. It runs on windows-based operating systems. Software and hardware development tools are supported under the same single user interface. See more info
For development environment of an embedded program, we provide an optimization C/C++ compiler, an assembler and an optimizing linkage editor. See more info
The cycle accurate simulator was improved in the profiler function and the debugging function. As the development environment of an embedded system, the cycle accurate simulator which supports the program performance evaluation function and the powerful debugging function is provided. See more info
It has the stack value display function with C,C++ function and module tree. Function allocation editing by drag and drop is available.
It has the GUI display function of a map file output by the optimizing linkage editor.
- Language specification: Exception handling and Template functions are supported according to ANSI/ISO standards.
- Complies with C/C++ language in ANSI specification
- Supports C89 and C99 (subset of functions*). * long long, // comments
- Optimizing function: The dedicated optimization which are for each microcomputer have been implemented in addition to the general optimization techniques that are deletion of common expression, register allocation, etc. Furthermore, the optimization function has also realized the optimization over between source files at the time of a link.
- Introduces the latest optimization technology developed for supercomputers
- Optimization at recompilation using link information (optimization of access to external variable )
- Inter-module optimization of access to external variable
- Embedded function: Interruption function description, system command description, etc., which are not supported by ANSI C/C++ language Specification and which are useful to support the function for the embedded program as an extended function.
- Extended language function for SuperH RISC engine family
- Intrinsic functions
- Section address operators
- #pragma directives
- Object generation in all CPUs from SH-1 to SH-4
- Improved output way of compile list
- Standard object format (ELF/DWARF2)
- Embedded C++ language spec-compliant class libraries
- High performance DSP library optimized by DSP instruction
- The header file fixed.h that defines various limitations concerning the internal representation of fixed-point numbers is also added
- Supports DSP-C language
- Loosening limits on number of switch statements: 256 -> 2048
- DSP library of fixed-point type is supported
- Specify bit-field of union
- Enhanced to 4096 level of nesting by combination of iteration statement and selection statement
- Pre-processor function: A source program is described efficiently by pre-processor functions such as a file inclusion function, conditional assembly function, macro function, etc..
- Instruction support to all CPU from SH-4 to SH-1 include DSP
- Description of Double accuracy floating point constant is possible
- File include function
- Assembly function with condition
- Macro function
- Support ELF/DWARF2 format
- Floating-point arithmetic operations can be specified in the assambler directive for reserving floationg-point data
- Supports .STACK Directive which enables the stack size of a function written in the assembly language to be reflected in the stack analysis tool
- The number of characters in a replacement symbol specified in .DEFINE was extended from 32 characters to unlimited
[Optimizing Linkage Editor]
- Optimizing function: It executes optimizations that are memory allocation and code optimizations that related functions callings. These optimizations can not be done in the C/C++ compiler.
- Output file: Linkage Editor outputs several formats like ELF from, S type form and HEX form. And it is available to output the symbol reference list.
- Compression function of debug information
- Inter-module optimization function
- Plurality load module selection
- Relocatable ELF format
- Absolute ELF format
- S type format.
- HEX format
- Binray format
- Support ELF/DWARF2 format
- Creation and edition of library file is possible
- Analysis by list file output
- Output the number of times of symbol reference
- Output symbol reference information (cross-reference information)
- Changing error level when a section address is overlapped
- A boundary alignment value can be specified for the section specified by the binary option.
[Standard Library Configuration Tool]
Generate the standard library file, which is provided by a compiler, by using the user-specified option. Select of the optimization and generation of the standard library file that is the reentrants type (case of SH) are available by options.
- Customize of standard library by generating standard library for every project is possible.
- Support reentrant library.
- Variable change per malloc reservation size (Saving of RAM capacity is possible).
- Variable change of the number of open file (Saving of RAM capacity is possible).
- Support for simple I/O (Generate a small size function with no supporting floating point).
- Conversion from the old format to ELF format
- Conversion from ELF format to the old format
Supported MCU core, DSP Instructions, Object Format
|Compiler Package Version||Supported Devices (MCUs)||DSP Instructions (Note1) Support||Object Format||Device File Updater (Note2)|
|V.9 Windows version||SH-1, SH-2 (Note5), SH-2E, SH2-DSP, SH-2A, SH2A-FPU, SH-3, SH3-DSP, SH-4, SH-4A, SH4AL-DSP, SH-Mobile (Note4)||DSP-C language Assembly language DSP library (Note3)||ELF/DWARF2||Available|
|V.9 UNIX version (Discontinued)||SH-1, SH-2 (Note5), SH-2E, SH2-DSP, SH-2A, SH2A-FPU, SH-3, SH3-DSP, SH-4, SH-4A, SH4AL-DSP, SH-Mobile (Note4)||ELF/DWARF2||Unsupported|
|V.8 (Discontinued)||SH-1, SH-2, SH-2E, SH2-DSP, SH-3, SH3-DSP, SH-4, SH-4A, SH4AL-DSP, SH-Mobile (Note4)||ELF/DWARF2|
|V.7 (Discontinued)||SH-1, SH-2, SH-2E, SH2-DSP, SH-3, SH3-DSP, SH-4||Assembly language DSP library (Note3)||ELF/DWARF2|
- Available only for MCU/MPU with a DSP module.
- Device File Updater is a utility tool which adds or updates automatically the High-performance Embedded Workshop's source files such as a start-up routine, I/O header file, etc.
- The DSP library is included in this C/C++ compiler package.
- If you use middleware, make sure the version of your C/C++ compiler package is supported by the middleware to be used. (Please inquire of the middleware distributor.)
- Supports little endian. (V.9.00 Release01 or later)
(Discontinued): This version is no longer marketed.
Information supporting development tools
|My Renesas||Create a My Renesas account to use our tool download services,
receive e-newsletter/update notifications, and take advantage of our other services.
|e-learning||Information for studying and learning about microcontrollers and microprocessors.|
|FAQ||Frequently asked questions and useful hints for development.|
|Forum||A forum and community site to share technical information,
questions and opinions with others who use Renesas MCU's.
|Tool News||Tool release information and other important information.|
|Operating Environment||Information on system requirements and operating environment for the latest
version of tools.
|Info on Discontinued Products||A list of Renesas software and tools that have been discontinued and
are no longer being offered for new projects.