手把手教你搭建國產(chǎn)嵌入式模擬器SkyEye開發(fā)環(huán)境
SkyEye介紹
SkyEye是一個開源軟件(OpenSource Software)項目,中文名字是"天目"。SkyEye的目標(biāo)是在通用的Linux和Windows平臺上實現(xiàn)一個純軟件集成開發(fā)環(huán)境,模擬常見的嵌入式計算機系統(tǒng)(這里假定"仿真"和"模擬"的意思基本相同);可在SkyEye上運行μCLinux以及μC/OS-II等多種嵌入式操作系統(tǒng)和各種系統(tǒng)軟件(如TCP/IP,圖形子系統(tǒng),文件子系統(tǒng)等),并可對它們進行源碼級的分析和測試。
關(guān)于開源版本的更多介紹:點擊我跳轉(zhuǎn)
目前開源版本停留在1.3.5版本,后期版本由浙江迪捷軟件科技有限公司開發(fā)和維護,點擊我查看SkyEye的最新介紹。
訪問這個地址:https://gitee.com/open-skyeye/build,下載相關(guān)的安裝包和工具包。
build教程
環(huán)境說明
本文介紹在操作系統(tǒng) Ubuntu 16.04 中編譯安裝硬件仿真軟件 SkyEye 1.3.5 的方法。
鏡像版本:ubuntu-16.04.6-desktop-i386.iso為了保證順利安裝,可以選擇與本文相同的Ubuntu來操作。同時你需要下載本倉庫,release/skyeye-1.3.5中包含了我們需要的安裝包和一些軟件包。
安裝依賴
由于SkyEye1.3.5引用了llvm3.0底層虛擬機、x11底層界面庫等一些軟件。如果是新安裝的Ubuntu系統(tǒng),這些軟件可能就沒有,因此在安裝SkyEye之前需要把它們一起安裝到機器上。
首先執(zhí)行:
- sudo apt-get update
然后執(zhí)行以下命令:
- sudo apt-get install git-core make automake autoconf libtool g++ python-dev libxft-dev libx11-dev libxpm-dev libncurses5-dev texi2html xterm texinfo x11proto-xext-dev libxext-dev python-numpy python-faulthandler python-wxtools libjson0-dev putty
主要涉及的庫有:
名稱 | 說明 |
---|---|
git-core | - |
make | - |
automake | - |
autoconf | - |
libtool | 動態(tài)庫加載工具 |
g++ | - |
python-dev | - |
libxft-dev | - |
libx11-dev | 界面底層庫依賴包 |
libxpm-dev | - |
libncurses5-dev | - |
texi2html | - |
xterm | 終端模擬器 |
texinfo | 文檔系統(tǒng) |
x11proto-xext-dev | 界面底層庫 |
libxext-dev | - |
python-numpy | - |
python-faulthandler | - |
python-wxtools | - |
libjson0-dev | - |
putty | 終端工具 |
接著,我們還需要更新或安裝一些依賴庫,這些庫ubuntu自帶,但是保險起見,我們需要手動再安裝一遍。
- sudo apt-get install libgtk2.0-dev pkg-config libatk1.0-dev
- sudo apt-get install libpango1.0-dev libfreetype6-dev libglib2.0-dev libx11-dev binutils-dev
- sudo apt-get install libncurses5-dev libxpm-dev libltdl-dev
- sudo apt-get install binutils-de
編譯SkyEye
這里我在根目錄新建一個文件夾
- mkdir work
進入這個文件夾,從release/skyeye-1.3.5中拷貝安裝包和軟件包到這里,并對其解壓。
- cd work
- unzip libiconv-1.12.zip
- tar -zxvf llvm-3.0.tar.gz
- tar -jxvf Python-2.7.tar.bz2
- tar -jxvf skyeye-1.3.5_rc1.tar.bz2
簡單介紹一下這些軟件包的作用:
名稱 | 說明 |
---|---|
libiconv-1.14 | 字符編碼轉(zhuǎn)換庫 |
llvm-3.0 | 匯編虛擬機 |
Python-2.7 | 程序設(shè)計語言 |
kyeye-1.3.5 | 嵌入式系統(tǒng)仿真器 |
依次進入libiconv-1.12、Python-2.7文件夾,先安裝libiconv:
- ./configure
- make
- sudo make install
期間make install若出現(xiàn)問題,make clean后重新make(不要使用sudo make),然后sudo make install。
再安裝python-2.7:
- ./configure --enable-shared --enable-unicode=ucs4
- sudo make
- sudo make install
以上步驟確認(rèn)沒有問題后進行SkyEye的編譯安裝,進入SkyEye源碼目錄,輸入以下命令:
- ./configure
- sudo make lib
若出現(xiàn)如下問題:
- /home/tym/work/1.clone/skyeye-1.3.5_rc1/third-party/opcodes/cgen-ops.h:423:
- multiple definition of `SUBWORDTFSI'
請按照下圖指示操作:
接下來輸入以下命令,完成編譯和安裝:
- sudo make
- sudo make install_lib
- sudo make install
skyeye的安裝路徑在opt/skyeye,我們將它加入環(huán)境變量,就可以快捷操作:
先打開當(dāng)前用戶的全局設(shè)置:
- vim ~/.bashrc
輸入代碼:
- #skyeye 1.3.5
- export PATH=/opt/skyeye/bin:$PATH
之后保存退出,輸入命令更新設(shè)置:
- source .bashrc
輸入命令,看看能否啟動skyeye:
- skyeye
如果這個時候報錯:
說明這個庫不存在,我們需要拷貝一個系統(tǒng)的庫到這里,并重新命名:
- sudo cp //usr/lib/i386-linux-gnu/libbfd-2.26-system.so /usr/lib/libbfd-2.18.50.20070907.so
如果編譯還出現(xiàn)類似錯誤,操作相同,直接找到系統(tǒng)下有的庫,復(fù)制過來重命名即可。
現(xiàn)在我們進入skyeye根目錄,利用提供的測試demo,驗證skyeye是否正常工作:
- cd //opt/skyeye/testsuite/arm_hello
- skyeye -e arm_hello
出現(xiàn)上圖所示,代表啟動正常,現(xiàn)在我們輸入兩條命令,啟動這個demo:
- start
- run






