歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> ARM模擬器——SkyEye的使用

ARM模擬器——SkyEye的使用

日期:2017/3/1 10:08:57   编辑:Linux編程

對於希望學習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的第二部分。

Copyright © Linux教程網 All Rights Reserved