基于嵌入式系统的开源游戏模拟器的设计

上传人:仙*** 文档编号:201036780 上传时间:2023-04-18 格式:DOC 页数:10 大小:201KB
收藏 版权申诉 举报 下载
基于嵌入式系统的开源游戏模拟器的设计_第1页
第1页 / 共10页
基于嵌入式系统的开源游戏模拟器的设计_第2页
第2页 / 共10页
基于嵌入式系统的开源游戏模拟器的设计_第3页
第3页 / 共10页
资源描述:

《基于嵌入式系统的开源游戏模拟器的设计》由会员分享,可在线阅读,更多相关《基于嵌入式系统的开源游戏模拟器的设计(10页珍藏版)》请在装配图网上搜索。

1、郑州航空工业管理学院嵌入式系统课程设计报告题目:基于嵌入式系统的开源游戏模拟器的设计20 12 2013 第1学期院系:电子通信工程系姓名: 专业: 通信工程 学号:0913072 指导老师:赵成张松炜电子通信工程系2012年11月制- 10 -目 录目 录- 2 -一、引言- 3 -二、设计目的- 3 -三、设计要求- 3 -1.任务要求- 3 -2.设计所需的软硬件设备- 3 -3.课程设计报告内容- 4 -四、总体设计- 4 -1.Visual Boy Advance模拟器简介- 4 -2.安装交叉编译工具- 4 -3.ZLIB数据压缩库的安装、编译- 5 -4.编译、安装Libpng图

2、像库- 6 -5.SDL多媒体函数库- 6 -6.编译与安装VBA模拟器- 7 -7.VisualBoyAdvance的调试与运行- 9 -五、总结- 9 -六、参考文献- 10 -一、 引言随着微处理器性能的提升,现在的微处理器已经可以支撑游戏模拟器的运行,用户可以选择在非PC平台下操作街机游戏以及20世纪90年代需要PC才能运行的游戏节目,这无疑提升了游戏硬件平台的移动性。电子游戏业将是这一技术的最大收益者。目前,在一个配有LCD图形界面和32位ARM微处理器的移动平台上,甚至可以实现最早出现在PC上的3D游戏,本文介绍利用ARM嵌入式系统平台(内置S3C2410A核心微处理器),将开源游

3、戏模拟器Visual Boy Advance(VBA)的代码移植到微处理器上的方法。二、 设计目的了解嵌入式微处理器的运算能力,进一步熟悉ARM S3C2410微处理器在多媒体娱乐平台中的应用。该设计的目标是在一个配有LCD图形界面和32位ARM微处理器的嵌入式系统平台(内置S3C2410A核心微处理器)上,将开源游戏模拟器Visual Boy Advance(VBA)的代码移植到微处理器上运行。在设计过程中,熟悉Linux系统中常用的压缩解缩工具包、图形工具包、多媒体函数库等的使用方法,从而为基于嵌入式系统平台的多媒体开发任务打下更深厚的应用实践基础。三、 设计要求1. 任务要求要求能独立地

4、分析题目意义、设计实现步骤、画出硬件原理图及软件流程图、调试驱动模块。该设计的具体要求如下:(1)掌握ZLIB数据压缩库的功能以及编译与安装方法。(2)掌握libpng图像库的功能以及编译与安装方法。(3)掌握SDL多媒体函数库的功能以及编译与安装方法。(4)掌握开源模拟器VBA的编译与安装方法。(5)掌握开源模拟器VBA的调试与运行。(6)理解VBA程序的设计(选做)。2. 设计所需的软硬件设备(1)硬件环境配置计算机:Intel(R) Pentium(R) 及以上内存:1GB及以上实验设备:UP-NETARM2410-S嵌入式开发平台(2)软件环境配置操作系统:Microsoft Wind

5、ows XP Professional Service Pack 2虚拟机:VMware WorkStation 7Linux系统:Red Hat Enterprise Linux AS 4 (2.6.9-5.EL)嵌入式交叉编译器:arm-linux-gcc 3.4.1版本ZLIB数据压缩库:ZLIB-1.2.3Libpng图像库:Libpng-1.4.0SDL多媒体函数库:sdl-1.2.13VBA模拟器:VisualBoyAdvance-src-1.7.23. 课程设计报告内容按该设计报告要求的模式格式提交课程设计报告书。四、 总体设计1. Visual Boy Advance模拟器简介

6、开源游戏模拟器VBA是一个根据GUN General Public License发布的免费软件。VBA能够在不同的硬件平台上模拟Nintendo公司发行的手提游戏机,包括Game Boy、Super Game Boy、Game Boy Color、Game Boy Advance以及Game Boy Advance ROMS。2. 安装交叉编译工具交叉开发方式解决了目标硬件资源有限,无法在本机运行编译和调试工具的问题,并且还得使开发者可以在熟悉的宿主机环境下进行程序开发,对于ARM嵌入式系统的开发,需要安装交叉版本的GCC工具包来搭建嵌入式交叉编译环境,在此,使用arm-linux-gcc-

7、3.4.1.tgz软件包。(1) 下载arm-linux-gcc-3.4.1.tgz软件压缩包,将其存放在Linux系统中的/tmp目录下,然后进入/tmp目录,执行如下命令进行文件解压缩:rootlocalhost # cd /tmprootlocalhost tmp# tar -xzvf arm-linux-gcc-3.4.1.tgz -C /运行上述命令后把arm-linux-gcc安装到/usr/local/arm/3.4.1目录。(2) 运行下面命令修改/root/.bashrc文件的内容:rootlocalhost # vi /root/.bashrc 编辑/root/.bashr

8、c文件,将最后一行改为如图1划线标示所示,修改后保存退出。图1 修改/root/.bashrc文件的内容(3) 重新登录系统,使上述设置生效,用以下命令行测试:rootlocalhost # arm-linux-gcc v若出现如图2所示gcc version 3.4.1则说明交叉编译环境已经安装完毕且3.4.1版本的交叉编译环境可以正常运行了。图2 交叉编译工具的版本信息3. ZLIB数据压缩库的安装、编译ZLIB是一个免费、通用的开源代码,提供数据的压缩与解压缩开发库,而且还支持跨平台的应用。ZLIB具有同winzip和winrar等商业软件相比毫不逊色的压缩率,已经成功应用到诸如MySQ

9、L、Java、3DMax、甚至是微软的DirectX等大型的系统中。ZLIB虽然支持文件的压缩、解压缩、删除与查看等功能,但主要是对Linux/Unix下的GZ文件进行相应的操作,对于Windows系统下的ZIP文件并不提供直接的支持,这里使用ZLIB的版本是1.3.2。(1) 在命令终端窗口中,切换路径到/home/ilovechina/GBA/下,解压缩zlib-1.2.3.tar.gz软件包,运行下面的命令:rootlocalhost # cd /home/ilovechina/GBA/rootlocalhost GBA# tar -xzvf zlib-1.2.3.tar.gz(2) 在

10、zlib-1.2.3目录中,运行如下的配置命令,可以得到Makefile文件:rootlocalhost GBA# cd zlib-1.2.3rootlocalhost zlib-1.2.3# ./configure -prefix=/usr/local/arm/3.4.1/arm-linux(3) 使用编辑器修改产生的Makefile文件,从而达到能够利用交叉编译工具对zlib的源代码进行编译与安装,修改参数如下: 第19行修改为:CC=arm-linux-gcc 第36行修改为:AR=arm-linux-ar rc 第37行修改为:RANLIB=arm-linux-ranlib(4) 在前

11、面的步骤中已经将预先处理的各项都进行了设置,现在可以运行下列命令开始编译、安装zlib软件包:rootlocalhost zlib-1.2.3# make;make install 4. 编译、安装Libpng图像库Libpng提供多种应用程序解析PNG格式图像时使用的开发库,该软件包含png库和libpng-configlib文件,其中,PNG库是用来创立和操作PNG格式的图像文件。PNG格式是设计来替代的GIF的,PNG对于更小范围的TIFF来说,有了非常多的进步和拓展。libpng-configlib文件为libpng提供了设置信息。(1) 解压缩libpng-1.4.0.tar.gz软

12、件包,在命令终端窗口切换路径到/home/ilovechina/GBA/下,运行的命令如下:rootlocalhost zlib-1.2.3# cd .rootlocalhost GBA# tar -xzvf libpng-1.4.0.tar.gz(2) 在libpng-1.4.0目录中,运行如下配置命令,可以得到Makefile文件:rootlocalhost GBA# cd libpng-1.4.0rootlocalhostlibpng-1.4.0# export LDFLAGS=-L/usr/arm/3.4.1/arm-linux/librootlocalhostlibpng-1.4.0

13、# 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文件生成之后,在前面预先处理的各项的相应设置后,下面就可以编译安装libpng软件包了,所需要运行的命令如下:rootlocalhost zlib-1.2.3# make;make install5. SDL多媒体函数库SDL(Simple DirectMedia Layer

14、)现在广泛应用与游戏、游戏SDK、模拟器、MPEG播放器和其他众多的软件设计领域。特别是,SDL在游戏开发领域已经得到了广泛的认可,许多著名的游戏都用到了SDL开发包。SDL是一个跨平台的多媒体函数库,支持对底层的音频,鼠标,键盘,游戏杆,基于OPENGL的3D硬件以及2D图像帧缓冲区的访问。另外,SDL几乎支持现在所有的平台:Linux、Windows、WindowsCE、BeOS、MacOS、Mac OS X、FreeBSD、NetBSD、OpenBSD、BSD/OS、Solaris、IRIX以及QNX等。SDL在音频处理、视频处理、事件响应、线程管理、数据流处理、定时器等方面都有比较突出

15、的功能。(1) 在终端命令窗口中,切换到/home/ilovechina/GBA/路径下,解压缩SDL-1.2.13.tar.gz软件包,运行如下命令: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目录中,运行如下配置命令,就可以得到Makefile文件:rootlocalhost GBA# cd SDL-1.2.13rootlocalhost SDL-1.2.13# ./configure -prefix=/usr/l

16、ocal/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) 在前面的步骤中已经将需要预处理的各项都进行了相应的设置处理,现在可以编译、安装SDL软件包了,运

17、行如下命令即可:rootlocalhost SDL-1.2.13# make;make install6. 编译与安装VBA模拟器(1) 切换路径到/home/ilovechina/GBA/目录下,开始运行如下命令解压缩游戏模拟器VisualBoyAdvance-src-1.7.2.tar.gz软件包:rootlocalhost SDL-1.2.13# cd .rootlocalhost GBA# tar xzvf VisualBoyAdvance-1.7.2.tar.gz这样在/home/ilovechina/GBA/下得到VisualBoyAdvance-1.7.2文件夹。(2) Visu

18、alBoyAdvance-1.7.2目录下,运行如下配置命令,可以得到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/arm/3.4.1/arm-linux(3) 在/home/ilovechina/GBA/Vis

19、ualBoyAdvance-1.7.2/src/sdl/SDL.cpp文件中分别从第2323行、第3381行开始,有如下的相同代码: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表示LCD的分辨率,如果不修改这段代码,在ARM9开发板上运行VBA时将可能会提示video模式无法

20、设置,也可能出现屏幕不正常显示的情况。保存上述修改,并退出对SDL.cpp文件的编辑。(4) 在前面的步骤中已经将需要的预处理的各项都进行了相应的设置,现在可以开始编译、安装VisualBoyAdvance软件包了,运行如下命令:rootlocalhost VisualBoyAdvance-1.7.2# make;make install在编译、安装VisualBoyAdvance软件包之后,可以在VisualBoyAdvance-1.7.2/src/sdl/目录下看到在arm平台运行的两个文件:TestEmu,VisualBoyAdvance,如图3所示,图3 编译得到的VisualBoyA

21、dvance文件另外,在其上一级目录下有一个VisualBoyAdvance.cfg配置文件,如图4所示图4 VisualBoyAdvance.cfg配置文件7. VisualBoyAdvance的调试与运行(1) 首先,将TestEmu、VisualBoyAdvance及VisualBoyAdvance.cfg这3个文件同时下载到ARM9开发板根文件系统的/home/ziapc/目录下,然后编写或下载一个GBA游戏,同样下载到开发板的根文件系统的/home/ziapc/目录下;(2) 接着添加vba-over.ini文件,将其下载到开发板中根文件系统的/home/ziapc/目录内,再次运行

22、模拟器程序,注意开发板网串口中断上输出的信息;(3) 上一步提示VBA运行时缺少libSDL-1.2.so.0共享库文件,该文件是一个指向libSDL-1.2.so.011.2共享库文件的链接文件,它们都位于/usr/local/arm/3.4.1/arm-linux/lib目录下,将它们下载到开发板根文件系统中的/home/ziapc/目录里;(4) 最后,再次在ARM9开发板上运行VBA游戏模拟器即可运行起来。在LCD显示屏上出现游戏画面。五、 总结整个课程设计过程中,需要用到arm-linux-gcc-3.4.1版本的嵌入式交叉编译环境,ZLIB数据压缩库、libpng图像库、SDL多媒

23、体函数库以及主要的VisualBoyAdvance-src-1.7.2开源代码包,上述软件包有一定的版本匹配关系,交叉编译环境必须使用3.4.1版本的交叉编译器,且不能与3.4.4版本的同时运行,在开始安装VBA模拟器之前一定要确认版本是否正确。下面列出在设计过程中遇到的问题:1. 由于虚拟机中的Linux系统之前已经配置了3.4.4版本的交叉编译环境,在上机做课程设计时,要删除其配置环境,具体做法:删除/usr/local/bin/目录下的所有文件,再次参照上述步骤配置交叉编译环境;2. 进行过ZLIB数据压缩库,libpng图像库,SDL多媒体函数库之后,在编译与安装VBA模拟器时,按照书

24、中配置命令无法生成Makefile文件,需要按照:rootlocalhost 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/arm/3.4.1/arm-linux命令,使运行过程能够找到SDL配置文件,另外,编译过程可能不能找到SDL.h文件,需要在SDL.cpp文件中修改SDL.h的绝对路径;3. 编译、安装VBA软件包时过程较长,在命令终端中有

25、长时间的停顿,这是正常情况,直至生成所需要的三个目标文件。通过嵌入式实验和游戏模拟器的设计,我更深刻地认识了Linux操作系统在嵌入式设计方面的强大功能,初步认识了嵌入式在人们日常娱乐生活中的作用,而这只是最基础的内容,之后还有更为深入的内容要学习,例如嵌入式Linux设备驱动程序的开发、用户图形界面的设计等高深知识。最后感谢赵成老师在此期间对我们小组团队人员的悉心指导,使课程设计结果能够最终顺利达到目标,过程的实际操作发现了很多问题,这是平时理论学习无法遇到的,解决的过程也让我学到了很多东西。六、 参考文献【1】 嵌入式系统应用基础:基于S3C2410A的SKYEYE的仿真与实践.赵成主编.国防工业出版社.2012.2【2】 Linux基础及应用.谢蓉/巢爱棠.中国铁道出版社.2005

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!