skyeye的安装及使用

上传人:飞*** 文档编号:44523734 上传时间:2018-06-09 格式:DOC 页数:14 大小:1.13MB
返回 下载 相关 举报
skyeye的安装及使用_第1页
第1页 / 共14页
skyeye的安装及使用_第2页
第2页 / 共14页
skyeye的安装及使用_第3页
第3页 / 共14页
skyeye的安装及使用_第4页
第4页 / 共14页
skyeye的安装及使用_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《skyeye的安装及使用》由会员分享,可在线阅读,更多相关《skyeye的安装及使用(14页珍藏版)》请在金锄头文库上搜索。

1、嵌嵌 入入 式式 系系 统统 实实 验验 报报 告告专业: 姓名: 学号:一、试验目的一、试验目的利用skyeye模拟开发板模拟嵌入式开发系统,在skyeye上运行操作系统,调试程序和系统软件。二、实验过程二、实验过程1.实验环境实验环境主机:Ubuntu9.04编译器:gcc4.3.3交叉编译工具:arm-elf-tools-20040427.sh仿真软件:skyeye-1.2.8_rc1Bootloader:u-boot-1.1.4待仿真内核:uClinux-dist-200701302.skyeye-1.2.8_rc1的安装的安装1)安装相关的依赖包,在终端中运行以下命令:$sudo a

2、pt-get install libgtk2.0-dev pkg-config libatk1.0-dev libpango1.0-dev $sudo apt-get install libfreetype6-dev libglib2.0-dev libx11-dev binutils-dev2)把源码包skyeye-1.2.8_rc1.tar.gz放到$home目录下,在终端中运行以下命令:$cd $home$tar -cxvf skyeye-1.2.8_rc1.tar.gz /解压源码包得到skyeye-1.2.8_rc1文件夹$cd skyeye-1.2.8_rc1$./configur

3、e /配置文件,生成Makefile文件$make /编译文件$sudo make install /安装编译好的skyeye$whereis skyeye /查看skyeye安装的位置运行skyeye,显示其版本和所支持的处理器,运行以下命令,显示如下图。$skyeye3.安装安装skyeye过程中遇到的问题过程中遇到的问题在$make后会遇到以下三个问题:1)提示没有找到命令”makeinfo”。解决的方法:$sudo apt-get install texinfo2)/usr/include/bits/fcntl2.h:51: 错误: 调用_open_missing_mode,声明有错误

4、属性:open with O_CREAT in second argument needs 3 arguments解决方法:打开错误提示的./device/nandflash/nandflash_smallblock.c文件,约在519行的:if (nf-fdump= open(dev-dump, FILE_FLAG) 0)改为:if (nf-fdump= open(dev-dump, FILE_FLAG,0777) 0)这是因为open函数在调用时少了一个参数。3)/bin/sh: ./mkinstalldirs: not found这个问题是在执行$make install时遇到的,文件夹

5、中缺少mkinstalldirs。可以通过拷贝文件mkinstalldirs 到skyeye-1.2.8_rc1/third-party目录解决。Mkinstalldirs文件可以在gdb或者binutils的源代码中获得。其实还有一种简单的方法可以安装skyeye:$sudo apt-get install skyeye,不过获得的skyeye的版本较低为1.2.3版本。4.arm-elf-tools-20040427.sh的安装的安装要完成uclinux在ARM上的移植,必须要有这个工具。查看这个文件的属性$ls l arm-elf-tools-20040427修改文件的属性$chmod

6、755 arm-elf-tools-20040427.sh执行解压安装$sudo sh ./arm-elf-tools-20040427.sh这时出现以下的错误:tail: cannot open +43 for reading: No such file or directorygzip: stdin: not in gzip formattar: This does not look like a tar archivetar: Error exit delayed from previous errors解决的方法:tail问题:tail: cannot open +43 for rea

7、ding: No such file or directory用vim打开该文件,将第39行的代码:tail +$SKIP $SCRIPT | gunzip | tar xvf -改成如下:tail -n +$SKIP $SCRIPT | gunzip | tar xvf gunzip问题:gunzip: stdin: unexpected end of file要在arm-elf-tools-20030314.sh 最后一行加入一空行。修改完后重新执行$sudo sh ./arm-elf-tools-20040427.sh测试是否装好,运行以下命令显示如图:$arm-elf-gcc v 5.

8、交叉编译交叉编译u-boot及在及在skyeye下进行仿真下进行仿真将源码包u-boot-1.1.4.tar.bz2放到$home下进行解压缩,在终端中运行以下命令:$cd $home$tar jxvf u-boot-1.1.4.tar.bz2 /对压缩包解压$cd u-boot-1.1.4打开Makefile文件将第60行的CROSS_COMPILE = arm-linux-,改为:CROSS_COMPILE = arm-elf- $make smdk2410_config /假定处理器为S3C2410$make 这一过程中会遇到三个错误:1)make1: * No rule to make

9、 target hello_world.srec, needed by all. Stop.解决的方法:打开 examples/Makefile:126 %.srec: %127 $(OBJCOPY) -O srec $/dev/null128 129 %.bin: %将第126行和129行改为:%.srec:%.o%.bin:%.o2)cc1: invalid option abi=apcs-gnu解决方法:出错的文件是/cpu/s3c2410/下的config.mk将PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)

10、 改成:PLATFORM_CPPFLAGS +=$(callcc-option,-mapcs-32,$(call cc-option, -mabi=apcs-gnu),)3)/u-boot-1.1.4/include/asm/processor.h:54: parse error before /u-boot-1.1.4/include/asm/processor.h:58: field insn has incomplete type解决的方法:打开processer.h找到第52行,将u32 arm; 改成u32 arm1;每次问题解决后都要重新进行编译$make clean /清楚已经编

11、译的目标文件$make /重新编译编译成功后在$home/u-boot-1.1.4/下会有以下几个文件:u-boot,u-boot.bin ,u-boot.srec u-boot 是包含调试信息的elf文件,也是仿真要使用的文件u-boot.bin是不带调制信息的二进制文件u-boot.srec 是MOTO用的一种格式在u-boot-1.1.4/下创建skyeye的配置文件skyeye.conf,其内容如下图:在终端中输入以下命令运行u-boot$skyeye e u-boot c skyeye.conf显示如下界面,仿真成功。6.交叉编译交叉编译uClinux并在并在skyeye中进行仿真中

12、进行仿真将源码包uClinux-dist-20070130.tar.gz放到$home下运行以下命令:$cd $home$tar cxvf uClinux-dist-20070130.tar.gz /解压得到uClinux-dist文件夹$cd uClinux-dist$make menuconfig对内核进行配置,仅需配置以下三项Vendor/Product: GDB/ARMulatorKernel Version: linux-2.4.xLibc Version: uC-libc然后选择save and exit$make dep$make ARCH=arm CROSS_COMPILE=a

13、rm-elf-编译完成以后会在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的配置文件,内容如下图:在uClinux-dist/目录下运行如下命令:$skyeye e linux-2.4.x/linux c

14、skyeye.conf得到如下界面,仿真成功!7.交叉编译交叉编译hello文件文件首先编辑hello1.c和hello2.c两个源文件,其内容分别如下:hello1.c:#include int main(void)int i;for(i=0;i#include int main(void)float x;float y;x=10;y=sin(x);printf(“Hello, %f !n“,y);return 0;在终端中运行如下命令对两个源文件进行交叉编译$arm-elf-gcc -Wl,-elf2flt -o hello1 hello1.c$arm-elf-gcc -Wl,-elf2f

15、lt -o hello2 hello2.c lm得到hello1和hello2两个elf文件,-lm 表示连接libmath库否则会报错。下面更改两个执行文件的权限$chmod 755 hello1$chmod 755 hello28.修改文件系统,添加可执行文件修改文件系统,添加可执行文件在uClinux-dist/imges/文件夹下建立两个文件夹$cd uClinux-dist/images$mkdir zhou$mkdir newromfs$sudo mount o loop zhou romfs.img$cd zhou$sudo tar cvf ./1.tar ./ /在images

16、目录生成一个1.tar的压缩包$cd .$mv 1.tar newromfs$cd newromfs$sudo tar xvf 1.tar$rm 1.tar将hello1和hello2添加到newromfs/bin/目录下,假定两个执行文件放在$home/test目录下$sudo cp r f $home/test/hello1 bin/$sudo cp r f $home/test/hello2 bin/$cd . /退回到images目录中$sudo genromfs f newromfs.img d newromfs/ /生成新的文件系统镜像注意以上命令中sudo的使用,因为romfs为只读文件系统,所以只有在root权限下才能对其进行修改。修改skyeye.conf

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号