ARM模拟器——SkyEye的使用

2014-11-24 10:12:21 · 作者: · 浏览: 0

对于希望学习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目录下


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的第二部分。