2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  嵌入式系統(tǒng)課程設(shè)計(jì)報(bào)告</p><p>  題目: 基于嵌入式系統(tǒng)的開源游戲模擬器的設(shè)計(jì) </p><p>  20 12– 2013 第1學(xué)期</p><p>  院  系:  電子通信工程系   </p><p>  姓  名:          </p><p>  ?! I(yè): 

2、     </p><p>  學(xué)  號(hào):         </p><p>  指導(dǎo)老師:      </p><p><b>  電子通信工程系</b></p><p><b>  2012年11月制</b></p>

3、;<p><b>  目 錄</b></p><p>  目 錄- 2 -</p><p>  一、引言- 3 -</p><p>  二、設(shè)計(jì)目的- 3 -</p><p>  三、設(shè)計(jì)要求- 3 -</p><p>  1.任務(wù)要求- 3 -</p

4、><p>  2.設(shè)計(jì)所需的軟硬件設(shè)備- 3 -</p><p>  3.課程設(shè)計(jì)報(bào)告內(nèi)容- 4 -</p><p>  四、總體設(shè)計(jì)- 4 -</p><p>  1.Visual Boy Advance模擬器簡(jiǎn)介- 4 -</p><p>  2.安裝交叉編譯工具- 4 -</p>&

5、lt;p>  3.ZLIB數(shù)據(jù)壓縮庫的安裝、編譯- 5 -</p><p>  4.編譯、安裝Libpng圖像庫- 6 -</p><p>  5.SDL多媒體函數(shù)庫- 6 -</p><p>  6.編譯與安裝VBA模擬器- 7 -</p><p>  7.VisualBoyAdvance的調(diào)試與運(yùn)行- 9 -&l

6、t;/p><p>  五、總結(jié)- 9 -</p><p>  六、參考文獻(xiàn)- 10 -</p><p><b>  引言</b></p><p>  隨著微處理器性能的提升,現(xiàn)在的微處理器已經(jīng)可以支撐游戲模擬器的運(yùn)行,用戶可以選擇在非PC平臺(tái)下操作街機(jī)游戲以及20世紀(jì)90年代需要PC才能運(yùn)行的游戲節(jié)目,這無疑提升了游

7、戲硬件平臺(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核心微處理器),將開源游戲模擬器Visual Boy Advance(VBA)的代碼移植到微處理器上的方法。</p><p><b>  設(shè)計(jì)目的</b></p>

8、<p>  了解嵌入式微處理器的運(yùn)算能力,進(jìn)一步熟悉ARM S3C2410微處理器在多媒體娛樂平臺(tái)中的應(yīng)用。該設(shè)計(jì)的目標(biāo)是在一個(gè)配有LCD圖形界面和32位ARM微處理器的嵌入式系統(tǒng)平臺(tái)(內(nèi)置S3C2410A核心微處理器)上,將開源游戲模擬器Visual Boy Advance(VBA)的代碼移植到微處理器上運(yùn)行。</p><p>  在設(shè)計(jì)過程中,熟悉Linux系統(tǒng)中常用的壓縮解縮工具包、圖形工具包、多

9、媒體函數(shù)庫等的使用方法,從而為基于嵌入式系統(tǒng)平臺(tái)的多媒體開發(fā)任務(wù)打下更深厚的應(yīng)用實(shí)踐基礎(chǔ)。</p><p><b>  設(shè)計(jì)要求</b></p><p><b>  任務(wù)要求</b></p><p>  要求能獨(dú)立地分析題目意義、設(shè)計(jì)實(shí)現(xiàn)步驟、畫出硬件原理圖及軟件流程圖、調(diào)試驅(qū)動(dòng)模塊。</p><p&g

10、t;  該設(shè)計(jì)的具體要求如下:</p><p> ?。?)掌握ZLIB數(shù)據(jù)壓縮庫的功能以及編譯與安裝方法。</p><p> ?。?)掌握libpng圖像庫的功能以及編譯與安裝方法。</p><p> ?。?)掌握SDL多媒體函數(shù)庫的功能以及編譯與安裝方法。</p><p> ?。?)掌握開源模擬器VBA的編譯與安裝方法。</p>

11、<p>  (5)掌握開源模擬器VBA的調(diào)試與運(yùn)行。</p><p> ?。?)理解VBA程序的設(shè)計(jì)(選做)。</p><p>  設(shè)計(jì)所需的軟硬件設(shè)備</p><p><b> ?。?)硬件環(huán)境配置</b></p><p>  計(jì)算機(jī):Intel(R) Pentium(R) 及以上</p>

12、<p><b>  內(nèi)存:1GB及以上</b></p><p>  實(shí)驗(yàn)設(shè)備:UP-NETARM2410-S嵌入式開發(fā)平臺(tái)</p><p><b> ?。?)軟件環(huán)境配置</b></p><p>  操作系統(tǒng):Microsoft Windows XP Professional Service Pack 2<

13、/p><p>  虛擬機(jī):VMware WorkStation 7</p><p>  Linux系統(tǒng):Red Hat Enterprise Linux AS 4 (2.6.9-5.EL)</p><p>  嵌入式交叉編譯器:arm-linux-gcc 3.4.1版本</p><p>  ZLIB數(shù)據(jù)壓縮庫:ZLIB-1.2.3</p&g

14、t;<p>  Libpng圖像庫:Libpng-1.4.0</p><p>  SDL多媒體函數(shù)庫:sdl-1.2.13</p><p>  VBA模擬器:VisualBoyAdvance-src-1.7.2</p><p><b>  課程設(shè)計(jì)報(bào)告內(nèi)容</b></p><p>  按該設(shè)計(jì)報(bào)告要求的模式

15、格式提交課程設(shè)計(jì)報(bào)告書。</p><p><b>  總體設(shè)計(jì)</b></p><p>  Visual Boy Advance模擬器簡(jiǎn)介</p><p>  開源游戲模擬器VBA是一個(gè)根據(jù)GUN General Public License發(fā)布的免費(fèi)軟件。VBA能夠在不同的硬件平臺(tái)上模擬Nintendo公司發(fā)行的手提游戲機(jī),包括Game Bo

16、y、Super Game Boy、Game Boy Color、Game Boy Advance以及Game Boy Advance ROMS。</p><p><b>  安裝交叉編譯工具</b></p><p>  交叉開發(fā)方式解決了目標(biāo)硬件資源有限,無法在本機(jī)運(yùn)行編譯和調(diào)試工具的問題,并且還得使開發(fā)者可以在熟悉的宿主機(jī)環(huán)境下進(jìn)行程序開發(fā),對(duì)于ARM嵌入式系統(tǒng)的開

17、發(fā),需要安裝交叉版本的GCC工具包來搭建嵌入式交叉編譯環(huán)境,在此,使用arm-linux-gcc-3.4.1.tgz軟件包。</p><p>  下載arm-linux-gcc-3.4.1.tgz軟件壓縮包,將其存放在Linux系統(tǒng)中的/tmp目錄下,然后進(jìn)入/tmp目錄,執(zhí)行如下命令進(jìn)行文件解壓縮:</p><p>  [root@localhost ~]# cd /tmp</p&

18、gt;<p>  [root@localhost tmp]# tar -xzvf arm-linux-gcc-3.4.1.tgz -C /</p><p>  運(yùn)行上述命令后把a(bǔ)rm-linux-gcc安裝到/usr/local/arm/3.4.1目錄。</p><p>  運(yùn)行下面命令修改/root/.bashrc文件的內(nèi)容:</p><p>  [

19、root@localhost ~]# vi /root/.bashrc 編輯/root/.bashrc文件,將最后一行改為如圖1劃線標(biāo)示所示,修改后保存退出。</p><p>  圖1 修改/root/.bashrc文件的內(nèi)容</p><p>  重新登錄系統(tǒng),使上述設(shè)置生效,用以下命令行測(cè)試:</p><p>  [root@localhost ~]# arm-

20、linux-gcc –v</p><p>  若出現(xiàn)如圖2所示gcc version 3.4.1則說明交叉編譯環(huán)境已經(jīng)安裝完畢且3.4.1版本的交叉編譯環(huán)境可以正常運(yùn)行了。</p><p>  圖2 交叉編譯工具的版本信息</p><p>  ZLIB數(shù)據(jù)壓縮庫的安裝、編譯</p><p>  ZLIB是一個(gè)免費(fèi)、通用的開源代碼,提供數(shù)據(jù)的壓

21、縮與解壓縮開發(fā)庫,而且還支持跨平臺(tái)的應(yīng)用。ZLIB具有同winzip和winrar等商業(yè)軟件相比毫不遜色的壓縮率,已經(jīng)成功應(yīng)用到諸如MySQL、Java、3DMax、甚至是微軟的DirectX等大型的系統(tǒng)中。</p><p>  ZLIB雖然支持文件的壓縮、解壓縮、刪除與查看等功能,但主要是對(duì)Linux/Unix下的GZ文件進(jìn)行相應(yīng)的操作,對(duì)于Windows系統(tǒng)下的ZIP文件并不提供直接的支持,這里使用ZLIB的

22、版本是1.3.2。</p><p>  在命令終端窗口中,切換路徑到/home/ilovechina/GBA/下,解壓縮zlib-1.2.3.tar.gz軟件包,運(yùn)行下面的命令:</p><p>  [root@localhost ~]# cd /home/ilovechina/GBA/</p><p>  [root@localhost GBA]# tar -xz

23、vf zlib-1.2.3.tar.gz</p><p>  在zlib-1.2.3目錄中,運(yùn)行如下的配置命令,可以得到Makefile文件:</p><p>  [root@localhost GBA]# cd zlib-1.2.3</p><p>  [root@localhost zlib-1.2.3]# ./configure </p><

24、;p>  --prefix=/usr/local/arm/3.4.1/arm-linux</p><p>  使用編輯器修改產(chǎn)生的Makefile文件,從而達(dá)到能夠利用交叉編譯工具對(duì)zlib的源代碼進(jìn)行編譯與安裝,修改參數(shù)如下:</p><p>  第19行修改為:CC=arm-linux-gcc</p><p>  第36行修改為:AR=arm-linux-

25、ar rc</p><p>  第37行修改為:RANLIB=arm-linux-ranlib</p><p>  在前面的步驟中已經(jīng)將預(yù)先處理的各項(xiàng)都進(jìn)行了設(shè)置,現(xiàn)在可以運(yùn)行下列命令開始編譯、安裝zlib軟件包:</p><p>  [root@localhost zlib-1.2.3]# make;make install </p><p&g

26、t;  編譯、安裝Libpng圖像庫</p><p>  Libpng提供多種應(yīng)用程序解析PNG格式圖像時(shí)使用的開發(fā)庫,該軟件包含png庫和libpng-configlib文件,其中,PNG庫是用來創(chuàng)立和操作PNG格式的圖像文件。PNG格式是設(shè)計(jì)來替代的GIF的,PNG對(duì)于更小范圍的TIFF來說,有了非常多的進(jìn)步和拓展。libpng-configlib文件為libpng提供了設(shè)置信息。</p>&l

27、t;p>  解壓縮libpng-1.4.0.tar.gz軟件包,在命令終端窗口切換路徑到/home/ilovechina/GBA/下,運(yùn)行的命令如下:</p><p>  [root@localhost zlib-1.2.3]# cd ..</p><p>  [root@localhost GBA]# tar -xzvf libpng-1.4.0.tar.gz</p>

28、<p>  在libpng-1.4.0目錄中,運(yùn)行如下配置命令,可以得到Makefile文件:</p><p>  [root@localhost GBA]# cd libpng-1.4.0</p><p>  [root@localhostlibpng-1.4.0]# </p><p>  export LDFLAGS=-L/usr/arm/3.4

29、.1/arm-linux/lib</p><p>  [root@localhostlibpng-1.4.0]# </p><p>  export CFLAGS=-I/usr/local/arm/3.4.1/arm-linux/include</p><p>  [root@localhost libpng-1.4.0]# ./configure</p&g

30、t;<p>  --prefix=/usr/local/arm/3.4.1/arm-linux</p><p>  --host=arm-linux</p><p>  Makefile文件生成之后,在前面預(yù)先處理的各項(xiàng)的相應(yīng)設(shè)置后,下面就可以編譯安裝libpng軟件包了,所需要運(yùn)行的命令如下:</p><p>  [root@localhost zl

31、ib-1.2.3]# make;make install</p><p><b>  SDL多媒體函數(shù)庫</b></p><p>  SDL(Simple DirectMedia Layer)現(xiàn)在廣泛應(yīng)用與游戲、游戲SDK、模擬器、MPEG播放器和其他眾多的軟件設(shè)計(jì)領(lǐng)域。特別是,SDL在游戲開發(fā)領(lǐng)域已經(jīng)得到了廣泛的認(rèn)可,許多著名的游戲都用到了SDL開發(fā)包。SDL是一個(gè)

32、跨平臺(tái)的多媒體函數(shù)庫,支持對(duì)底層的音頻,鼠標(biāo),鍵盤,游戲桿,基于OPENGL的3D硬件以及2D圖像幀緩沖區(qū)的訪問。另外,SDL幾乎支持現(xiàn)在所有的平臺(tái):Linux、Windows、WindowsCE、BeOS、MacOS、Mac OS X、FreeBSD、NetBSD、OpenBSD、BSD/OS、Solaris、IRIX以及QNX等。</p><p>  SDL在音頻處理、視頻處理、事件響應(yīng)、線程管理、數(shù)據(jù)流處理

33、、定時(shí)器等方面都有比較突出的功能。</p><p>  在終端命令窗口中,切換到/home/ilovechina/GBA/路徑下,解壓縮SDL-1.2.13.tar.gz軟件包,運(yùn)行如下命令:</p><p>  [root@localhost libpng-1.4.0]# cd ..</p><p>  [root@localhost GBA]# tar –xzv

34、f SDL-1.2.13.tar.gz得到SDL-1.2.13文件夾;</p><p>  在生成的SDL-1.2.13目錄中,運(yùn)行如下配置命令,就可以得到Makefile文件:</p><p>  [root@localhost GBA]# cd SDL-1.2.13</p><p>  [root@localhost SDL-1.2.13]# ./config

35、ure </p><p>  --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</p&

36、gt;<p>  --disable-video-x11 --disable-nasm --target=arm-linux --host=arm-linux</p><p>  --enable-video-fbcon</p><p>  在前面的步驟中已經(jīng)將需要預(yù)處理的各項(xiàng)都進(jìn)行了相應(yīng)的設(shè)置處理,現(xiàn)在可以編譯、安裝SDL軟件包了,運(yùn)行如下命令即可:</p>

37、<p>  [root@localhost SDL-1.2.13]# make;make install</p><p>  編譯與安裝VBA模擬器</p><p>  切換路徑到/home/ilovechina/GBA/目錄下,開始運(yùn)行如下命令解壓縮游戲模擬器VisualBoyAdvance-src-1.7.2.tar.gz軟件包:</p><p>  

38、[root@localhost SDL-1.2.13]# cd ..</p><p>  [root@localhost GBA]# tar –xzvf VisualBoyAdvance-1.7.2.tar.gz</p><p>  這樣在/home/ilovechina/GBA/下得到VisualBoyAdvance-1.7.2文件夾。</p><p>  Vis

39、ualBoyAdvance-1.7.2目錄下,運(yùn)行如下配置命令,可以得到Makefile文件:</p><p>  [root@localhost GBA]# cd VisualBoyAdvance-1.7.2</p><p>  [root@localhost VisualBoyAdvance-1.7.2]# ./configure --host=arm-linux</p>

40、<p>  --target=arm-linux</p><p>  --with-sdl-prefix=/usr/local/arm/3.4.1/arm-linux</p><p>  --with-sdl-exec-prefix=/usr/local/arm/3.4.1/arm-linux</p><p>  在/home/ilovechina/GB

41、A/VisualBoyAdvance-1.7.2/src/sdl/SDL.cpp文件中分別從第2323行、第3381行開始,有如下的相同代碼:</p><p>  surface = SDL_SetVideoMode(destWidth, destHeight, 16,</p><p>  SDL_ANYFORMAT|SDL_HWSURFACE|SDL_DOUBLEBUF|</p&g

42、t;<p>  (fullscreen ? SDL_FULLSCREEN : 0));</p><p>  將其修改為surface = SDL_SetVideoMode(640,480,16,1),其中640*480表示LCD的分辨率,如果不修改這段代碼,在ARM9開發(fā)板上運(yùn)行VBA時(shí)將可能會(huì)提示video模式無法設(shè)置,也可能出現(xiàn)屏幕不正常顯示的情況。</p><p>  

43、保存上述修改,并退出對(duì)SDL.cpp文件的編輯。</p><p>  在前面的步驟中已經(jīng)將需要的預(yù)處理的各項(xiàng)都進(jìn)行了相應(yīng)的設(shè)置,現(xiàn)在可以開始編譯、安裝VisualBoyAdvance軟件包了,運(yùn)行如下命令:</p><p>  [root@localhost VisualBoyAdvance-1.7.2]# make;make install</p><p>  在

44、編譯、安裝VisualBoyAdvance軟件包之后,可以在VisualBoyAdvance-1.7.2/src/sdl/目錄下看到在arm平臺(tái)運(yùn)行的兩個(gè)文件:TestEmu,VisualBoyAdvance,如圖3所示,</p><p>  圖3 編譯得到的VisualBoyAdvance文件</p><p>  另外,在其上一級(jí)目錄下有一個(gè)VisualBoyAdvance.cfg配置文

45、件,如圖4所示</p><p>  圖4 VisualBoyAdvance.cfg配置文件</p><p>  VisualBoyAdvance的調(diào)試與運(yùn)行</p><p>  首先,將TestEmu、VisualBoyAdvance及VisualBoyAdvance.cfg這3個(gè)文件同時(shí)下載到ARM9開發(fā)板根文件系統(tǒng)的/home/ziapc/目錄下,然后編寫或下載

46、一個(gè)GBA游戲,同樣下載到開發(fā)板的根文件系統(tǒng)的/home/ziapc/目錄下;</p><p>  接著添加vba-over.ini文件,將其下載到開發(fā)板中根文件系統(tǒng)的/home/ziapc/目錄內(nèi),再次運(yùn)行模擬器程序,注意開發(fā)板網(wǎng)串口中斷上輸出的信息;</p><p>  上一步提示VBA運(yùn)行時(shí)缺少libSDL-1.2.so.0共享庫文件,該文件是一個(gè)指向libSDL-1.2.so.01

47、1.2共享庫文件的鏈接文件,它們都位于/usr/local/arm/3.4.1/arm-linux/lib目錄下,將它們下載到開發(fā)板根文件系統(tǒng)中的/home/ziapc/目錄里;</p><p>  最后,再次在ARM9開發(fā)板上運(yùn)行VBA游戲模擬器即可運(yùn)行起來。在LCD顯示屏上出現(xiàn)游戲畫面。</p><p><b>  總結(jié)</b></p><p&

48、gt;  課程設(shè)計(jì)中還是學(xué)到了不少東西的。在整個(gè)設(shè)計(jì)過程中,需要用到arm-linux-gcc-3.4.1版本的嵌入式交叉編譯環(huán)境,ZLIB數(shù)據(jù)壓縮庫、libpng圖像庫、SDL多媒體函數(shù)庫以及主要的VisualBoyAdvance-src-1.7.2開源代碼包,上述軟件包有一定的版本匹配關(guān)系,交叉編譯環(huán)境必須使用3.4.1版本的交叉編譯器,且不能與3.4.4版本的同時(shí)運(yùn)行,在開始安裝VBA模擬器之前一定要確認(rèn)版本是否正確。下面列出在設(shè)

49、計(jì)過程中遇到的問題:</p><p>  由于虛擬機(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)境;</p><p>  進(jìn)行過ZLIB數(shù)據(jù)壓縮庫,libpng圖像庫,SDL多媒體函數(shù)庫之后,在編譯與安裝VBA模擬器時(shí),按照書中配置命令無法生成

50、Makefile文件,需要按照:</p><p>  [root@localhost VisualBoyAdvance-1.7.2]# ./configure --host=arm-linux</p><p>  --target=arm-linux</p><p>  --with-sdl-prefix=/usr/local/arm/3.4.1/arm-linux

51、</p><p>  --with-sdl-exec-prefix=/usr/local/arm/3.4.1/arm-linux</p><p>  命令,使運(yùn)行過程能夠找到SDL配置文件,另外,編譯過程可能不能找到SDL.h文件,需要在SDL.cpp文件中修改SDL.h的絕對(duì)路徑;</p><p>  編譯、安裝VBA軟件包過程較長(zhǎng),在命令終端中有長(zhǎng)時(shí)間的停頓,這

52、是正常情況,直至生成所需要的三個(gè)目標(biāo)文件。</p><p>  通過嵌入式實(shí)驗(yàn)和游戲模擬器的設(shè)計(jì),我更深刻地認(rèn)識(shí)了Linux操作系統(tǒng)在嵌入式設(shè)計(jì)方面的強(qiáng)大功能,初步認(rèn)識(shí)了嵌入式在人們?nèi)粘蕵飞钪械淖饔?,這些都是最基礎(chǔ)的內(nèi)容,之后還有更為深入的內(nèi)容要學(xué)習(xí),例如嵌入式Linux設(shè)備驅(qū)動(dòng)程序的開發(fā)、用戶圖形界面的設(shè)計(jì)等高深知識(shí)。過程的實(shí)際操作發(fā)現(xiàn)了很多問題,這是平時(shí)理論學(xué)習(xí)無法遇到的,大家共同努力去克服和解決,獲益匪

溫馨提示

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

評(píng)論

0/150

提交評(píng)論