新闻  |   论坛  |   博客  |   在线研讨会
Skyeye安装笔记
tongxin | 2009-04-12 14:36:31    阅读:1409   发布文章

1.简介
%A SkyEye是一个开源软件项目,它是在Linux和Windows平台上实现一个纯软件模拟集成开发环境,模拟常见的嵌入式系统。可以在SkyEye上运行Linux,uClinux以及uC/OS-II等多款嵌入式操作系统和各种系统软件。
%A 目前最新版本的SkyEye是skyeye-1.2-RC6.tar.bz2版本,该版本可以从www.skyeye.org获取。SkyEye目前支持多款嵌入式处理器:
%A ATMEL AT91X40
%A PHILIPS LPC2xxxx
%A Samsung s3c4510b
%A Samsung s3c44b0
%A Cirrus Logic EP7312
%A sharp LH79520
%A Cirrus Logic EP9312
%A cs89712
%A sa1100
%A xscale pxa250 lubbock developboard
%A xscale pxa270 mainstone developboard
%A at91RM9200
%A s3c2410x
%A s3c2440
%A sharp lh7a400 developbaord
%A NetSilicon ns9750
%A Philips LPC2210
%A
%A 对于附加设备该项目已经完成对Flash,LCD,Network Interface Card,touchsceen, UART的支持
%A
%A 2.SkyEye的安装
%A 下面我就以最新版本的skyeye-1.2.RC6为例子安装SkyEye.
%A 我的系统配置入下
%A 操作系统: Fedora Core 2 Linux(2.4.x)
%A GCC Version: 3.3.2
%A arm-elf-gcc Version: 2.95.3 20010315
%A
%A 首先从www.uClinux.org下载arm-elf-tools,里面包含arm-elf-gcc, arm-elf-ld等工具。下载后可以通过如下方式安装:
%A $su -c ‘./arm-elf-tools-20030315.sh‘
%A $password:
%A
%A 安装完毕后,可以进入存放skyeye的目录,例如我的是放在/home/jelly/download/目录。然后进行解压。
%A $cd ~/download
%A $ls
%A skyeye-1.2-RC6.tar.bz2
%A
%A $tar jxvf skyeye-1.2-RC6-tar.bz2
%A
%A 然后进入解压的skyeye目录
%A $cd skyeye-v1
%A
%A 最后使用make命令进行软件的安装,编译完毕后会在binary生成一个skyeye可执行文件,该文件就是skyeye模拟器了。
%A 使用make命令的时候可以加入一些选项参数,例如:
%A 不允许DBCT
%A $make NO_DBCT=1
%A
%A 不支持LCD
%A $make NO_LCD=1
%A
%A 不支持BFD库
%A $make NO_BFD=1
%A
%A 不支持网络设备
%A $make NO_NET=1
%A
%A 如果在binary目录下生成了skyeye文件,那么安装成功。下面我以uClinux为例子,在skyeye上模拟。
%A 可以通过使用-h参数来获取帮助
%A $skyeye -h
%A ------------------------- SkyEye -V1.2 ---------------------------
%A Usage: SkyEye [options] -e program [program args]
%A Default mode is STANDALONE mode
%A ------------------------------------------------------------------
%A Options:
%A -e exec-file the (ELF executable format)kernel file name.
%A -d in GDB Server mode (can be connected by GDB).
%A -c config-file the skyeye configure file name.
%A -h This Help Display
%A -v This shows arch and cpu supported
%A ------------------------------------------------------------------
%A -e 指定elf各式的内核文件
%A -d GDB调试模式
%A -c 指定配置文件
%A -h 获取帮助
%A -v 显示体系结构和CPU支持信息(不知道是不是我用的这个版本没有实现该功能,使用-v选项后显示:Unknown option ‘-v‘)
%A
%A
%A 3.uClinux移植
%A 从www.uclinux.org网站上下载比较新的内核包文件,并且解压。
%A $tar xvzf uClinux-dist-xxxxxxxx.tar.gz
%A 进入生成的uClinux-dist目录
%A 可以使用make xconfig - 图形配置模式,make menuconfig - 菜单模式配置,方式来配置uClinux.
%A 在uClinux-dist目录下执行:
%A $make xconfig
%A
%A 在Target Platform Selection选项卡中选择:
%A Vendor/Product: GDB/ARMulator
%A Kernel Version: linux-2.4.x
%A Libc Version: uC-libc
%A 然后选择save and exit
%A
%A 完成配置后,可以使用make dep建立内核依赖关系,然后使用make编译内核和文件系统
%A $make dep; make
%A
%A 经过一段时间的编译后,如果没有出现错误,则在uClinux-dist目录下的images目录里会建立如下几个文件:
%A image.bin linux.data linux.text. romfs.img
%A 该romfs.img就是我们需要的文件系统映象了
%A 同时,在uClinux-dist/linux-2.4.x/目录下会生成linux,该文件是一个我们需要模拟的内核文件。
%A
%A 接下来我们可以使用skyeye软件来模拟我们编译的uClinux系统了。
%A 我们在uClinux-dist目录下建立一个名为skyeye.conf的配置文件。
%A 内容如下:
%A cpu: arm7tdmi
%A mach: at91
%A mem_bank: map=M, type=RW, addr=0x00000000, size=0x00004000
%A mem_bank: map=M, type=RW, addr=0x01000000, size=0x00400000
%A mem_bank: map=M, type=R, addr=0x01400000, size=0x00400000, file=images/romfs.img
%A mem_bank: map=M, type=RW, addr=0x02000000, size=0x00400000
%A mem_bank: map=M, type=RW, addr=0x02400000, size=0x00008000
%A mem_bank: map=M, type=RW, addr=0x04000000, size=0x00400000
%A mem_bank: map=I, type=RW, addr=0xf0000000, size=0x10000000
%A lcd: state=on
%A
%A 保存退出
%A
%A 然后在uClinux-dist目录里执行~/download/skyeye-v1/binary/skyeye -e linux-2.4.x/linux
%A 看看uclinux是不是跑起来了?
%A 下面是我的输出
%A
%A arch: arm
%A cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0
%A mach info: name at91, mach_init addr 0x80727e0
%A can‘t find device module: (null)
%A SKYEYE: use arm7100 mmu ops
%A Loaded ROM images/romfs.img
%A exec file "linux-2.4.x/linux"‘s format is elf32-little.
%A load section .init: addr = 0x01000000 size = 0x0000a000.
%A load section .text: addr = 0x0100a000 size = 0x000c5ca0.
%A load section .data: addr = 0x010d0000 size = 0x00008320.
%A not load section .bss: addr = 0x010d8320 size = 0x00022198 .
%A not load section .debug_abbrev: addr = 0x00000000 size = 0x00039846 .
%A not load section .debug_info: addr = 0x00000000 size = 0x016b812f .
%A not load section .debug_line: addr = 0x00000000 size = 0x00378ef3 .
%A not load section .debug_pubnames: addr = 0x00000000 size = 0x0000b40d .
%A not load section .debug_aranges: addr = 0x00000000 size = 0x000022e0 .
%A start addr is set to 0x01000000 by exec file.
%A Linux version 2.4.19-uc1 (jelly@localhost.localdomain) (gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 fromhttp://fiddes.net/coldfire/)(uClinux XIP and shared lib patches fromhttp://www.snapgear.com/)) #1 五 4#1 五 4月 7 23:41:40 CST 2006
%A Processor: Atmel AT91M40xxx revision 0
%A Architecture: EB01
%A On node 0 totalpages: 1024
%A zone(0): 0 pages.
%A zone(1): 1024 pages.
%A zone(2): 0 pages.
%A Kernel command line: root=/dev/rom0
%A Calibrating delay loop... 12.97 BogoMIPS
%A Memory: 4MB = 4MB total
%A Memory: 3036KB available (791K code, 170K data, 40K init)
%A Dentry cache hash table entries: 512 (order: 0, 4096 bytes)
%A Inode cache hash table entries: 512 (order: 0, 4096 bytes)
%A Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
%A Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
%A Page-cache hash table entries: 1024 (order: 0, 4096 bytes)
%A POSIX conformance testing by UNIFIX
%A Linux NET4.0 for Linux 2.4
%A Based upon Swansea University Computer Society NET3.039
%A Initializing RT netlink socket
%A Starting kswapd
%A Atmel USART driver version 0.99
%A ttyS0 at 0xfffd0000 (irq = 2) is a builtin Atmel APB USART
%A ttyS1 at 0xfffcc000 (irq = 3) is a builtin Atmel APB USART
%A Blkmem copyright 1998,1999 D. Jeff Dionne
%A Blkmem copyright 1998 Kenneth Albanowski
%A Blkmem 1 disk images:
%A 0: 1400000-145DBFF [VIRTUAL 1400000-145DBFF] (RO)
%A RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
%A NET4: Linux TCP/IP 1.0 for NET4.0
%A IP Protocols: ICMP, UDP, TCP
%A IP: routing cache hash table of 512 buckets, 4Kbytes
%A TCP: Hash tables configured (established 512 bind 512)
%A NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
%A VFS: Mounted root (romfs filesystem) readonly.
%A Shell invoked to run file: /etc/rc
%A Command: hostname GDB-ARMulator
%A Command: /bin/expand /etc/ramfs.img /dev/ram0
%A Command: mount -t proc proc /proc
%A Command: mount -t ext2 /dev/ram0 /var
%A Command: mkdir /var/tmp
%A Command: mkdir /var/log
%A Command: mkdir /var/run
%A Command: mkdir /var/lock
%A Command: cat /etc/motd
%A Welcome to
%A ____ _ _
%A / __| ||_|
%A _ _| | | | _ ____ _ _ _ _
%A | | | | | | || | _ | | | | / /
%A | |_| | |__| || | | | | |_| |/
%A | _______|_||_|_| |_|____|_/_/
%A | |
%A |_|
%A
%A GDB/ARMulator support by <davidm@snapgear.com>
%A For further information check:
%Ahttp://www.uclinux.org/
%A
%A Execution Finished, Exiting
%A
%A Sash command shell (version 1.1.1)
%A />
%A
%A 对于skyeye.conf文件的一点说明
%A 对于skyeye-v0.2.5版本之前的skyeye使用的是memmap.conf文件,而之后的是使用skyeye.conf文件
%A cpu: 指定CPU类型,如arm7tdmi,arm720t等
%A mach: 开发板类型,如at91, ep7312
%A mem_bank: 内存块
%A map=M 指定为rom/ram, map=I 指定为IO空间
%A type=RW 可读写,type=R 只读
%A addr=0x00000000 内存块开始地址
%A size=0x10000000 内存块大小
%A files=romfs.img 文件系统映象文件
%A net: 网络配置
%A state=on 模拟NIC,等于off则不模拟
%A mac=0:4:3:2:1:f 指定MAC地址
%A ethmod=tuntap/vnet 使用虚拟驱动
%A hostip= 指定ip地址
%A 例如:net: state = on, mac=0:4:3:2:1:f, ethmod=tuntap, hostip=10.0.0.1
%A
%A uart: 串口支持
%A fd_in= 指定输入文件
%A fd_out= 指定输出文件
%A 例如:uart: fd_in=/dev/ttyS0, fd_out=/dev/ttyS1
%A 则你可以使用minicon来监听COM1口来进行数据交换
%A
%A LCD:LCD模拟
%A state = on/off 打开或者关闭LCD模拟
%A
%A 4.SkyEye调试功能
%A 要使用SkeyEye调试功能,可以在执行的时候加入-d参数,例如:
%A $skyeye -e linux -d
%A 这时就在本机的12345端口开启了gdb服务
%A
%A 这时重新开一个终端程序
%A $arm-elf-gdb linux
%A (gdb)target remote 127.0.0.1:12345
%A 此时就可以象使用本地gdb一样来调试服务端的uClinux了。
%A
%A
%A 5.参考文档
%A 1.skyeye源码
%A 2.SkyEye User Manualhttp://skyeye.sourceforge.net/wiki/UserManual
%A 3.skyeyelcdtshttp://gro.clinux.org/frs/download.php/789/SkyEyelcdtouchscreen4gro.pdf
%A 4.skyeyeinternalhttp://gro.clinux.org/frs/download.php/719/skyeyeinternal-0.6.8.pdf
%A 5.hardwaredoc4skyeyehttp://gro.clinux.org/frs/download.php/835/hardwaredoc4skyeye.tar.bz2
%A
%A%A
%A

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
最近文章
寂寞如雪
2009-05-19 19:01:18
夜色花
2009-05-19 18:56:22
没有爱可以重来
2009-05-19 18:54:59
推荐文章
最近访客