H8 logoH8 logo

GNUH8 Support

GNU compilers and Renesas[1] H8 series microcontrollers

H8 Chip logo

GNUH8 Downloads

The following files are for the benefit of all developers using the GNU compiler and variants for their H8/H8S/H8-Tiny processors.

All files are available on a NO-WARRANTY, AS IS BASIS, if you encounter problems contact the primarily the author. The basic rule for inclusion is that any set of files must contain a README.TXT to describe

  • Function of example
  • Processor type and clock speed tested with
  • Hardware requirements e.g. EVB, LED on Port...
  • Installation (where necessary)
  • Compiler type and version number tested with
  • License type e.g. Free/GNU type license
  • Author, name and contact email and other details

You are welcome to include BRIEF company information in the readme file.

Other than that the very basic rule that it must be useful for developers of the H8 processor families.

Items wanted

Useful items that are always sought by all developers for all H8/H8S/H8-Tiny processors, and maybe you could submit something where you do not see an example for such things as:-

  • Hardware files like libraries for popular CAD packages
  • Documentation like how you achieved a particular build on certain targets/platforms
  • Startup code for processor types for EVB and Flash
  • Vectors code examples, linker control files and Makefiles for EVB and Flash
  • Blinking led and serial echo examples for all processors.

When submitting it is helpful if you can provide an EVB and a Flash version, as often questions are asked about converting from EVB usage to Flash (standalone) usage.

Hardware CAD files

Eagle Libraries

After working with a few devices and a few forum discussions I put together a library of SOME H8, H8S and H8-Tiny parts for use with Cadsoft's Eagle popular CAD package for Schematic and Board Layout. This version supports V4.08 of Eagle minimum was put together on a Windows platform (in case of file differences with Linux version) and currently includes all known variants of most H8/H8S/H8SLP/H8-Tiny processors.

For a full list of the footprints and processors supported see the Library Description which is an HTML page also available by clicking here.

NOTE Please check for any mistakes or old details in the library, BEFORE you get a board made.

Any additions, corrections or similar for this library always welcomed.

Hardware I/O Header files H8, H8S, H8-Tiny and SH

A ZIP file for a lot of the Renesas processors is available from http://www.renesas.com/eng/products/mpumcu/tool/crosstool/iodef/index.html, please be aware that when viewing this part of the site that a lot of the H8300H architecture are under H8300 listings (espescialy H8/3067 and H8/Tiny).

Hopefully this will assist with your software development of incorporating processors quicker.


Using E8 and H8S with FDT

This document supplied in PDF format, describes how Robert Bielik of Xponaut AB,configured the E8 to program H8S/2633F using FDT, as replacement to the old Universal Programming Board.

Full run through including screenshots of FDT configuration, should be a useful helper document.

This is an improved documentation (HTML format) including libc functions.

Also available on Sourceforge (see links page).

Available examples

  • ECHO Demo for H8/Tiny (CPU H8/3664) (this is an external link)   Link Added 31st January 2005
    It features:
    • a header file for the special function registers of the 3664
    • template for the interrupt vector table
    • linker script
    • partly interrupt based serial communications
    • 200Hz pulse on P51
    • straigt forward GNU makefile that should be easy to adapt

    The program was tested here with:
    • gcc-3.3.1 cross compiler built from source
    • Debian Wooody system
    • a slightly modified version of h8write (better diagnostics IMHO) which is available from me on request

    Example supplied by Armin Faltl of Idea to Gear.

  • LCD Display module Functions HD44780 type (CPU H8/3067) (size 14,399 bytes)   Added 18th October 2003
    Function module to allow background processing of Character LCD Display module functions, (several take many MILLI_SECONDS to perform), by using a timer interupt (internal Refresh timer) to circumvent the need for delay loops. Allows for better predictability in your main programmes.

    Examples supplied by Paul Carpenter of PC Services.

  • Blinking Led Demo (H8S2633) (size 13,007 bytes)   Updated 26th September 2002
    EVB2633F version of the best starting point example for any processor - The Blinking Led on a Timer Interupt and Serial Channel Echo Example.

    Example supplied by Dan Nelson.

  • H8.TGZ TGZ archive of Linux tools for programming an H8/3048.   Links updated 10th August 2004
    H8ENG.PDF Description by author of tools and project.
    Archive with some programs (C programs for communicating with the H8 and asm programs as H8 basic examples for A/D, D/A, RS232 communication).

    Archive supplied by Jean-Michel Friedt.

  • SIOH8V19.ZIP V1.90 (56,758 bytes)   Updated 10th September 2002
    Example flashable application of interupt comms on H8/3067 uses all three SCI peripherals, this is a bit more than just an example more of a starter application works in H8/3067 flash in mode 5. For those new to H8 and in particular the H8/3067F, this may well assist you in building your application in GNU C Compiler.
    This application and zip file contains:-
    • S-Record file of flashable application into a H8/3067F target (20MHz)
    • Startup routines
    • Command line processor
    • Simple round robin style co-operative scheduling
    • Baud rate manipulation commands
    • H8 memory read/write commands
    • Other commands for you to discover in the parser, because I am too lazy to list them here.
    • String handling and printing
    • Interupt routines for THREE SIO
    • Makefile and linker command file to rebuild application

    Other Versions for

    EVB versions with COFF format files. Porting to other processors welcomed.

    Examples supplied by Paul Carpenter of PC Services.

  • Wood & Douglas ST500/SR500 - WADH8V14.ZIP V1.40 (73,419 bytes)   Updated 10th September 2002
    Example flashable application of configuring and control of Wood & Douglas UHF Radio Modules, uses interupt comms on all three H8/3067 SCI peripherals, this example application works in H8/3067 flash in mode 5. This application is expanded from the Serial Application above to control the configuration and Radio Frequency channel changing. Additional Command line functions include:-
    • Read the EEPROM from the module and decode the data
    • Programme the whole EEPROM - Send command and format for correct baud rate
    • Programme a byte in the EEPROM - Send command and format for correct baud rate
    • Display the contents of the EEPROM in readable format (Similar table to the Wood & Douglas DOS programme)
    • Change Channel
    • Display current channel

    To configure the ST and SR modules, is a complex task not made easier by a difficult and I would describe as 'perverse' protocol. The RF performance and usefulness of the module otherwise is good. Perhaps this shows why for quite a lot of applications H8 is easier than PIC

    This application assumes SCI2 RX and TX used for controlling the configuration, SCI1 is used for flash programming and command line interface to a host based terminal emulator programme also that SCI0 is used to send/receive a data stream to/from the transmitter/receiver module, all at TTL levels directly connected.

    Example supplied by Paul Carpenter of PC Services.

  • I2CH8V13.ZIP V1.30 (18,650 bytes)   Updated 16th March 2002

    Updated for improved PCF8584 clock control and extra notes in documentation.

    I2C Module support from PCF8584 Controller for peripherals:-
    • PCF8584 - I2C controller
    • PCF8574[A] - 8 bit I/O Port
    • PCF8591 - 4ch 8 bit A/D and 1ch 8 bit D/A
    • MAX520 - 4ch 8 bit D/A
    • DS1803 - Dual 8 bit 'Digi-pot'

    Also available are BETA I2C modules to work with the modules above, which have been coded and compiled but NOT fully tested for other I2C devices as follows:-

    • PCF8575 - 16 bit I/O Port Fast Speed compatible   Added 8th January 2003

    More to follow when coded.

    Example supplied by Paul Carpenter of PC Services.

  • ECHO.ZIP (25,092 bytes) Updated 11-Oct-1999
    Example H8 code of using GDB (GNU debugger) stubs and serial port routines, README file included.

    Example supplied by Bill Knight of R O Software.

  • IEEELIB.ZIP (16581 bytes) 11-Oct-1999
    Author's comments

    Corrected version of floating point arithmetic for GNU C/C++ compiler targeted to H8/300H. It is adopted for standard single precision calculations.

    The original version of new IEEE library is from - http://egcs.cygnus.com/ml/gcc/1999-07/msg00553.html I'm little bit corrected comparision functions (they don't works correctly on H8/300H, so idea comes from standard "fp-bit.c"), and improved FP numbers unpacking macro (+ about 30% of speed).

    ZIP archive contains two files: "ieeelib.c" and "longlong.h". Using is very simple: just include this two files in your project and standard FP arithmetic will be replaced with improved one.

    Please note: my corrected version was not seriously, completely tested! I use it in my project (with many floating point calculations and "mysprintf" function), and everything seems to be OK.

    Library supplied by Jurgis Armanavichius of Firma MEDELKOM.

All contributions are welcomed - Contact the webmaster for inclusions

If you encounter problems with this page please email your comments to webmaster
© 1998 onwards by PC Services Last Updated: 28th December 2006