基于嵌入式的ARM硬件仿真软件SkyEye使用分析

发布时间:2015-01-25 阅读量:1047 来源: 我爱方案网 作者:

【导读】 SkyEye的目标是在通用的Linux和Windows平台实现一个仿真集成开发环境,模拟常见的嵌入式计算机系统(目前支持基于arm7tdmi的AT91开发板);可在SkyEye上运行uclinux以及uC/OS-II等多种嵌入式操作系统,并对它们进行源码级的分析和测试。

SkyEye是一个开源软件(opensource software)项目,中文名字是“天目”。SkyEye的目标是在通用的Linux和Windows平台实现一个仿真集成开发环境,模拟常见的嵌入式计算机系统(目前支持基于arm7tdmi的AT91开发板);可在SkyEye上运行uclinux以及uC/OS-II等多种嵌入式操作系统,并对它们进行源码级的分析和测试。SkyEye的推出具有下面两方面的意义:

首先,通过SkyEye仿真集成环境可以很方便地进入到嵌入式系统软件学习和开发的广阔天地中。尤其对于缺少嵌入式硬件开发环境的用户来说,它将是一个非常有效的学习工具和开发手段。因此,如果您想学习Liunx操作系统或者进行嵌入式系统开发,但苦于没有硬件支持的话,欢迎使用SkyEye仿真环境软件!

1 在linux 下安装skyeye

1.1 从源代码进行安装skyeye

下载最新的skyeye-v0.x.x.tar.bz2源码包,目前最新的为skyeye-v0.4.7.tar.bz2

解开skyeye-v0.x.x.tar.bz2 :

tar jxf skyeye-v0.x.x.tar.bz2

进入解压后的skyeye目录,按照SkyEye.README介绍的步骤做configure,make,make install

cd skyeye

./configure --target=arm-elf --prefix=/usr/local --without-gtk-prefix --without-gtk-exec-prefix --disable-gtktest

make

make install

如果一切正常,则在/usr/local/bin目录下,有一个执行文件skyeye

注意:

需要指出的是,在mandrake8.2环境中,make 时会有error,不过不是什么大问题,

error:display.c->tcap.h->termcap.h:no such file or directory

在本机/usr/include下find一下,termcap.h头文件在/usr/include/ncurses目录下,

将termcap.h中的改成

重新执行make就ok了。

执行make install命令后,skyeye默认安装在/usr/local/bin/目录下,你可以通过改configure命令参数prefix来改变安装路径。

1.2 直接安装编译好的skyeye

下载最新的skyeye执行代码skyeye-0.x.x-redhat9.0.bin (目前只提供了在redhat9下编译好的代码),目前最新的版本为 skyeye-0.4.7-redhat9.0.bin

把下载的skyeye-0.4.7-redhat9.0.bin 移动到/usr/local/bin下,并改名为skyeye,改变skyeye的属性:

mv skyeye-0.4.7-redhat9.0.bin /usr/local/bin/skyeye

chmod 755 /usr/local/bin/skyeye
基于嵌入式的ARM硬件仿真软件SkyEye使用分析


2 安装arm-elf交叉编译器 (用于编译ucosii4skyeye 和 uclinux4skyeye)
 

 

3 安装 ucosii for skyeye

3.1 从源码安装

下载ucosii for skyeye源代码,目前的最新版本源代码为ucosii4skyeye-v1.8.2.tgz

解压文件:

tar zxf ucosii4skyeye-vx.x.x.tgz

进入解压生成的目录下,编译ucosii for skyeye:

cd ucosii4skyeye

make config

make dep

make

结束后,则生成五个sample的执行文件,分别位于ucosii4skyeye/samples/对应的应用名目录下。

3.2 直接下载编译好的cuosii for skyeye

目前最新的版本为ucosii4skyeye-binary-v1.8.tgz

解压文件:

tar zxf ucosii4skyeye-binary-v1.8.2.tgz

4 调试 ucosii for skyeye

在一个存在 skyeye.conf和*.elf文件(设为simple_test.elf)的目录下,执行:

skyeye simple_test.elf

(skyeye) target sim

(skyeye) load

(skyeye) run

就可以看到程序运行的情况

5 编译并运行uClinux-dist-20020927.tar.gz

运行环境:redhat9

前提:安装了 arm-elf-tools工具

以uClinux-dist-20020927.tar.gz为例。位于 ftp://166.111.68.183/pub/embed/uclinux/soft/目录下,或到www.uclinux.org处下载

将uClinux-dist-20020927.tar.gz下载并解开,比如解开在/usr/src/uclinux-dist/下,然后在/usr/src/uclinux-dist/目录下执行如下命令:

tar zxf uClinux-dist-20020927.tar.gz

cd uClinux-dist

在图形方式下可用命令 make xconfig 或 在命令行方式下可用命令 make menuconfig

在vendor/product中选择GDB/armulator,kernel版本选择2.4,save and exit.

这时在/usr/src/uclinux-dist/linux-2.4.x目录下生成linux文件

如果想一步生成带调试信息的linux kernel执行文件和linux kenel 执行文件映像和磁盘映像文件romfs.img

可简单是运行命令

make dep

make

就行了。可查看/usr/src/uclinux-dist/images/下是否有文件 romfs.img等

在/usr/src/uclinux-dist/linux-2.4.x目录下生成linux的elf格式的内核执行文件

-------------------------------------------------------------------------------------------------------------------------------------------------

在 uclinux-dist 目录下建立仿真AT91的skyeye配置文件 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

这个时候就可以用skyeye来调试运行kernel了,在/usr/src/uclinux-dist执行如下命令:

skyeye linux-2.4.x/linux

(skyeye)target sim

(skyeye)load

(skyeye)run

kernel start.....

注意:

要在 skyeye.conf 所在目录下执行skyeye。

6 下载测试软件集合

目前最新版本的测试软件集合为:

skyeye-binary-testsuits-in-rh9-2003-09-21.tar.bz2

到 ftp:/166.111.68.183/pub/embed/skyeye/binary/下载

解压并测试:

tar jxf skyeye-binary-testsuits-in-rh9-2003-09-21.tar.bz2

cd test

相关文章

SDRAM在嵌入式操作系统windowCE中的应用方案

应用于嵌入式网络摄像机的AT91RM9200设计方案

应用于嵌入式PLC的LPC2294智能处理器设计方案


下载arm-elf-tools-20030314.sh 位于 ftp://166.111.68.183/pub/embed/uclinux/soft/tools/arm目录下,或到www.uclinux.org处下载

改变文件属性,并执行:

chmod 755 arm-elf-tools-20030314.sh

./arm-elf-tools-20030314.sh

结束后,arm-elf-gcc/gdb....工具会安装到/usr/local/bin下

相关资讯
美光启动2000亿美元本土投资计划 加速美国半导体制造布局

全球存储芯片巨头美光科技(Micron)正式公布其2000亿美元美国投资计划的详细路线图。该战略包含1500亿美元制造设施扩建及500亿美元研发投入,预计创造近9万个直接与间接就业岗位,旨在重塑美国在先进存储芯片领域的全球竞争力。

Nexperia推出全球首款48V汽车通信ESD保护方案,填补技术空白

随着电动汽车(EV)和混合动力汽车(HEV)对能效要求的不断提升,48V 电气系统凭借其显著优势,正迅速取代传统的 12V/24V 架构,成为新一代汽车电能管理的核心。在这一趋势下,为 CAN、CAN-FD、LIN 及 FlexRay 等关键车载数据通信网络提供稳定可靠的静电放电(ESD)保护变得至关重要。然而,长期以来,市场缺乏专为 48V 板网设计的成熟 ESD 保护方案,迫使工程师采用增加 12V 电源轨或并联多个低电压(36V)二极管的替代方案,显著增加了系统复杂性和成本。Nexperia 精准捕捉这一行业痛点,推出了专为 48V 汽车数据通信网络优化的 ESD 保护二极管产品组合,填补了市场空白。

三星半导体策略重大转向:暂停1.4nm研发,深耕2nm制程优化

根据韩国ZDNet Korea最新报道,三星电子近日调整其Exynos移动处理器开发战略,决定暂缓原定2027年量产的1.4纳米(SF1.4)制程节点计划。这一决策标志着三星在尖端制程竞赛中首次放缓技术迭代速度,转而聚焦现有2纳米技术成熟度的提升。

突破性进展!TDK全新电感器实现电流提升16%+电阻降低31%

随着电动汽车(xEV)和高级驾驶辅助系统(ADAS)的快速发展,车载电源电路对核心元器件的性能要求持续攀升。高效能、小型化、耐高温的电感器成为提升系统效率的关键突破点。TDK株式会社凭借其薄膜电感技术的最新突破,推出TFM201612BLEA系列升级产品,为下一代汽车电子系统提供强有力的技术支撑。

OpenAI澄清谷歌AI芯片使用传闻,强调自研芯片进展

7月伊始,关于人工智能领导者OpenAI将大规模采用谷歌自研AI芯片(TPU)的传闻被官方正式澄清。此前《路透社》曾援引消息称,OpenAI已与Google Cloud签约,将租赁谷歌TPU以满足其ChatGPT等产品日益增长的计算需求。然而,OpenAI发言人近日向媒体明确表示,公司目前没有计划使用谷歌的TPU芯片来驱动其产品。