skyeye是國內一個比較有名的嵌入式平臺的模擬軟件,此次使用skyeye的緣由是學習Linux的須要,想在skyeye平臺上將linux-2.6.28跑起來,整個過程比較繁瑣,成功來之不易,因此一步一步地記錄下來(PC環境爲ubuntu10.04)。linux
1.從skyeye官方網站下載穩定版本的skyeye,本次使用的是skyeye-1-3-1_rc1極其附屬包skyeye-testsuite-1-3-1shell
2.在進行配置前,確保已經安裝好了PC版的g++編譯器、xpm-dev支持庫和ncurses5支持庫,可運行如下命令安裝:ubuntu
#sudo apt-get install g++ #sudo apt-get install libxpm-dev #sudo apt-get install libncurses5-dev
3.輸入如下命令配置和編譯:bash
#./configure #make lib (此處時間較長) #make
若在編譯過程當中出現:ide
utils/uart_console/uart_console.c:57: 錯誤:expected identifier or ‘(’ before numeric constan 只需註釋掉uart_console.c的58到63行便可。工具
//const uint32_t POLLRDNORM = 0x040; //const uint32_t POLLRDBAND = 0x080; //const uint32_t POLLPRI = 0x002; //const uint32_t POLLOUT = 0x004; //const uint32_t POLLWRNORM = 0x100; //const uint32_t POLLWRBAND = 0x200
#sudo make install (須要root權限,由於skyeye默認被安裝在錄目錄/opt下)學習
#sudo make install_lib測試
此時查看/opt/skyeye/bin目錄下,有如下幾個程序:網站
mknandflashdump : 用來製做nandflash鏡像文件的工具ui
uart_instance : 被skyeye調用的應用程序,功能爲經過一個xterm終端來顯示串口的輸出,後面還會提到這個工具
skyeye : skyeye基於命令程序
4.在/opt/skyeye/testsuite目錄下的arm_hello子目錄中,輸入如下命令:
#skyeye -e arm_hello
若是遇到找不到libbfd-2.18.50.20070907.so的問題,須要將skyeye-1-3-1_rc1/.libs/libbfd-2.18.50.20070907.so拷貝到/opt/skyeye/lib/skyeye,有時實際上是沒有執行sudo make install_lib而形成的。
而後輸入start開啓硬件平臺,此時能夠看到uart_instance串口已經彈出,繼續在命令行下輸入run,此次uart_instance窗口反覆出現helloworld字樣,表明skyeye安裝成功。
爲了方便,將/opt/skyeye/bin路徑導入到PATH環境變量中(修改~/.bashrc文件).
5.獲得kyeye-testsuite-1-3-1壓縮包解壓後,進入kyeye-testsuite-1-3-1/linux/s3c2410/s3c2410x-2.6.14/目錄,
執行如下命令:#skyeye -e vmlinux
進行測試(進入skyeye後,須要使用start,run命令)
這是可能會發現沒有uart_instance窗口而沒法進入linux的控制檯,爲了解決這個問題須要修改s3c2410x-2.6.14目錄下
的skyeye.conf文件,將:
uart:mod=stdio 修改成:
uart:mod=term
便可。