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

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

【导读】 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下

相关资讯
中国AI产业突破封锁的韧性发展路径及未来展望

在全球科技博弈背景下,美国对华AI芯片出口限制政策持续升级。腾讯总裁刘炽平在2025年第一季度财报会上明确表示,腾讯已具备应对供应链风险的充足储备与技术创新能力,标志着中国AI产业正加速走向自主化发展道路。本文结合产业动态与政策趋势,剖析中国AI产业的战略转型与突破路径。

重塑全球供应链格局:ASM International战略布局应对贸易壁垒

在全球半导体产业链加速重构的背景下,荷兰半导体设备巨头ASM International(以下简称“ASM”)近期通过一系列战略调整引发行业关注。2025年5月15日,该公司宣布将通过转嫁关税成本、加速美国本土化生产及优化全球供应链,应对地缘政治风险与贸易壁垒。面对美国近期加征的“对等关税”政策(涵盖钢铁、汽车等商品,未来可能扩展至半导体领域),ASM展现出显著的供应链韧性:其亚利桑那州工厂即将投产,新加坡基地产能同步扩充三倍,形成“多区域制造网络”以分散风险。与此同时,中国市场成为其增长引擎——2025年中国区销售额或突破预期上限,占比达总营收的20%,凸显其在差异化竞争中的技术优势。这一系列举措不仅反映了半导体设备行业对关税政策的快速响应,更揭示了全球产业链从“效率优先”向“安全韧性”转型的深层逻辑。

国产芯片架构演进之路:从指令集适配到生态重构

在全球半导体产业长期被x86与ARM架构垄断的背景下,国产芯片厂商的生态自主化已成为关乎技术主权与产业安全的核心议题。北京君正集成电路股份有限公司作为中国嵌入式处理器领域的先行者,通过二十余年的技术迭代,探索出一条从指令集适配到生态重构的独特路径——早期依托MIPS架构实现技术积累,逐步向开源开放的RISC-V生态迁移,并创新性采用混合架构设计平衡技术过渡期的生态兼容性。这一转型不仅打破了国产芯片“被动跟随”的固有范式,更在智能安防、工业控制、AIoT等新兴领域实现了从“技术替代”到“生态定义”的跨越。据行业数据显示,其基于RISC-V内核的T系列芯片已占据计算芯片市场80%的份额,成为推动国产架构产业化落地的标杆。本文通过解析北京君正的架构演进逻辑,为国产半导体产业突破生态壁垒提供可复用的方法论。

性能飙升27%!高通骁龙7 Gen4如何改写中端芯片格局?

5月15日,高通技术公司正式推出第四代骁龙7移动平台(骁龙7 Gen 4),以台积电4nm制程打造,性能迎来全方位升级。该平台采用创新的“1+4+3”八核架构,CPU性能较前代提升27%,GPU渲染效率提升30%,并首次支持终端侧运行Stable Diffusion等生成式AI模型,NPU算力增幅达65%。在影像领域,其搭载的三重12bit ISP支持2亿像素拍摄与4K HDR视频录制,配合Wi-Fi 7与XPAN无缝连接技术,重新定义中高端设备的创作边界。荣耀与vivo宣布首发搭载该平台的机型,预计本月上市,标志着生成式AI技术向主流市场加速渗透。

破局高端芯片!小米自研玄戒O1即将发布,性能参数首曝光

5月15日晚间,小米集团CEO雷军通过个人微博账号正式宣布,由旗下半导体设计公司自主研发的玄戒O1手机SoC芯片已完成研发验证,计划于本月下旬面向全球发布。据雷军透露,该芯片将采用业界领先的4nm制程工艺,核心性能指标已接近国际旗舰水平。