ARM模拟器——SkyEye的使用


对于希望学习ARM汇编的同学而言, 购买ARM开发板进行板上实测无疑是一个有效的方法,不过购买ARM开发板需要一笔费用,而且每次测试都需要连接开发板,比较麻烦。这里介绍一个ARM模拟器——SkyEye,通过SkyEye我们可以直接在一台PC上完成ARM汇编程序的开发和调试了,摆脱了ARM开发板的限制,真是不错!

下面介绍如何使用:

1.点击这里进入下载SkyEye的最新版,我的是skyeye-1.3.4_rc1.tar.gz,同时为了后面的实验,我们还要下载testsuite,这是skyeye的测试文件,我的版本是skyeye-testsuite-1.3.4,里面有ArmLinux

2.

tar zxvf skyeye-1.3.4_rc1.tar.gz

cd skyeye

根据INSTALL文件里说的:

./configure

make lib

make

sudo make install

sudo make install_lib

注意,在make时可能会缺各种文件,apt-get install就可以了,我所遇到的两个问题是:

python-dev和llvm没有安装,很简单:

sudo apt-get install python-dev

sudo apt-get install llvm

就可以了

这样SkyEye就算安装好了

3.

默认SkyEye是安装在/opt/下的,因此为了方便,我们在环境变量里把它的路径加入:

vi ~/.bashrc

输入:

#SkyEye 1.3.4

export PATH=/opt/skyeye/bin:$PATH

之后注销再登录或直接source .bashrc就可以使环境变量生效了

4.

SkyEye安装好后会在/opt/skyeye/testsuite下有一个arm_hello的测试程序,按如下方式运行:

cd /opt/skyeye/testsuite/arm_hello

skyeye -e arm_hello

#注意:skyeye要运行一个程序时必须要在这个程序的目录里,因为skyeye要读取这个程序的skyeye.conf配置文件,所以第一步我们要切换到/opt/skyeye/testsuite/arm_hello目录下

这时我们会进入skyeye命令模式,输入start让arm_hello程序开始运行,会弹出一个connecting to Ubuntu:xxx的字样的窗口

5.

skyeye命令行输入:run开始运行,这时窗口会不停的输出“helloworld”,说明arm_hello已经成功运行了!

6.

skyeye命令行输入:stop停止运行;输入:quit退出skyeye;输入:help查看帮助

下面介绍如何在SkyEye上启动Linux,就和在真实的ARM开发板上一样:

1.

解压testsuite测试文件:

tar zxvf skyeye-testsuite-1.3.4_rc1.tar.gz

其中的linux目录就是我们要移植到板子上的amrlinux,依次进入:s3c2410-->s3c2410x-2.6.36,有三个文件,vmlinux是Linux内核镜像,skyeye.conf是配置文件,initrd.img是临时根文件系统。我们在/opt/skyeye/testsuite下新建一个目录,然后copy过来:

sudo mkdir /opt/skyeye/testsuite/armlinux

cd linux/s3c2410/s3c2410x-2.6.36

sudo copy * /opt/skyeye/testsuite/armlinux

2.

cd /opt/skyeye/testsuite/armlinux

skyeye -e vmlinux

进入skyeye命令模式;

输入start打开串口窗口:

我在执行这一步时出错:failed to setup_module (name:net, type:cs8900a),我把skyeye.conf里的net那一行注释掉了,就行了

如果窗口没有打开,则修改:uart:mod=stdio为uart:mod=term,然后再试试

3.

skyeye命令行:run启动Linux,

屏幕随即会输出串口信息,不过速度很慢!

附几张图:

下面我们开始SkyEye的第二部分。

  • 1
  • 2
  • 下一页

相关内容