鄭航基于嵌入式系統(tǒng)的開(kāi)源游戲模擬器的設(shè)計(jì)_第1頁(yè)
鄭航基于嵌入式系統(tǒng)的開(kāi)源游戲模擬器的設(shè)計(jì)_第2頁(yè)
鄭航基于嵌入式系統(tǒng)的開(kāi)源游戲模擬器的設(shè)計(jì)_第3頁(yè)
鄭航基于嵌入式系統(tǒng)的開(kāi)源游戲模擬器的設(shè)計(jì)_第4頁(yè)
鄭航基于嵌入式系統(tǒng)的開(kāi)源游戲模擬器的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、鄭州航空工業(yè)管理學(xué)院嵌入式系統(tǒng)課程設(shè)計(jì)報(bào)告題目:基于嵌入式系統(tǒng)的開(kāi)源游戲模擬器的設(shè)計(jì)20 13 2014 第2學(xué)期院系:電子通信工程系姓名: 專(zhuān)業(yè): 通信工程 學(xué)號(hào): 指導(dǎo)老師:趙成張松煒電子通信工程系2014年5月制- 8 -目 錄目 錄- 2 -一、引言- 3 -二、設(shè)計(jì)目的- 3 -三、設(shè)計(jì)要求- 3 -1.任務(wù)要求- 3 -2.設(shè)計(jì)所需的軟硬件設(shè)備- 3 -3.課程設(shè)計(jì)報(bào)告內(nèi)容- 4 -四、總體設(shè)計(jì)- 4 -1.Visual Boy Advance模擬器簡(jiǎn)介- 4 -2.安裝交叉編譯工具- 4 -3.ZLIB數(shù)據(jù)壓縮庫(kù)的安裝、編譯- 5 -4.編譯、安裝Libpng圖像庫(kù)- 6 -5.

2、SDL多媒體函數(shù)庫(kù)- 6 -6.編譯與安裝VBA模擬器- 7 -7.VisualBoyAdvance的調(diào)試與運(yùn)行- 9 -五、總結(jié)- 9 -六、參考文獻(xiàn)- 10 -一、 引言隨著微處理器性能的提升,現(xiàn)在的微處理器已經(jīng)可以支撐游戲模擬器的運(yùn)行,用戶(hù)可以選擇在非PC平臺(tái)下操作街機(jī)游戲以及20世紀(jì)90年代需要PC才能運(yùn)行的游戲節(jié)目,這無(wú)疑提升了游戲硬件平臺(tái)的移動(dòng)性。電子游戲業(yè)將是這一技術(shù)的最大收益者。目前,在一個(gè)配有LCD圖形界面和32位ARM微處理器的移動(dòng)平臺(tái)上,甚至可以實(shí)現(xiàn)最早出現(xiàn)在PC上的3D游戲,本文介紹利用ARM嵌入式系統(tǒng)平臺(tái)(內(nèi)置S3C2410A核心微處理器),將開(kāi)源游戲模擬器Visua

3、l Boy Advance(VBA)的代碼移植到微處理器上的方法。二、 設(shè)計(jì)目的了解嵌入式微處理器的運(yùn)算能力,進(jìn)一步熟悉ARM S3C2410微處理器在多媒體娛樂(lè)平臺(tái)中的應(yīng)用。在設(shè)計(jì)過(guò)程中,熟悉Linux系統(tǒng)中常用的壓縮解縮工具包、圖形工具包、多媒體函數(shù)庫(kù)等的使用方法,從而為基于嵌入式系統(tǒng)平臺(tái)的多媒體開(kāi)發(fā)任務(wù)打下更深厚的應(yīng)用實(shí)踐基礎(chǔ)。三、 設(shè)計(jì)要求1. 任務(wù)要求該設(shè)計(jì)的具體要求如下:(1)掌握Z(yǔ)LIB數(shù)據(jù)壓縮庫(kù)的功能以及編譯與安裝方法。(2)掌握l(shuí)ibpng圖像庫(kù)的功能以及編譯與安裝方法。(3)掌握SDL多媒體函數(shù)庫(kù)的功能以及編譯與安裝方法。(4)掌握開(kāi)源模擬器VBA的編譯與安裝方法。(5)掌

4、握開(kāi)源模擬器VBA的調(diào)試與運(yùn)行。(6)理解VBA程序的設(shè)計(jì)(選做)。2. 設(shè)計(jì)所需的軟硬件設(shè)備(1)硬件環(huán)境配置計(jì)算機(jī):Intel(R) Pentium(R) 及以上內(nèi)存:1GB及以上實(shí)驗(yàn)設(shè)備:UP-NETARM2410-S嵌入式開(kāi)發(fā)平臺(tái)(2)軟件環(huán)境配置操作系統(tǒng):Microsoft Windows XP Professional Service Pack 2虛擬機(jī):VMware WorkStation 7Linux系統(tǒng):Red Hat Enterprise Linux AS 4 (2.6.9-5.EL)嵌入式交叉編譯器:arm-linux-gcc 3.4.1版本ZLIB數(shù)據(jù)壓縮庫(kù):ZLIB-

5、1.2.3Libpng圖像庫(kù):Libpng-1.4.0SDL多媒體函數(shù)庫(kù):sdl-1.2.13VBA模擬器:VisualBoyAdvance-src-1.7.23. 課程設(shè)計(jì)報(bào)告內(nèi)容按該設(shè)計(jì)報(bào)告要求的模式格式提交課程設(shè)計(jì)報(bào)告書(shū)。四、 總體設(shè)計(jì)1. Visual Boy Advance模擬器簡(jiǎn)介開(kāi)源游戲模擬器VBA是一個(gè)根據(jù)GUN General Public License發(fā)布的免費(fèi)軟件。VBA能夠在不同的硬件平臺(tái)上模擬Nintendo公司發(fā)行的手提游戲機(jī),包括Game Boy、Super Game Boy、Game Boy Color、Game Boy Advance以及Game Boy A

6、dvance ROMS。2. 安裝交叉編譯工具(1) 下載arm-linux-gcc-3.4.1.tgz軟件壓縮包,將其存放在Linux系統(tǒng)中的/tmp目錄下,然后進(jìn)入/tmp目錄,執(zhí)行如下命令進(jìn)行文件解壓縮:rootlocalhost # cd /tmprootlocalhost tmp# tar -xzvf arm-linux-gcc-3.4.1.tgz -C /運(yùn)行上述命令后把a(bǔ)rm-linux-gcc安裝到/usr/local/arm/3.4.1目錄。(2) 運(yùn)行下面命令修改/root/.bashrc文件的內(nèi)容:rootlocalhost # vi /root/.bashrc 編輯/r

7、oot/.bashrc文件,將最后一行改為如圖1劃線(xiàn)標(biāo)示所示,修改后保存退出。圖1 修改/root/.bashrc文件的內(nèi)容(3) 重新登錄系統(tǒng),使上述設(shè)置生效,用以下命令行測(cè)試:rootlocalhost # arm-linux-gcc v若出現(xiàn)如圖2所示gcc version 3.4.1則說(shuō)明交叉編譯環(huán)境已經(jīng)安裝完畢且3.4.1版本的交叉編譯環(huán)境可以正常運(yùn)行了。圖2 交叉編譯工具的版本信息3. ZLIB數(shù)據(jù)壓縮庫(kù)的安裝、編譯ZLIB雖然支持文件的壓縮、解壓縮、刪除與查看等功能,但主要是對(duì)Linux/Unix下的GZ文件進(jìn)行相應(yīng)的操作,對(duì)于Windows系統(tǒng)下的ZIP文件并不提供直接的支持,

8、這里使用ZLIB的版本是1.3.2。(1) 在命令終端窗口中,切換路徑到/home/ilovechina/GBA/下,解壓縮zlib-1.2.3.tar.gz軟件包,運(yùn)行下面的命令:rootlocalhost # cd /home/ilovechina/GBA/rootlocalhost GBA# tar -xzvf zlib-1.2.3.tar.gz(2) 在zlib-1.2.3目錄中,運(yùn)行如下的配置命令,可以得到Makefile文件:rootlocalhost GBA# cd zlib-1.2.3rootlocalhost zlib-1.2.3# ./configure -prefix=/

9、usr/local/arm/3.4.1/arm-linux(3) 使用編輯器修改產(chǎn)生的Makefile文件,從而達(dá)到能夠利用交叉編譯工具對(duì)zlib的源代碼進(jìn)行編譯與安裝,修改參數(shù)如下:Ø 第19行修改為:CC=arm-linux-gccØ 第36行修改為:AR=arm-linux-ar rcØ 第37行修改為:RANLIB=arm-linux-ranlib(4) 在前面的步驟中已經(jīng)將預(yù)先處理的各項(xiàng)都進(jìn)行了設(shè)置,現(xiàn)在可以運(yùn)行下列命令開(kāi)始編譯、安裝zlib軟件包:rootlocalhost zlib-1.2.3# make;make install 4. 編譯、安裝L

10、ibpng圖像庫(kù)(1) 解壓縮libpng-1.4.0.tar.gz軟件包,在命令終端窗口切換路徑到/home/ilovechina/GBA/下,運(yùn)行的命令如下:rootlocalhost zlib-1.2.3# cd .rootlocalhost GBA# tar -xzvf libpng-1.4.0.tar.gz(2) 在libpng-1.4.0目錄中,運(yùn)行如下配置命令,可以得到Makefile文件:rootlocalhost GBA# cd libpng-1.4.0rootlocalhostlibpng-1.4.0# export LDFLAGS=-L/usr/arm/3.4.1/arm

11、-linux/librootlocalhostlibpng-1.4.0# export CFLAGS=-I/usr/local/arm/3.4.1/arm-linux/includerootlocalhost libpng-1.4.0# ./configure -prefix=/usr/local/arm/3.4.1/arm-linux -host=arm-linux(3) Makefile文件生成之后,在前面預(yù)先處理的各項(xiàng)的相應(yīng)設(shè)置后,下面就可以編譯安裝libpng軟件包了,所需要運(yùn)行的命令如下:rootlocalhost zlib-1.2.3# make;make install5. SD

12、L多媒體函數(shù)庫(kù)SDL在音頻處理、視頻處理、事件響應(yīng)、線(xiàn)程管理、數(shù)據(jù)流處理、定時(shí)器等方面都有比較突出的功能。(1) 在終端命令窗口中,切換到/home/ilovechina/GBA/路徑下,解壓縮SDL-1.2.13.tar.gz軟件包,運(yùn)行如下命令:rootlocalhost libpng-1.4.0# cd .rootlocalhost GBA# tar xzvf SDL-1.2.13.tar.gz得到SDL-1.2.13文件夾;(2) 在生成的SDL-1.2.13目錄中,運(yùn)行如下配置命令,就可以得到Makefile文件:rootlocalhost GBA# cd SDL-1.2.13roo

13、tlocalhost SDL-1.2.13# ./configure -prefix=/usr/local/arm/3.4.1/arm-linux -disable-video-qtopia -disable-video-dummy -disable-video-fbcon -disable-video-dga -disable-arts -disable-esd -disable-alsa -disable-cdrom-disable-video-x11 -disable-nasm -target=arm-linux -host=arm-linux-enable-video-fbcon(3)

14、 在前面的步驟中已經(jīng)將需要預(yù)處理的各項(xiàng)都進(jìn)行了相應(yīng)的設(shè)置處理,現(xiàn)在可以編譯、安裝SDL軟件包了,運(yùn)行如下命令即可:rootlocalhost SDL-1.2.13# make;make install6. 編譯與安裝VBA模擬器(1) 切換路徑到/home/ilovechina/GBA/目錄下,開(kāi)始運(yùn)行如下命令解壓縮游戲模擬器VisualBoyAdvance-src-1.7.2.tar.gz軟件包:rootlocalhost SDL-1.2.13# cd .rootlocalhost GBA# tar xzvf VisualBoyAdvance-1.7.2.tar.gz這樣在/home/ilo

15、vechina/GBA/下得到VisualBoyAdvance-1.7.2文件夾。(2) VisualBoyAdvance-1.7.2目錄下,運(yùn)行如下配置命令,可以得到Makefile文件:rootlocalhost GBA# cd VisualBoyAdvance-1.7.2rootlocalhost VisualBoyAdvance-1.7.2# ./configure -host=arm-linux-target=arm-linux-with-sdl-prefix=/usr/local/arm/3.4.1/arm-linux-with-sdl-exec-prefix=/usr/local

16、/arm/3.4.1/arm-linux(3) 在/home/ilovechina/GBA/VisualBoyAdvance-1.7.2/src/sdl/SDL.cpp文件中分別從第2323行、第3381行開(kāi)始,有如下的相同代碼:surface = SDL_SetVideoMode(destWidth, destHeight, 16,SDL_ANYFORMAT|SDL_HWSURFACE|SDL_DOUBLEBUF|(fullscreen ? SDL_FULLSCREEN : 0);將其修改為surface = SDL_SetVideoMode(640,480,16,1),其中640*480表

17、示LCD的分辨率,如果不修改這段代碼,在A(yíng)RM9開(kāi)發(fā)板上運(yùn)行VBA時(shí)將可能會(huì)提示video模式無(wú)法設(shè)置,也可能出現(xiàn)屏幕不正常顯示的情況。保存上述修改,并退出對(duì)SDL.cpp文件的編輯。(4) 在前面的步驟中已經(jīng)將需要的預(yù)處理的各項(xiàng)都進(jìn)行了相應(yīng)的設(shè)置,現(xiàn)在可以開(kāi)始編譯、安裝VisualBoyAdvance軟件包了,運(yùn)行如下命令:rootlocalhost VisualBoyAdvance-1.7.2# make;make install在編譯、安裝VisualBoyAdvance軟件包之后,可以在VisualBoyAdvance-1.7.2/src/sdl/目錄下看到在arm平臺(tái)運(yùn)行的兩個(gè)文件:

18、TestEmu,VisualBoyAdvance。另外,在其上一級(jí)目錄下有一個(gè)VisualBoyAdvance.cfg配置文件。7. VisualBoyAdvance的調(diào)試與運(yùn)行(1) 首先,將TestEmu、VisualBoyAdvance及VisualBoyAdvance.cfg這3個(gè)文件同時(shí)下載到ARM9開(kāi)發(fā)板根文件系統(tǒng)的/home/ziapc/目錄下,然后編寫(xiě)或下載一個(gè)GBA游戲,同樣下載到開(kāi)發(fā)板的根文件系統(tǒng)的/home/ziapc/目錄下;(2) 接著添加vba-over.ini文件,將其下載到開(kāi)發(fā)板中根文件系統(tǒng)的/home/ziapc/目錄內(nèi),再次運(yùn)行模擬器程序,注意開(kāi)發(fā)板網(wǎng)串口中

19、斷上輸出的信息;(3) 上一步提示VBA運(yùn)行時(shí)缺少libSDL-1.2.so.0共享庫(kù)文件,該文件是一個(gè)指向libSDL-1.2.so.011.2共享庫(kù)文件的鏈接文件,它們都位于/usr/local/arm/3.4.1/arm-linux/lib目錄下,將它們下載到開(kāi)發(fā)板根文件系統(tǒng)中的/home/ziapc/目錄里;(4) 最后,再次在A(yíng)RM9開(kāi)發(fā)板上運(yùn)行VBA游戲模擬器即可運(yùn)行起來(lái)。在LCD顯示屏上出現(xiàn)游戲畫(huà)面。五、 總結(jié)整個(gè)課程設(shè)計(jì)過(guò)程中,需要用到arm-linux-gcc-3.4.1版本的嵌入式交叉編譯環(huán)境,ZLIB數(shù)據(jù)壓縮庫(kù)、libpng圖像庫(kù)、SDL多媒體函數(shù)庫(kù)以及主要的VisualBoyAdvance-src-1.7.2開(kāi)源代碼包,上述軟件包有一定的版本匹配關(guān)系,交叉編譯環(huán)境必須使用3.4.1版本的交叉編譯器,且不能與3.4.4版本的同時(shí)運(yùn)行,在開(kāi)始安裝VBA模擬器之前一定要確認(rèn)版本是否正確。下面列出在設(shè)計(jì)過(guò)程中遇到的問(wèn)題:1. 由于虛擬機(jī)中的Linux系統(tǒng)之前已經(jīng)配置了3.4.4版本的交叉編譯環(huán)境,在上機(jī)做課程設(shè)計(jì)時(shí),要?jiǎng)h除其配置環(huán)境,具體做法:刪除/usr/local/bin/目錄下的所有文件,再次參照上述步驟配置交叉編譯環(huán)境;2. 進(jìn)行過(guò)ZLI

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論