LWN.net Logo

Hitachi H8 Integrated Into uClinux

From:  Miles Gillham <miles@snapgear.com>
To:  lwn@lwn.net
Subject:  Hitachi H8 Integrated Into uClinux
Date:  Fri, 27 Jun 2003 02:03:45 -0500 (CDT)


Technical Bulletin #17
uClinux - Hitachi H8 Integrated Into uClinux

SnapGear, Inc. recently completed integration of support for the Hitachi H8
300S processor with the uClinux distribution. This involved taking the kernel
port to completion by incorporating bug fixes, improving library and user
application support, and providing a simple boot loader to get developers
started. SnapGear's work was at the instigation of Hitachi in order to
support intended developments in the mobile security market

The project leveraged heavily from the kernel work of Yoshinori Sato and Rob
Wehrli who have made considerable contributions to the open source port. More
recent integration was completed by a leading uClinux maintainer, David
McCullough of SnapGear.

In David's words: "At just over 7 bogomips it's exciting for an inexpensive
Linux capable CPU!"

First David did the elf2flt port, to give the H8S 2674R the same powerful
userland applications support that other uClinux ports have (ie., m68k and
ARM). elf2flt allows you to build large applications and take advantage of
the more advanced features provided by ELF compilers such as gcc.

One of the challenges was that were a number of bugs in the existing H8
support, primarily in the context switching and syscall area as well as Unix
signal handling. He added flash reading/writing support to the uClinux blkmem
driver which allows the dev board to be a fully upgradable web-manageable
appliance that provides persistant storage across reboots.

Lastly, David wrote a small example boot loader to start and run uClinux.

McCullough said: "The trickiest part was the context switching. With only
serial output for debug it was quite a challenge to track down what was going
wrong with system calls and interrupts."

Also found and fixed was a compiler bug that meant some C bit fields were
addressing the wrong byte of memory. This was causing weird behaviour in the
kernel to say the least.

The uClinux distribution provides many features including:

web server (boa) 
example CGI and web site setup 
networking tools (ifconfig, route etc) 
a filesystem that is saved to flash and restored on reboot 
flash upgradability over the network using http or tftp 
telnetd, ping, inetd 
syslogd and klogd 

About the Hitachi H8S 2674R Microprocessor and EDOSK-2674 Development Board

The Hitachi H8S microprocessor has numerous advanced features and
capabilities that make it an ideal candidate for highly integrated, embedded
Linux systems. Hitachi positions this processor at the top end of their 16bit
family, just under the 32-bit SuperH. RISC engine. Clocking at 33MHz, the
dual-mode H8S 2674R processor operates in 16/32bit modes.

The EDOSK-2674 development board has 4MB flash and 8MB RAM, 1x10Mbps
ethernet, a serial port and expansion ports:

Availability

Patches and tools for building the uClinux-dist with H8 support are now
available. Currently uClinux-2.4.21 and uClibc-0.9.19 are supported on the
EDOSK-2674 platform. Full networking, telnetd, boa web server, CGI, flatfsd
config filesystem and flash upgrades are all included.

The code is available from the uClinux CVS repository at cvs.uclinux.org

These changes are also part of SnapGear(R) Embedded Linux which encompasses
both uClinux MMUless targets as well as MMUful microprocessors, with
toolchains.

Further information:

www.uclinux.org/pub/uClinux/ports/h8 - uClinux H8 page 

www.ucdot.org - Embedded Linux/uClinux Developer Forum 

www.azpower.com/H8-uClinux - Rob Wehrli's H8S uClinux Project Site and
information on the EDOSK-2674 development board 

http://sourceforge.jp/projects/uclinux-h8 - Yoshinori Sato's H8 page 

www.snapgear.org - SnapGear Embedded Linux 

SnapGear is a trademark of SnapGear Inc. All other trademarks are the
property of their respective owners.


---
This message is being sent to you because you are understood to be a member
of the media interested in this topic. If that is not the case then please
let me know directly and I will either update our interest profile for you or
disable further communications as you prefer.


(Log in to post comments)

Copyright © 2003, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds