fedora9下安装skyeye模拟器
<1> 下载skyeye-1.2.5_REL.tar.gz天眼源程序:
同时可以下载测试用例skyeye-testsuite-1.2.5.tar.bz2
<2> 编译skyeye
[luther@gp skyeye-1.2.5_REL]$ ./configure
[luther@gp skyeye-1.2.5_REL]$ vim config.h
按如下方式改变config.h文件内容,这样skyeye为1.9M,否则skyeye将为2.6M,并且不能运行[luther.gliethttp].
//#define HAVE_LIBBFD 1或者追加#undef HAVE_LIBBFD
//#define HAVE_BFD_H 1或者追加#undef HAVE_BFD_H
[luther@gp skyeye-1.2.5_REL]$ make
[luther@gp skyeye-1.2.5_REL]$ sudo make install
使用测试样例测试,不知为什么,只有很少的linux内核可以运行,感觉skyeye在linux下,uclinux倒是都能正常运行,感觉开启mmu的纯linux不是很稳定的样子,不过还好,有源码,实在不行可以跟踪学习.
比如:skyeye-testsuite-1.2.5/linux/ep7312/2.6.x
[luther@gp 2.6.x]$ skyeye -e vmlinux -c skyeye.conf
Your elf file is little endian.
arch: arm
cpu info: armv4, arm720t, 41807200, ffffff00, 1
mach info: name ep7312, mach_init addr 0x806b6f0
uart_mod:0, desc_in:, desc_out:, converter:
SKYEYE: use arm7100 mmu ops
Loaded RAM ./initrd_old.img
start addr is set to 0xc0028000 by exec file.
Linux version 2.6.12 (skyeyeuser@debian) (gcc version 3.3.2) #2 Tue Aug 9 16:45:07 CST 2005
CPU: ARM720T [41807200] revision 0 (ARMv4T)
Machine: Cirrus-CDB89712
Warning: bad configuration page, trying to continue
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists
Kernel command line: root=/dev/ram0 console=ttyCL0 initrd=0xc0200000,0x00600000 rw
PID hash table entries: 128 (order: 7, 2048 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 16MB = 16MB total
Memory: 8244KB available (1352K code, 340K data, 76K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
checking if image is initramfs...it isn't (bad gzip magic numbers); looks like an initrd
Freeing initrd memory: 6144K
NET: Registered protocol family 16
NetWinder Floating Point Emulator V0.97 (double precision)
audit: initializing netlink socket (disabled)
audit(0.329:0): initialized
Initializing Cryptographic API
Serial: CLPS711x driver $Revision: 1.42 $
ttyCL0 at I/O 0x100 (irq = 12) is a CLPS711x
ttyCL1 at I/O 0x1100 (irq = 28) is a CLPS711x
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
RAMDISK driver initialized: 16 RAM disks of 6144K size 1024 blocksize
mice: PS/2 mouse device common for all mice
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP established hash table entries: 1024 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
NET: Registered protocol family 1
SCTP: Hash tables configured (established 512 bind 1024)
RAMDISK: ext2 filesystem found at block 0
RAMDISK: Loading 6144KiB [1 disk] into ram disk... done.
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 76K
Shell invoked to run file: /sbin/init
Command: #!/bin/sh
Command: /etc/rc
Shell invoked to run file: /etc/rc
Command: #!/bin/sh
Command: hostname ARMLinux
Command: mount -t proc proc /proc
Command: mkdir /var/tmp
Command: mkdir /var/log
Command: mkdir /var/run
Command: mkdir /var/lock
/var/lock: No space left on device
Command: cat /etc/motd
Welcome to
_ _____ __ __ _ _
/ \ / __ \ / \_/ \ | | |_|
/ _ \ | | | | / /\ /\ \ | | _ ____ _ _ _ _
/ /_\ \ | |__| | / / \_/ \ \| | | | _ \| | | |\ \/ /
/ /___\ \ | |__\ \ | | | || |___ | | |_| | |_| |/ \
/_/ \_\| | \_\|_| |_||_____||_|_| |_|\____|\_/\_/
ARMLinux for Skyeye
For further information check:
~skyeye/
Command: #/bin/demobmp
Execution Finished, Exiting
Command: /bin/sh
Sash command shell (version 1.1.1)
/> ls
bin
dev
etc
home
lib
lost+found
mnt
proc
sbin
tmp
usr
var
/>
<3> 编译arm-linux-gdb
参考《 编译安装gdb+insight和gdbserver远程调试arm开发板native应用程序》
http://blog.chinaunix.net/u1/38994/showart_1186338.html
<4> skyeye的wiki
user_stories
<5> 下载arm-linux-gcc等编译工具
ftp://ftp.arm.linux.org.uk/pub/armlinux/toolchain/cross-3.2.tar.bz2
阅读(2223) | 评论(0) | 转发(0) |