Linux SkyEye开源软件安装调试功能

运维 系统运维
目前最新版本的Linux SkyEye开源软件是Linux SkyEye开源软件-1.2-RC6.tar.bz2版本,该版本可以从www.Linux SkyEye开源软件.org获取。Linux SkyEye开源软件目前支持多款嵌入式处理器:

Linux SkyEye开源软件还是比较常用的,于是我研究了一下Linux SkyEye开源软件,在这里拿出来和大家分享一下,希望对大家有用。一个 Linux SkyEye开源软件项目,它是在Linux和Windows平台上实现一个纯软件模拟集成开发环境,模拟常见的嵌入式系统。可以在Linux SkyEye开源软件上运行Linux,uClinux以及uC/OS-II等多款嵌入式操作系统和各种系统软件。

目前最新版本的Linux SkyEye开源软件是Linux SkyEye开源软件-1.2-RC6.tar.bz2版本,该版本可以从www.Linux SkyEye开源软件.org获取。Linux SkyEye开源软件目前支持多款嵌入式处理器:

  1. ATMEL AT91X40  
  2. PHILIPS LPC2xxxx  
  3. Samsung s3c4510b  
  4. Samsung s3c44b0  
  5. Cirrus Logic EP7312  
  6. sharp LH79520  
  7. Cirrus Logic EP9312  
  8. cs89712  
  9. sa1100  
  10. xscale pxa250 lubbock developboard  
  11. xscale pxa270 mainstone developboard  
  12. at91RM9200  
  13. s3c2410x  
  14. s3c2440  
  15. sharp lh7a400 developbaord  
  16. NetSilicon ns9750  
  17. Philips LPC2210 

对于附加设备该项目已经完成对Flash,LCD,Network Interface Card,touchsceen, UART的支持

2.Linux SkyEye开源软件的安装

下面我就以最新版本的Linux SkyEye开源软件-1.2.RC6为例子安装Linux SkyEye开源软件.我的系统配置入下操作系统: Fedora Core 2 Linux(2.4.x)GCC Version: 3.3.2arm-elf-gcc Version: 2.95.3 20010315首先从www.uClinux.org下载arm-elf-tools,里面包含arm-elf-gcc, arm-elf-ld等工具。下载后可以通过如下方式安装:
$su -c './arm-elf-tools-20030315.sh'
$password:

安装完毕后,可以进入存放Linux SkyEye开源软件的目录,例如我的是放在/home/jelly/download/目录。然后进行解压。
$cd ~/download
$ls
Linux SkyEye开源软件-1.2-RC6.tar.bz2
$tar jxvf Linux SkyEye开源软件-1.2-RC6-tar.bz2

然后进入解压的Linux SkyEye开源软件目录$cd Linux SkyEye开源软件-v1最后使用make命令进行软件的安装,编译完毕后会在binary生成一个Linux SkyEye开源软件可执行文件,该文件就是Linux SkyEye开源软件模拟器了。使用make命令的时候可以加入一些选项参数,例如:

  1. 不允许DBCT  
  2. $make NO_DBCT=1 
  3. 不支持LCD  
  4. $make NO_LCD=1 
  5. 不支持BFD库  
  6. $make NO_BFD=1 
  7. 不支持网络设备  
  8. $make NO_NET=1 

如果在binary目录下生成了Linux SkyEye开源软件文件,那么安装成功。下面我以uClinux为例子,在Linux SkyEye开源软件上模拟。可以通过使用-h参数来获取帮助$Linux SkyEye开源软件 -hLinux SkyEye开源软件 -V1.2
Usage: Linux SkyEye开源软件 [options] -e program [program args]
Default mode is STANDALONE mode
Options:
-e exec-file the (ELF executable format)kernel file name.
-d in GDB Server mode (can be connected by GDB).
-c config-file the Linux SkyEye开源软件 configure file name.
-h This Help Display
-v This shows arch and cpu supported
-e 指定elf各式的内核文件
-d GDB调试模式
-c 指定配置文件
-h 获取帮助
-v 显示体系结构和CPU支持信息(不知道是不是我用的这个版本没有实现该功能,使用-v选项后显示:Unknown option '-v')

3.uClinux移植

从www.uclinux.org网站上下载比较新的内核包文件,并且解压。$tar xvzf uClinux-dist-xxxxxxxx.tar.gz进入生成的uClinux-dist目录可以使用make xconfig - 图形配置模式,make menuconfig - 菜单模式配置,方式来配置uClinux.在uClinux-dist目录下执行:$make xconfig

在Target Platform Selection选项卡中选择:Vendor/Product: GDB/ARMulator Kernel Version: linux-2.4.x Libc Version: uC-libc然后选择save and exit

完成配置后,可以使用make dep建立内核依赖关系,然后使用make编译内核和文件系统$make dep; make经过一段时间的编译后,如果没有出现错误,则在uClinux-dist目录下的images目录里会建立如下几个文件:image.bin linux.data linux.text. romfs.img该romfs.img就是我们需要的文件系统映象了同时,在uClinux-dist/linux-2.4.x/目录下会生成linux,该文件是一个我们需要模拟的内核文件。

接下来我们可以使用Linux SkyEye开源软件软件来模拟我们编译的uClinux系统了。我们在uClinux-dist目录下建立一个名为Linux SkyEye开源软件.conf的配置文件。内容如下:
cpu: arm7tdmi
mach: at91
mem_bank: map=M, type=RW, addr=0x00000000, size=0x00004000
mem_bank: map=M, type=RW, addr=0x01000000, size=0x00400000
mem_bank: map=M, type=R, addr=0x01400000, size=0x00400000, file=images/romfs.img
mem_bank: map=M, type=RW, addr=0x02000000, size=0x00400000
mem_bank: map=M, type=RW, addr=0x02400000, size=0x00008000
mem_bank: map=M, type=RW, addr=0x04000000, size=0x00400000
mem_bank: map=I, type=RW, addr=0xf0000000, size=0x10000000
lcd: state=on

保存退出然后在uClinux-dist目录里执行~/download/Linux SkyEye开源软件-v1/binary/Linux SkyEye开源软件 -e linux-2.4.x/linux看看uclinux是不是跑起来了?下面是我的输出
arch: arm
cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0
mach info: name at91, mach_init addr 0x80727e0
can't find device module: (null)
Linux SkyEye开源软件: use arm7100 mmu ops
Loaded ROM images/romfs.img
exec file "linux-2.4.x/linux"'s format is elf32-little.
load section .init: addr = 0x01000000 size = 0x0000a000.
load section .text: addr = 0x0100a000 size = 0x000c5ca0.
load section .data: addr = 0x010d0000 size = 0x00008320.
not load section .bss: addr = 0x010d8320 size = 0x00022198 .
not load section .debug_abbrev: addr = 0x00000000 size = 0x00039846 .
not load section .debug_info: addr = 0x00000000 size = 0x016b812f .
not load section .debug_line: addr = 0x00000000 size = 0x00378ef3 .
not load section .debug_pubnames: addr = 0x00000000 size = 0x0000b40d .
not load section .debug_aranges: addr = 0x00000000 size = 0x000022e0 .
start addr is set to 0x01000000 by exec file.
Linux version 2.4.19-uc1 (jelly@localhost.localdomain) (gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinux∞ XIP and shared lib patches from http://www.snapgear.com/)∞) #1 五 4#1 五 4月 7 23:41:40 CST 2006
Processor: Atmel AT91M40xxx revision 0
Architecture: EB01
On node 0 totalpages: 1024
zone(0): 0 pages.
zone(1): 1024 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/rom0
Calibrating delay loop... 12.97 BogoMIPS
Memory: 4MB = 4MB total
Memory: 3036KB available (791K code, 170K data, 40K init)
Dentry cache hash table entries: 512 (order: 0, 4096 bytes)
Inode cache hash table entries: 512 (order: 0, 4096 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 1024 (order: 0, 4096 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
Atmel USART driver version 0.99
ttyS0 at 0xfffd0000 (irq = 2) is a builtin Atmel APB USART
ttyS1 at 0xfffcc000 (irq = 3) is a builtin Atmel APB USART
Blkmem copyright 1998,1999 D. Jeff Dionne
Blkmem copyright 1998 Kenneth Albanowski
Blkmem 1 disk images:
0: 1400000-145DBFF [VIRTUAL 1400000-145DBFF] (RO)
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 512 bind 512)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
VFS: Mounted root (romfs filesystem) readonly.
Shell invoked to run file: /etc/rc
Command: hostname GDB-ARMulator
Command: /bin/expand /etc/ramfs.img /dev/ram0
Command: mount -t proc proc /proc
Command: mount -t ext2 /dev/ram0 /var
Command: mkdir /var/tmp
Command: mkdir /var/log
Command: mkdir /var/run
Command: mkdir /var/lock
Command: cat /etc/motd
Welcome to


GDB/ARMulator support by <davidm@snapgear.com>
For further information check:
http://www.uclinux.org/∞
Execution Finished, Exiting
Sash command shell (version 1.1.1)
/>

对于Linux SkyEye开源软件.conf文件的一点说明对于Linux SkyEye开源软件-v0.2.5版本之前的Linux SkyEye开源软件使用的是memmap.conf文件,而之后的是使用Linux SkyEye开源软件.conf文件cpu: 指定CPU类型,如arm7tdmi,arm720t等mach: 开发板类型,如at91, ep7312mem_bank: 内存块
map=M 指定为rom/ram, map=I 指定为IO空间
type=RW 可读写,type=R 只读
addr=0x00000000 内存块开始地址
size=0x10000000 内存块大小
files=romfs.img 文件系统映象文件
net: 网络配置
state=on 模拟NIC,等于off则不模拟
mac=0:4:3:2:1:f 指定MAC地址
ethmod=tuntap/vnet 使用虚拟驱动
hostip= 指定ip地址
例如:net: state = on, mac=0:4:3:2:1:f, ethmod=tuntap, hostip=10.0.0.1uart: 串口支持
fd_in= 指定输入文件
fd_out= 指定输出文件
例如:uart: fd_in=/dev/ttyS0, fd_out=/dev/ttyS1
则你可以使用minicon来监听COM1口来进行数据交换LCD:LCD模拟state = on/off 打开或者关闭LCD模拟

4.Linux SkyEye开源软件调试功能
要使用SkeyEye调试功能,可以在执行的时候加入-d参数,例如:
$Linux SkyEye开源软件 -e linux -d
这时就在本机的12345端口开启了gdb服务

这时重新开一个终端程序
$arm-elf-gdb linux
(gdb)target remote 127.0.0.1:12345
此时就可以象使用本地gdb一样来调试服务端的uClinux了。

【编辑推荐】

  1. Linux SkyEye安装交叉编译器
  2. Linux wingrub关于系统引导管理器的简单介绍
  3. Linux操作系统配置过程启动服务
  4. Linux Quagga守护进程启动
  5. Linux initrd启动跟系统的硬件相关
责任编辑:佚名 来源: csdn
相关推荐

2010-03-02 10:55:47

Linux SkyEy

2010-02-24 16:49:24

Fedora SkyE

2009-05-26 09:04:07

skyeye嵌入式模拟器

2010-08-12 13:31:49

2010-03-03 13:09:08

Linux安装

2012-11-08 16:16:41

Linux开源软件

2009-05-20 16:07:49

开源模拟器Skyeye1.2.8

2011-01-06 13:22:00

2018-12-19 09:20:45

Linux迁移安装软件

2010-01-10 17:45:35

开源软件Linux

2020-05-09 12:01:40

Linux开源软件SDN

2010-12-14 09:15:50

Visual Stud

2013-05-16 11:16:45

Linux软件安装卸载

2009-12-16 17:22:55

Linux软件安装

2023-09-07 13:21:00

Linux软件

2010-03-02 15:29:11

Linux图形软件安装

2023-12-19 09:00:03

OCR软件开源Ocrad

2009-03-26 17:23:57

LinuxWebLogic安装调试

2011-01-11 16:00:13

Linux软件安装

2010-03-02 14:35:58

linux文本环境安装
点赞
收藏

51CTO技术栈公众号