Skyeye笔记

uClinux移植概述 uClinux移植概述作者:姜江E-mail:jznsmail@tom.comBlog:http://blog.csdn.net/jznsmail1.建立开发环境    作为uClinux系统的移植和开发的主机最好使用Linux操作系统,如果选择Windows平台作为开发平台则需要Cygwin软件包的支持。在这里我们选用的开发平台是Fedora Core 2,内核版本为2.4.x。在进行uCl 阅读详情
Skyeye笔记
作者:姜江
QQ:457283
Blog:http://blog.csdn.net/jznsmail

1.简介
    SkyEye是一个开源软件项目,它是在Linux和Windows平台上实现一个纯软件模拟集成开发环境,模拟常见的嵌入式系统。可以在SkyEye上运行Linux,uClinux以及uC/OS-II等多款嵌入式操作系统和各种系统软件。
    目前最新版本的SkyEye是skyeye-1.2-RC6.tar.bz2版本,该版本可以从www.skyeye.org获取。SkyEye目前支持多款嵌入式处理器:
    ATMEL AT91X40
    PHILIPS LPC2xxxx
    Samsung s3c4510b
    Samsung s3c44b0
    Cirrus Logic EP7312
    sharp LH79520
    Cirrus Logic EP9312
    cs89712
    sa1100
    xscale pxa250 lubbock developboard
    xscale pxa270 mainstone developboard
    at91RM9200
    s3c2410x
    s3c2440
    sharp lh7a400 developbaord
    NetSilicon ns9750
    Philips LPC2210

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

2.SkyEye的安装
    下面我就以最新版本的skyeye-1.2.RC6为例子安装SkyEye.
    我的系统配置入下
    操作系统: Fedora Core 2 Linux(2.4.x)
    GCC Version: 3.3.2
    arm-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:

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

    $tar jxvf skyeye-1.2-RC6-tar.bz2
   
    然后进入解压的skyeye目录
    $cd skyeye-v1
   
    最后使用make命令进行软件的安装,编译完毕后会在binary生成一个skyeye可执行文件,该文件就是skyeye模拟器了。
    使用make命令的时候可以加入一些选项参数,例如:
    不允许DBCT
    $make NO_DBCT=1

    不支持LCD
    $make NO_LCD=1

    不支持BFD库
    $make NO_BFD=1

    不支持网络设备
    $make NO_NET=1

    如果在binary目录下生成了skyeye文件,那么安装成功。下面我以uClinux为例子,在skyeye上模拟。
    可以通过使用-h参数来获取帮助
    $skyeye -h
------------------------- SkyEye -V1.2 ---------------------------
Usage: 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 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,该文件是一个我们需要模拟的内核文件。

    接下来我们可以使用skyeye软件来模拟我们编译的uClinux系统了。
    我们在uClinux-dist目录下建立一个名为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/skyeye-v1/binary/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)
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)
/>

    对于skyeye.conf文件的一点说明
    对于skyeye-v0.2.5版本之前的skyeye使用的是memmap.conf文件,而之后的是使用skyeye.conf文件
    cpu: 指定CPU类型,如arm7tdmi,arm720t等
    mach: 开发板类型,如at91, ep7312
    mem_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.1

    uart: 串口支持
              fd_in= 指定输入文件
              fd_out= 指定输出文件
              例如:uart: fd_in=/dev/ttyS0, fd_out=/dev/ttyS1
              则你可以使用minicon来监听COM1口来进行数据交换

    LCD:LCD模拟
              state = on/off 打开或者关闭LCD模拟

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

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


5.参考文档
    1.skyeye源码
    2.SkyEye User Manual http://skyeye.sourceforge.net/wiki/UserManual
    3.skyeyelcdts http://gro.clinux.org/frs/download.php/789/SkyEyelcdtouchscreen4gro.pdf
    4.skyeyeinternal http://gro.clinux.org/frs/download.php/719/skyeyeinternal-0.6.8.pdf
    5.hardwaredoc4skyeye http://gro.clinux.org/frs/download.php/835/hardwaredoc4skyeye.tar.bz2
DRAM自测试模块 1 背景技术DDR3/4 SDRAM属于高速外设,最高时钟频率可达到1600MHz,最高速率可达3200MT/s。在存储控制器与DDR34 SDRAM设备之间有一层专为高速接口设计的模拟电路,此电路对于前端设计人员来说,不管在模拟验证阶段和回片测试阶段,都是一个黑盒子。而对于后端测试人员来说若此部分为外购IP,则内部结构也是无法清楚了解的。所以在测试阶段,对于DDR34 SDRAM的测试就具有一定的 阅读详情

相关推荐

声纹识别实战:用Python从零搭建一个简易声纹验证系统(附完整代码)

本文是一份详细的声纹识别实战指南,教你使用Python从零搭建一个简易的声纹验证系统。文章涵盖了从音频采集、预处理、MFCC特征提取,到基于高斯混合模型(GMM)的建模与验证全流程,并提供了完整的代码实现,帮助开发者快速掌握这项生物特征识别核心技术。

ik6789012的博客 215

Skyeye安装笔记

Skyeye安装笔记 (English Version)作者:姜江QQ:457283Blog:http://blog.csdn.net/jznsmail1.简介SkyEye是一个开源软件项目,它是在Linux和Windows平台上实现一个纯软件模拟集成开发环境,模拟常见的嵌入式系统。可以在SkyEye上运行Linux,uClinux以及uC/OS-II等多款嵌入式操作系

ruanzihua的专栏 1168

IEC 61800-5-1-2022 (英文原版908页)可调速电力驱动系统 第5-1部分:安全要求电气、热力和能源.rar

IEC 61800-5-1-2022 (英文原版908页)可调速电力驱动系统 第5-1部分:安全要求电气、热力和能源.rar

skyeye linux qt,在ARM9上安装Linux,利用SkyEye模拟器及U-BOOT引导

提示:本人在2008年进行Linux@ARM实验,在ARM9上安装Linux、利用SkyEye模拟器及U-BOOT引导。这是实验报告、以及实验过程中留下的记录,按日期倒序排列。本文以CreativeCommons BY-NC 3.0协议授权嵌入式系统作业二:Linux@ARM5050369043 石君霄一、实验环境主机硬件:DELL INSPIRON 600m操作系统:Ubuntu 8.04 Ha...

weixin_33262687的博客 757

SkyEye(一种软件模拟的系统开发平台)

一.SkyEye介绍1.SkyEye的起源和发展2002年11月,一个偶然的机会,一群操作系统的爱好者在网上进行聊天,成立了一个TM-Linux兴趣小组,希望要做一些感兴趣的事情。当时在清华大学计算机系做博士后的陈渝提出做一个用软件实现的嵌入式开发板硬件模拟器,可以在模拟器上运行各种操作系统,这样就可以在没有开发板的情况下学习和研究操作系统。一开始就陈渝一人做,首先他了解了当前国际上的一些

LP2001lp的专栏 5314

Skyeye学习(一)—— 安装与使用测试例子

在不经意间,本人在网上看到了,一个评论,说如果没有实物开发板,可以利用一些工具模拟硬件平台,来学习Linux移植开发等。由于本人正是那种没有多少可流动现金,所以选择了SkyeyeSkyeye本来是由清华一学生创始的,后来加入了很多同伴与其一起开发。孤身一人开发确实不容易,但很多情况下都得独自开发,像我这种普通高校学生,很难会做出一下令人有兴趣的,而且还会让人加入的事情。所以只能自己努力坚持,...

weixin_30469895的博客 262

一步一步教你在skyeye上运行uboot

1. 简介 skyeye是一个很好的,基于各种ARM系列CPU的,SOC和主板级的模拟器。uboot是一个可以在各种cpu(arm,mips,powerpc)的主板上运行的引导程序,相当于PC机的BIOS但是又远远的强于普通的BIOS,比如支持网络引导,引导各种内核,甚至一个简单的shell,等等。他们两个都是基于GPL的开源自由软件。 这篇文章教你怎样在最少量的修改代码的情况下,用skyeye

Bekars涡轮增压的Blog ^_^ 2389

从计划到执行:skyeye日程与笔记功能提升个人 productivity

你是否经常在工作中忘记重要会议?是否在项目推进时找不到关键讨论记录?作为一款集成了50多种电子流程的智能办公OA系统,skyeye的日程与笔记功能正是为解决这些痛点而生。本文将带你从实际应用场景出发,掌握如何利用这两个功能实现任务从计划到执行的全流程管理,让工作效率提升300%。 ## 日程管理:让时间规划可视化 skyeye的日程管理模块采用直观的日历视图,支持日、周、月三种时间维度切换,帮...

gitblog_00149的博客 644

Skyeye安装笔记和使用

Skyeye安装笔记和使用1.简介 SkyEye是一个开源软件项目,它是在Linux和Windows平台上实现一个纯软件模拟集成开发环境,模拟常见的嵌入式系统。可以在SkyEye上运行Linux,uClinux以及uC/OS-II等多款嵌入式操作系统和各种系统软件。 目前最新版本的SkyEyeskyeye-1.2-RC6.tar.bz2版本,该版本可以从www.skyeye.org获取。Sk

虫子专栏 6405

skyeye 安装笔记

skyeye是什么?google一下就知道了。 进入正题: 1.下载源码:http://sourceforge.net/projects/skyeye/files/skyeye/     我下的是最新版的skyeye-1.3.2_rc1.tar.gz 2.解压到一个文件夹下面:         tar -xvzf skyeye-1.3.2_rc1.tar.gz 3.确保安装这些包,以面

225

skyeye安装笔记(二)安装skyeye

一、安装skyeye我安装的是skyeye 1.2.4,安装其实很简单,只需要进入安装包解压后的目录内,输入make指令即可,可是这时候会出现错误,安装不下去了,具体的错误出错的意思大概是在ppc_mmu_set_sdr1里没用到function prom_quiesce(),   arch/ppc/common/ppc_mmu.c:240: undefined reference to `p

wangdongx40423p的专栏 1591

skyeye安装笔记(三)安装skyeye-testsuit

这是我在网上找的,给大家分享一下

wangdongx40423p的专栏 1752

Skyeye安装笔记 (English Version)

Skyeye安装笔记 (English Version)作者:姜江QQ:457283Blog:http://blog.csdn.net/jznsmail1.简介SkyEye是一个开源软件项目,它是在Linux和Windows平台上实现一个纯软件模拟集成开发环境,模拟常见的嵌入式系统。可以在SkyEye上运行Linux,uClinux以及uC/OS-II等多款嵌入式操作系

积累与分享 827

原创 skyeye安装笔记(一)安装GCC

一.SkyEye介绍1.SkyEye的起源和发展2002年11月,一个偶然的机会,一群操作系统的爱好者在网上进行聊天,成立了一个TM-Linux兴趣小组,希望要做一些感兴趣的事情。当时在清华大学计算机系做博士后的陈渝提出做一个用软件实现的嵌入式开发板硬件模拟器,可以在模拟器上运行各种操作系统,这样就可以在没有开发板的情况下学习和研究操作系统。一开始就陈渝一人做,首先他了解了当前国际上的一些类似

wangdongx40423p的专栏 1997

uClinux学习笔记之一 Ubuntu 8.04 下uClinux的编译和skyeye仿真

Ubuntu 8.04 下uClinux的编译和skyeye仿真      有一段时间没有用Linux了,以前要编译与Linux相关的代码用的都是用 Cygwin或是MinGW,不到万不得己是不会用Linux的,其中的主要原因是开发Linux软件的经历比较少,像Qt,Python这些软件,又都是跨平台的,在windows下的也照样能用它来编程,其次就是硬盘的空间有限,最

I2Cbus的专栏 4146

使用skyeye运行《Linux设备驱动开发详解》的实例(一)

http://21cnbao.blog.51cto.com/109393/266975

嵌入式Linux开发 369

SkyEye Installation Notes

Skyeye Installation NotesAuthor: Jiang JiangE-mail: jznsmail@tom.comBlog:http://blog.csdn.net/jznsmail1.Introduction    SkyEye is an Open Source Software Project(GPL Licence).The goal of SkyEye is to

★果冻★的专栏 3925

基于S3C44B0微处理器的uClinux内核引导剖析

基于S3C44B0微处理器的uClinux内核引导剖析姜江E-mail:jznsmail@tom.comBlog:http://blog.csdn.net/jznsmail摘 要:本文采用三星公司的S3C44B0微处理器,对uClinux操作系统内核的引导过程进行了剖析。关键字:S3C44B0X;uClinux;嵌入式系统;内核引导 1 前言伴随着微电子的发展,用于

★果冻★的专栏 3672

Android平台上GDB for MIPS芯片的构建

如需转载,请注明出处!姜江 linuxemacs@gmail.com     因项目原因需要构建一个基于MIPS芯片的GDB,这里简单记录一下构建过程以备以后使用。 一、目标    1. 运信在MIPS芯片上的gdbserver    2. 运行在MIPS芯片上的gdb    3. 运行在x86芯片上的gdb 二、所需要环境1. 工具链    从Co

★果冻★的专栏 2132

linux下的nm指令

使用指令: g++ -c hello.c -o hello.o(没错,就是用c++编译器编译c文件),将hello.c编译成目标文件hello.o文件。然后使用nm指令查看hello.o文件的符号表。是 Linux 下一个非常常用的查看目标文件/可执行文件符号表(symbol table)的命令。

xinxin的博客 255
上一篇: FVWM安装笔记
下一篇: SkyEye Installation Notes
jznsmail
博客等级 码龄25年 36粉丝 71原创
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值