发表于:2007/4/13 18:43:00
#0楼
沉寂几个月的心血,终于告一段落,终于可以愉快地上网玩了,将来还请各位大大多多指导!
总结一下成果:
使用了廉价ARM7芯片S3C44B0X和RTL8019网络芯片,没办法,成本控制啊!
编写了BootLoader,写了uClinux的控制台驱动,移植成功网卡驱动,Yeah!
下一步工作:
准备启动Telnet服务程序,去掉串口Console,就可以使用两个串口了。
Look:
----------------------------------------------------------
Program : DuTao''s 44b0x BootLoader Ver 0.60
UART config: 115.2kbps,8Bit,NP,UART0
Flash ID : 0x236d00bf
RTL8019 ID : 0x00007050
Initializing system... ...
----------------------------------------------------------
1.Download code to SDRAM.
2.Copy data in SDRAM.
3.Run at specify address.
4.Start uClinux.
5.View Data.
6.Programe Flash.
>
Load image.rom...
Copy uClinux
Copy Romfs
Start uClinux
Uncompressing Linux...................................... done, booting the kernel.
Linux version 2.6.17-uc1[DT-Ver-1.2] (root@localhost.localdomain) (gcc version 3.4.0) #696 Wed Apr 4 22:36:59 CST 2007
CPU: Samsung-S3C44B0x [44b07700]
Machine: S3C44B0X Development Board
CPU0: D VIVT write-through cache
CPU0: cache: 512 bytes, associativity 1, 8 byte lines, 64 sets
Built 1 zonelists
Kernel command line: root=/dev/ram0 initrd=0x0c300000,1200k keepinitrd
PID hash table entries: 128 (order: 7, 512 bytes)
S3C44B0X Serial Console Driver By Tao.Du <ThomasDutao@HotMail.com>
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 30MB = 30MB total
Memory: 28060KB available (928K code, 163K data, 64K init)
Mount-cache hash table entries: 512
checking if image is initramfs...it isn''t (bad gzip magic numbers);
looks like an initrd, initrd_start=0xc300000, initrd_size=1228800
NET: Registered protocol family 16
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 1024 (order: 0, 4096 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP reno registered
ttyS0 at I/O 0x1d00000 (irq = 3) is a Samsung S3C44B0 Internal UART
ttyS1 at I/O 0x1d04000 (irq = 2) is a Samsung S3C44B0 Internal UART
Samsung S3C44B0 Rtl8019as driver version 0.1 (2002-02-20) <hzh12@163.net>
Init RT8019 with 16 BIT modle
eth0: 12:34:56:78:90:ab
NetWinder Floating Point Emulator V0.97 (double precision)
io scheduler noop registered
io scheduler deadline registered (default)
io scheduler cfq registered
RAMDISK driver initialized: 2 RAM disks of 2048K size 1024 blocksize
loop: loaded (max 8 devices)
TCP bic registered
RAMDISK: romfs filesystem found at block 0
RAMDISK: Loading 997KiB [1 disk] into ram disk... done.
VFS: Mounted root (romfs filesystem) readonly.
Freeing init memory: 64K
console init ready.
Star run init process!
do_execve(...) @ fs/exec.c:01222 exec /sbin/init successfully !
.
do_execve(...) @ fs/exec.c:01222 exec /bin/sh successfully !
.
Shell invoked to run file: /etc/rc
Command: hostname Thomas.du
do_execve(...) @ fs/exec.c:01222 exec /bin/hostname successfully !
.
Command: /bin/expand /etc/ramfs.img /dev/ram1
do_execve(...) @ fs/exec.c:01222 exec /bin/expand successfully !
.
Command: mount -t proc proc /proc
Command: mount -t ramfs /dev/ram1 /var
Command: mkdir /var/config
Command: mkdir /var/tmp
Command: mkdir /var/log
Command: mkdir /var/run
Command: mkdir /var/lock
Command: mkdir /var/empty
Command: cat /etc/motd
Welcome to
____ _ _
/ __| ||_|
_ _| | | | _ ____ _ _ _ _
| | | | | | || | _ \| | | |\ \/ /
| |_| | |__| || | | | | |_| |/ \
| ___\____|_||_|_| |_|\____|\_/\_/
| |
|_|
For further information check:
http://www.uclinux.org/
*******************************************
* *
* Last Step Completed By Dutao @ 200703 *
* Yeah ! *
* *
*******************************************
Command: ifconfig lo 127.0.0.1
do_execve(...) @ fs/exec.c:01222 exec /bin/ifconfig successfully !
.
Command: route add -net 127.0.0.0 netmask 255.255.255.0 lo
do_execve(...) @ fs/exec.c:01222 exec /bin/route successfully !
.
Command: ifconfig eth0 192.168.1.123 netmask 255.255.255.0 up
do_execve(...) @ fs/exec.c:01222 exec /bin/ifconfig successfully !
.
enable_irq(24) unbalanced from 0c01fb60
Execution Finished, Exiting
Open file /dev/inet Error !
do_execve(...) @ fs/exec.c:01222 exec /bin/inetd successfully !
.
do_execve(...) @ fs/exec.c:01222 exec /bin/sh successfully !
.
Sash command shell (version 1.1.1)
/> ping 192.168.1.1
do_execve(...) @ fs/exec.c:01222 exec /bin/ping successfully !
.
PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=10.0 ms
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.0 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.0 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.0 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=0.0 ms
--- 192.168.1.1 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.0/2.0/10.0 ms
/> cat /proc/cpuinfo
Processor : Samsung-S3C44B0x rev 0 (v4l)
BogoMIPS : 29.79
Features : swp 26bit
CPU implementer : 0x44
CPU architecture: 4T
CPU variant : 0x30
CPU part : 0x770
CPU revision : 0
Cache type : write-through
Cache clean : not required
Cache lockdown : not supported
Cache format : Unified
Cache size : 512
Cache assoc : 1
Cache line length : 8
Cache sets : 64
Hardware : S3C44B0X Development Board
Revision : 0000
Serial : 0000000000000000
/>
总结一下成果:
使用了廉价ARM7芯片S3C44B0X和RTL8019网络芯片,没办法,成本控制啊!
编写了BootLoader,写了uClinux的控制台驱动,移植成功网卡驱动,Yeah!
下一步工作:
准备启动Telnet服务程序,去掉串口Console,就可以使用两个串口了。
Look:
----------------------------------------------------------
Program : DuTao''s 44b0x BootLoader Ver 0.60
UART config: 115.2kbps,8Bit,NP,UART0
Flash ID : 0x236d00bf
RTL8019 ID : 0x00007050
Initializing system... ...
----------------------------------------------------------
1.Download code to SDRAM.
2.Copy data in SDRAM.
3.Run at specify address.
4.Start uClinux.
5.View Data.
6.Programe Flash.
>
Load image.rom...
Copy uClinux
Copy Romfs
Start uClinux
Uncompressing Linux...................................... done, booting the kernel.
Linux version 2.6.17-uc1[DT-Ver-1.2] (root@localhost.localdomain) (gcc version 3.4.0) #696 Wed Apr 4 22:36:59 CST 2007
CPU: Samsung-S3C44B0x [44b07700]
Machine: S3C44B0X Development Board
CPU0: D VIVT write-through cache
CPU0: cache: 512 bytes, associativity 1, 8 byte lines, 64 sets
Built 1 zonelists
Kernel command line: root=/dev/ram0 initrd=0x0c300000,1200k keepinitrd
PID hash table entries: 128 (order: 7, 512 bytes)
S3C44B0X Serial Console Driver By Tao.Du <ThomasDutao@HotMail.com>
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 30MB = 30MB total
Memory: 28060KB available (928K code, 163K data, 64K init)
Mount-cache hash table entries: 512
checking if image is initramfs...it isn''t (bad gzip magic numbers);
looks like an initrd, initrd_start=0xc300000, initrd_size=1228800
NET: Registered protocol family 16
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 1024 (order: 0, 4096 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP reno registered
ttyS0 at I/O 0x1d00000 (irq = 3) is a Samsung S3C44B0 Internal UART
ttyS1 at I/O 0x1d04000 (irq = 2) is a Samsung S3C44B0 Internal UART
Samsung S3C44B0 Rtl8019as driver version 0.1 (2002-02-20) <hzh12@163.net>
Init RT8019 with 16 BIT modle
eth0: 12:34:56:78:90:ab
NetWinder Floating Point Emulator V0.97 (double precision)
io scheduler noop registered
io scheduler deadline registered (default)
io scheduler cfq registered
RAMDISK driver initialized: 2 RAM disks of 2048K size 1024 blocksize
loop: loaded (max 8 devices)
TCP bic registered
RAMDISK: romfs filesystem found at block 0
RAMDISK: Loading 997KiB [1 disk] into ram disk... done.
VFS: Mounted root (romfs filesystem) readonly.
Freeing init memory: 64K
console init ready.
Star run init process!
do_execve(...) @ fs/exec.c:01222 exec /sbin/init successfully !
.
do_execve(...) @ fs/exec.c:01222 exec /bin/sh successfully !
.
Shell invoked to run file: /etc/rc
Command: hostname Thomas.du
do_execve(...) @ fs/exec.c:01222 exec /bin/hostname successfully !
.
Command: /bin/expand /etc/ramfs.img /dev/ram1
do_execve(...) @ fs/exec.c:01222 exec /bin/expand successfully !
.
Command: mount -t proc proc /proc
Command: mount -t ramfs /dev/ram1 /var
Command: mkdir /var/config
Command: mkdir /var/tmp
Command: mkdir /var/log
Command: mkdir /var/run
Command: mkdir /var/lock
Command: mkdir /var/empty
Command: cat /etc/motd
Welcome to
____ _ _
/ __| ||_|
_ _| | | | _ ____ _ _ _ _
| | | | | | || | _ \| | | |\ \/ /
| |_| | |__| || | | | | |_| |/ \
| ___\____|_||_|_| |_|\____|\_/\_/
| |
|_|
For further information check:
http://www.uclinux.org/
*******************************************
* *
* Last Step Completed By Dutao @ 200703 *
* Yeah ! *
* *
*******************************************
Command: ifconfig lo 127.0.0.1
do_execve(...) @ fs/exec.c:01222 exec /bin/ifconfig successfully !
.
Command: route add -net 127.0.0.0 netmask 255.255.255.0 lo
do_execve(...) @ fs/exec.c:01222 exec /bin/route successfully !
.
Command: ifconfig eth0 192.168.1.123 netmask 255.255.255.0 up
do_execve(...) @ fs/exec.c:01222 exec /bin/ifconfig successfully !
.
enable_irq(24) unbalanced from 0c01fb60
Execution Finished, Exiting
Open file /dev/inet Error !
do_execve(...) @ fs/exec.c:01222 exec /bin/inetd successfully !
.
do_execve(...) @ fs/exec.c:01222 exec /bin/sh successfully !
.
Sash command shell (version 1.1.1)
/> ping 192.168.1.1
do_execve(...) @ fs/exec.c:01222 exec /bin/ping successfully !
.
PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=10.0 ms
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.0 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.0 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.0 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=0.0 ms
--- 192.168.1.1 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.0/2.0/10.0 ms
/> cat /proc/cpuinfo
Processor : Samsung-S3C44B0x rev 0 (v4l)
BogoMIPS : 29.79
Features : swp 26bit
CPU implementer : 0x44
CPU architecture: 4T
CPU variant : 0x30
CPU part : 0x770
CPU revision : 0
Cache type : write-through
Cache clean : not required
Cache lockdown : not supported
Cache format : Unified
Cache size : 512
Cache assoc : 1
Cache line length : 8
Cache sets : 64
Hardware : S3C44B0X Development Board
Revision : 0000
Serial : 0000000000000000
/>
[此贴子已经被作者于2007-4-13 18:46:49编辑过]
------------ I Love uClinux ----------