uClinux porting to H8/300H.
It is operating on the simulator of GDB now.
and H8/3068 Evalition board Tested.
login of single user. and Execution of a command.
| January 28, 2002 (JST) | First public presentation |
| January 30, 2002 (JST) | uClibc-0.9.8 Patches Added |
| February 2, 2002 (JST) | Kernel Patch Update (signal fixed) |
| February 3, 2002 (JST) | Kernel Patch Update (execve fixed) |
| February 4, 2002 (JST) | uClibc-0.9.5-020127.diff.gz removed. |
| February 11, 2002 (JST) |
Kernel Patch Update (for CVS HEAD)
ptrace support Add/signal fixed. He wishes to comment about mounting of ptrace. uClibc patch Added. |
| March 9, 2002 (JST) | H8/300H diff of CVS Marge Complete.
Public presentation of a patch is ended. The reference text for using source distribution was added. |
| April 21, 2002 (JST) | new Patch Released. uClinux-H8-020421.diff.gz |
| April 28, 2002 (JST) | NE2K Driver Porting. Test of RTL8019AS. |
| April 21, 2002 (JST) | new Patch Released.
uClinux-H8-020429.diff.gz critical bug fixed. |
uClinux for H8/300H
Flat model support (C) 1998,1999 Kenneth Albanowski, D. Jeff Dionne
Calibrating delay loop.. ok - 5.12 BogoMIPS
Memory available: 3832k/4080k RAM, 515k/1024k ROM (2296k kernel data, 509k code)
Swansea University Computer Society NET3.035 for Linux 2.0
NET3: Unix domain sockets 0.13 for Linux NET3.035.
Swansea University Computer Society TCP/IP for NET3.034
IP Protocols: ICMP, UDP, TCP
uClinux version 2.0.38.1pre3 (ysato@vc6300cb1) (gcc version 2.95.3 20010315 (release)) #286 2002年 1月23日(水) 02時18分59秒 JST
Hitachi SCI driver version 0.01
hitachi-sci.c(1465): info=2178fe num=0
ttySC0 at 0xffffb0 (irq = 52 - 55)
hitachi-sci.c(1465): info=217a02 num=1
ttySC1 at 0xffffb8 (irq = 56 - 59)
hitachi-sci.c(1465): info=217b06 num=2
ttySC2 at 0xffffc0 (irq = 60 - 63)
Ramdisk driver initialized : 16 ramdisks of 4096K size
Blkmem copyright 1998,1999 D. Jeff Dionne
Blkmem copyright 1998 Kenneth Albanowski
Blkmem 1 disk images:
0: 82496-9E895 (RO)
PPP: version 2.2.0 (dynamic channel allocation)
TCP compression code copyright 1989 Regents of the University of California
PPP Dynamic channel allocation code copyright 1995 Caldera, Inc.
PPP line discipline registered.
SLIP: version 0.8.4-NET3.019-NEWTTY (dynamic channels, max=256).
CSLIP: code copyright 1989 Regents of the University of California.
Open of blkmem arena 0 at 82496, length 1c400
VFS: Mounted root (romfs filesystem) readonly.
init: Booting to single user mode.
# hello
Hello World
#
BogoMIPS is calculated by clock 16MHz (16bit bus/2cycle).
sorry, the date is Japanese.
It is required as a cross compiler of H8/300H.
2.95.3 is required when compiling a kernel.
it did not operate by 2.95.2 and 3.0.1.
Although especially a version is not related, a patch is needed when creating a user land.
Since only the patch of 2.11.2 is prepared.
A patch is required. 5.0 is prepared. prepare personally except it.
It is used when compiling a user land.
It is not compatible although there is a utility of the same name as uClinux-m68knommu.
It is only for h8300-coff.
It uses, when making a root image. When using by others, it can use as it is.
build as H8/300 ordinary cross compiler. In uClinux, newlib is not used.
tar xzf binutils-2.11.2.tar.gz
cd binutils-2.11.2patch -p1 < binutils-2.11.2.patch
./configure --target=h8300-hitachi-hms
:
:
apply a patch, and build with H8/300 target.
A patch is applied to ld, bfd-library, objcopy, and objdump.
The patch of objcopy and objdump is not indispensable.
correct a patch, when unnecessary.
tar xzf gdb-5.0.tar.gz
cd gdb-5.0patch -p1 < gdb-5.0.patch
./configure --target=h8300-hitachi-hms
:
:
apply a patch, and build with H8/300 target.
tar xzf coff2flt-0.5.tar.gz
cd coff2flt-0.5patch -p1 < coff2flt-0.5.patch
(makefile is corrected.)
make
:
:
apply patch, and make.
correct makefile so that BFD-library of H8/300 is linked before build.
When you do not understand, copy binutils-2.11.2/bfd/libbfd.a
and binutils-2.11.2/libiberty.a.
And LDFLAGS of makefile is corrected as follows.
LDFLAGS = -L ./ -lbfd -liberty
Since there is no patch, build ordinarily.
gcc, binutils, and gdb are built in the almost same procedure as the
usual crossing development environment.
When a procedure is unknown, look for the detailed data
of H8/300 crossing environment.
$ tar xzf linux-2.0.38.tar.gz $ cd linux-2.0.38 $ zcat ../uClinux-2.0.38.1pre7.diff.gz | patch -p1 $ zcat ../uClinux-H8-020203.diff.gz | patch -p1
The source tree of uClinux-h8 is developed now.
$ make {,menu,x,old}config
$ make dep
$ make clean
$ make all
linux is the completed kernel.
Notes : A configuration of those other than a standard is not tested.
I do not know details of work. He wishes a supplement of those who know details.
A detailed thing should read the document of a library.
returns to head.The portion which is not known should refer to other architecture.
The user land of uCsimm was compiled.
The difference in library for corrected and it has compiled normally.
init and sh are actually .
$ genromfs -f imagename root-directory-nameAn image file is created.
tarball of a sample is put on placed.
returns to head.
the output of genromfs cannot be linked as it is.
Since linking to a kernel is indispensable, it changes into coff by objcopy.
$ h8300-hitachi-hms-objcopy --adjust-vma=0x88000 --adjust-arch=h8300h \ > --adjust-mach=2 --add-section .rootimg=(rootimage binary) --remove-section .data \ > -I binary -O coff-h8300 (rootimage binary) (rootimage coff)
It changes into coff by this command.
The changed file is copied to the top directory of kernel source,
and carries out make.
The following is changed into reference when changing arrangement
of a route image.
The ROMFS driver(drivers/block/blkmem.c) has managed
the root image.
Since area_t in a driver has managed the address of an image,
corrects of change arrangement.
Now, the data arranged at .rootimage section becomes a route image.
A detailed thing should look at blkmem.c and
arch/h8300/platform/h8300h/generic/rom.ld.
$ h8300-hitachi-hms-gdb linux
(gdb) target sim SCI0=ttya0 (gdb)