虚拟机redhat9下安装SkyEye,移植uClinux

经过我几天的研究与探索,总算成功安装了SkyEye和移植uClinux。这个过程真的是充满了艰辛啊。n多次的重装,搞的我都快崩溃了。多亏了网上的一些资料,最后帮助我安装并调试成功。所以,我要在这里也分享我的经验给那些学习嵌入式Linux的初学者,希望对你们有帮助。

首先,介绍一下我安装Skyeye的过程。安装Redhat9.0的步骤网上有很多,这里就不介绍了。

(1)Skyeye的下载

Skyeye是一款模拟目标嵌入式开发平台的软件。这款软件给我们这些还没有开发板的初学者带来了很大的帮助。Skyeye的下载地址为http://www.skyeye.org/index.shtml   我在官网上下载了Skyeye-1.2.7和Skyeye-0.9.8 下载了之后便进入我的虚拟机上进行安装。

先解压 tar vxjf skyeye-x-x.tar.bz2

解压后进行安装

./configure --target=arm-elf --prefix=/usr/local

make

make install

这两个版本的Skyeye,不知道是什么原因,总是安装不成功。安装过后在/usr/local/bin目录下不能生成skyeye这个应用程序。运行不了。上网搜索,都说skyeye-0.8.6比较好用。于是又搜索,下载。安装。一样的步骤下来之后。安装成功了。运行skyeye 出现了我想要的画面。

[root@localhost root]# skyeye
***************************************************************
****                                                       ****
****   SkyEye Simulator Ver 0.8.6 with GDB 5.3 Interface ****
****                                                       ****
***************************************************************
GNU gdb 5.3
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This SkyEye was configured as "--host=i686-pc-linux-gnu --target=arm-elf".
(SkyEye)

我的安装过程真是纠结啊。。。安装成功了skyeye,才只是万里长征的一小步啊。。下面继续介绍。

(2)这里先介绍一下怎么在虚拟机上与Windows XP怎么共享文件吧

我安装的linux为Redhat9.0 安装的时候要记得安装smb服务。我也不知道我的这种方法是不是最简单的。下面开始介绍。

先是,linux下看Windows文件。假设windows的IP地址为192.168.1.115,虚拟机linux的IP为192.168.1.114 IP地址的设置在网络设置中可以完成。在linux下的服务器设置,服务,我们要开启smb服务。假如我们windows中共享的文件夹名为"aaa" 在linux下,我们将这个aaa文件夹挂载在另一个文件加上。在linux的终端中输入

mkdir /home/tt

smbmount //192.168.1.115/aaa /home/tt -o username=administrator

一般情况下,windows的administratior的默认密码为空。直接回车就OK了,然后就挂载成功了。我们就可以在/home/tt的文件夹中看到aaa文件夹的内容了。

接着是在windows中看linux的共享文件夹。开启smb服务,然后进入smaba服务界面中,

把你要共享的文件夹添加到共享目录中,然后,点击首选项,smaba用户,添加你的windows用户进去。在windows中的开始运行中输入//192.168.1.114然后就进入到了该共享文件夹了。有时候可能要你输入密码,把在smaba服务中设置的密码输入进去就可以了。

(3)安装交叉编译环境

交叉编译环境就是在Redhat linux下编译出能够在目标板上运行的程序。

我在网上下载了arm-elf-tools-20030314.sh交叉编译文件。在终端中输入

sh arm-elf-tools-20030314.sh

交叉编译环境就建立好了。这个是最简单的一个安装了。没有遇到什么困难。

(4)安装uClinux

安装这个东西可真是费了不少时间啊。因为在整个过程中,如果哪一个环节出现问题,程序就不能正常的运行。我安装uClinux,安装了不下十遍。最后才安装成功。先说说我的问题出在了哪里,给大家一个参考。

我的redhat linux是安装在虚拟机上的,安装过程就是参考网上的介绍。我安装时给这个系统之分配了4G的空间。问题就出在了这里。我从网上下载了三个版本的uClinux-dist,分别是uClinux-dist-20020927、uClinux-dist-20051110、uClinux-dist-20080808。我的参考资料中介绍的是20020927。所以我就先安装的这个版本。解压的时候就出现了问题。解压到后面的时候总是提示 file cannot open 没有那个文件和目录。我当时也不知道怎么回事。以为是这个安装文件有问题。然后又解压两外两个,都是提示同样的问题。我又上网搜索,就是找不到问题在哪里。我就想把这些解压出来的文件给删除了。这一删就废了。redhat linux中的回收站图标就显示不出来了。重新启动,连图形用户界面都进不去了。。试了几个网上的的方法。还是进不去。没办法,只能重装了。我有重装了linux,skyeye ,交叉编译。最后又到了uClinux。同样的问题让我的系统再一次的崩溃。这时我也崩溃了。太费事了。

我又忍着,耐心的又全部重装。这回我怕系统又崩溃,直接给克隆了一个,备份着。可是到了uClinux这里,问题还是存在。无意中我看了一下uClinux-dist这个文件的属性。一下子才恍然大悟了。靠,原来是这个文件太大了。我的系统只分配了4G空间,装不下了。。。又是一步一步的按部就班的重装了一遍,这回我给系统分配了10G空间,系统总算保住了。在这里我要告诉和我一样的初学者们,我们装redhat linux时要给系统多分配点空间,不要听信网上的说,只要2Gb就够了。免得和我走相同的路。

接着就是解压文件,一切都很顺利。最后我安装的是uClinux-dist-20051110.tar.gz。

安装过程如下

tar vzxf uClinux-dist-20051110.tar.gz

然后在/uClinux-dist/目录下执行如下命令:
在图形方式下可用命令

# make xconfig

在命令行方式下可用命令

# make menuconfig

在这两种界面下,在vendor/product选项中选择GDB/ARMulator,kernel版本选择2.4.x,其它选项不变,然后保存配置退出。

make dep

make
就行了。可查看/usr/src/uClinux-dist/images/下是否有文件 romfs.img等在/usr/src/uClinux-dist目录下,如果有,表示编译安装成功。

要想运行uClinux,还有一些工作要做。首先要建立专门用于基于AT91X40开发板的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=./boot.rom
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的readme文件中找到。不过要加入 file=./boot.rom这一段。然后在终端中输入如下命令建立一个链接

ln -s images/romfs.img boot.rom

完成上述准备工作后,就可以用SkyEye来运行和调试μClinux内核了

[root@localhost uClinux-dist]# /usr/local/bin/skyeye linux-2.4.x/linux

我们做的所有的努力就在这一刻有了意义。

(SkyEye) target sim
cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0
mach info: name at91, mach_init addr 0x813ef78
lcd info: turn on lcd!
SKYEYE: use arm7100 mmu ops
Loaded ROM ./boot.rom
Connected to the simulator.
(SkyEye) load
Loading section .init, size 0xa000 vma 0x1000000
Loading section .text, size 0xdca30 vma 0x100a000
Loading section .data, size 0x9ce4 vma 0x10e8000
Start address 0x1000000
Transfer rate: 7878816 bits/sec.
(SkyEye) run
Starting program: /home/uClinux-dist/linux-2.4.x/linux
Linux version 2.4.31-uc0 (root@localhost) (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 浜?3鏈?17 01:22:15 CST 2009
Processor: Atmel AT91M40xxx revision 0
Architecture: EB01

......................................

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)
/>

这样我们就完成了所有的工作了。。哈哈。。have a good time。。。

以上是我学习skyeye的学习笔记,也是我的第一篇日志,我想用这个空间来记录我学习嵌入式Linux的一点

一滴。也希望能对别人有些帮助。祝大家学习愉快。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值