Skip to main content

The following page content corresponds to the products marketed in Japan.
If you do not live in Japan, please

Features

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,. "NEW" shows a new function from Ver.7.

C/C++ Compiler

  • Generation of Object code for all CPUs in the H8, H8S, H8SX family
  • Fully compatible with the ANSI/ISO:9899/1990 standard for C
    • Support for C99-language specifications(except for variable-length arrays)
    • Support for C99 libraries
      * C99 supports H8SX and H8S families. Note, however, that programs for the H8 family cannot be compiled in the C99 language
  • Supports extended language function for H8, H8S, H8SX family
    • Intrinsic functions
    • Section address operators
    • #pragma directives
  • Support for information level message
  • Mixed source and assembler listing files
  • Supports ELF/DWARF format
  • Embedded C++ language spec-compliant class libraries
  • Expanded number of switch statement to 2048

Options newly added

Options Descriptions
library Available to expand two library functions of memcpy and strcpy in-line (only for H8SX)
sbr Available to allocate to the 8bit absolute address area (only for H8SX)
CHAnge_message=<sub>[,...]
<sub>:<level>[=<n>[-m],...]
<level>:{Information|Warning|Error}
Modifies the message levels
cpu=rs4 Generates code for the RS-4 series of MCUs
divs_inst Always expands division expressions with divs instruction (only for H8SX and AE5)
align=4 Boundary alignment value and disable of boundary alignment
*Can be used for the H8S MCU family.
lang=c99 You can compile programs written in the C99 language. And, if you select the c89stdio option in addition to lang=c99, you can use low-level functions contained in the standard I/O header files(stdio.h) written in the C89 language. NEW
lang=cpp If you select the c99stdio option in addition to lang=cpp, you can use low-level functions contained in the standard I/O header files (stdio.h) written in the C99 language in C++ programs. >NEW
outcode=utf8 and utf8 Support for UTF-8 code NEW

#pragma directive and keywords newly added

#pragma Descriptions
_ _ptr16 Available to use 2bytes pointer (only for H8SX)
_ _asm Available to program in assembly language in C/C++ source program (only for H8SX)
#pragma bit_order Specify the bit fields order
_ _indirect_ex Specify functions to be called in expansion memory indirect addressing mode (only for H8SX)

Intrinsic function newly added

Intrinsic functions Descriptions
mulsu, muluu 64bit multiply
(only for H8SX)
movmdb, movmdw, movmdl, movsd Block transfer instruction
(only for H8SX)
eepmovb, eepmovw, eepmovi Enhanced intrinsic function of the block transfer instruction
movfpe Check intrinsic function of MOVFPE instruction
inline Function introduced for suppressing default expansion of inline functions during compilation of programs written in C++ NEW

Assembler

  • Supports instructions to all CPUs in the H8, H8S, H8SX family
  • Supports assembly file inclusion
  • Supports conditional assembly
  • Supports macro in assembly
  • Supports structured assembly
  • Supports ELF/DWARF formats
  • Allows .BEQU symbol to be externally defined and referenced by using .BIMPORT and .BEXPORT

Options newly added and enhanced

Intrinsic functions Descriptions
cpu=rs4 Generates code for the RS-4 series of MCUs
#pragma __naked_asm NOT automatically generate the code for saving and storing registers NEW

Optimizing linkage editor

  • Supports object file input in H8SX family
  • Compact debug information function
  • Inter-module optimization function
  • Allows multiple load module selection
  • Supports ELF/DWARF format
    • Relocatable ELF format
    • Absolute ELF format
    • S type format
    • HEX format
    • Binary format
  • Allows library files to be created and edited
  • Analysis with an output list file (outputs referenced count of symbols)
  • Checks for section address duplication

Options newly added and enhanced

Options Descriptions
SPace = [<value>] Specify an output value to free area
MEMory = [ High | Low ] Specify an amount of memory to be used for loading the input file
byte_count Alter the maximum number of bytes of the records in Intel HEX format files.
space=random Fill randam numbers into unoccupied areas of the following types of files:
-S-type files
-Intel HEX format files
-Binary files
memory=low You can use this option when creating library files.
total=size Outputs the total size of sections to the standard output type by type of section listed below.
  • Executable program sections
  • Sections allocated to the ROM area
  • Sections allocated to the RAM area
show=total_size Outputs the total size of sections to the linkage list type by type of section listed below.
  • Executable program sections
  • Sections allocated to the ROM area
  • Sections allocated to the RAM area
RTs_file Generates information files for the specified emulators.
CRc Calculates the value of CRC (Cyclic Redundancy Check) of the specified range and stores it at the specified address in memory.
cpu=stride If the size of a section is larger than the address area in which the section is to be placed in memory, the cpu=stride option places the section in another larger area of the same memory type, or splits the section into two or more so that they can be placed in two or more address areas. NEW
contiguous_section When selected with cpu=stride, the contiguous_section option places a section without splitting it in an address area of the same memory type that is large enough to accommodate the section. NEW
show=all Sub-option "all" has been introduced to the "show" option.
It is used to output the contents of all the lists. NEW

Standard library configuration tool

  • Allows standard library to be customized by generating the standard library in project units
  • Supports reentrant libraries
  • Variable size for malloc allocation (to save RAM capacity)
  • Variable number of open file (to save RAM capacity)

Format converter

  • Conversion from old format to ELF format
  • Conversion from ELF format to old format

Stack analysis tool (CallWalker)

  • Shows stack values in units of the C, C++ function
  • Shows stack value on module hierarchy basis
  • Edits the function allocation by drag and drop


Version Information

Latest Ver.: V.7.00 Release00
Released: Sep 1, 2009
Details of upgrade (Tool News)

Related Resources

Simulator Debugger for H8SX, H8S, and H8 Families
[07 Jun. 2010, Latest version released]

Revised to V.6
[18 Dec. 2009, Tool News]

Discontinued [UNIX version (Solaris, HP-UX)]
[01 Dec. 2006, Tool News]

A tool for automatically generating programs for the built-in peripheral I/Os of a microcomputer
Peripheral Driver Generator

Device File Updater
Adds new target CPU types

Document Updater
[ToolNews]

Auto Update Utility
[ToolNews]


End of content

Back To Top