|| ||Miles Gillham <email@example.com>|
|| ||Hitachi H8 Integrated Into uClinux|
|| ||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:
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
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.
to post comments)