Hitachi H8 processor gains uClinux support
Jun 27, 2003 — by LinuxDevices Staff — from the LinuxDevices Archive — 5 viewsSnapGear Inc. announced the integration of support for the Hitachi H8 300S processor into the open source uClinux distribution. The project was undertaken “at the instigation of Hitachi, in order to support intended developments in the mobile security market,” said SnapGear.
The uClinux port required incorporating bug fixes, improving library and user application support, and providing a simple boot loader, SnapGear said. The project added to kernel work from Yoshinori Sato and Rob Wehrli, “who made considerable contributions to the open source port,” with the integration completed by David McCullough of SnapGear, a leading uClinux maintainer.
McCullough said he “first did the elf2flt port, to give the H8S 2674R the same powerful userland applications support that other uClinux ports have (i.e. 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 there were a number of bugs in the existing H8 support, primarily in the context switching and syscall area as well as Unix signal handling,” recalled McCullough. He said he added flash reading/writing support to the uClinux blkmem driver which allows the H8 development board to be “a fully upgradable web-manageable appliance that provides persistant storage across reboots.”
Lastly, McCullough wrote a small example boot loader to start and run uClinux.
“The trickiest part was the context switching,” McCullough said. “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.”
Among other things, the current uClinux H8 distribution includes . . .
- 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
What's a Hitachi H8?
According to SnapGear, 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 company said.
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.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.