首页 / 操作系统 / Linux / 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,里面有ArmLinux2.tar zxvf skyeye-1.3.4_rc1.tar.gzcd skyeye根据INSTALL文件里说的:./configuremake libmakesudo make installsudo make install_lib注意,在make时可能会缺各种文件,apt-get install就可以了,我所遇到的两个问题是:python-dev和llvm没有安装,很简单:sudo apt-get install python-devsudo apt-get install llvm就可以了这样SkyEye就算安装好了3.默认SkyEye是安装在/opt/下的,因此为了方便,我们在环境变量里把它的路径加入:vi ~/.bashrc输入:#SkyEye 1.3.4export PATH=/opt/skyeye/bin:$PATH之后注销再登录或直接source .bashrc就可以使环境变量生效了4.SkyEye安装好后会在/opt/skyeye/testsuite下有一个arm_hello的测试程序,按如下方式运行:cd /opt/skyeye/testsuite/arm_helloskyeye -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/armlinuxcd linux/s3c2410/s3c2410x-2.6.36sudo copy * /opt/skyeye/testsuite/armlinux2.cd /opt/skyeye/testsuite/armlinuxskyeye -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的第二部分。