ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:133.39KB ,
资源ID:21122299      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21122299.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于嵌入式系统的开源游戏模拟器的设计文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于嵌入式系统的开源游戏模拟器的设计文档格式.docx

1、引言 随着微处理器性能的提升,现在的微处理器已经可以支撑游戏模拟器的运行,用户可以选择在非PC平台下操作街机游戏以及20世纪90年代需要PC才能运行的游戏节目,这无疑提升了游戏硬件平台的移动性。电子游戏业将是这一技术的最大收益者。目前,在一个配有LCD图形界面和32位ARM微处理器的移动平台上,甚至可以实现最早出现在PC上的3D游戏,本文介绍利用ARM嵌入式系统平台(内置S3C2410A核心微处理器),将开源游戏模拟器Visual Boy Advance(VBA)的代码移植到微处理器上的方法。二、设计目的了解嵌入式微处理器的运算能力,进一步熟悉ARM S3C2410微处理器在多媒体娱乐平台中的

2、应用。该设计的目标是在一个配有LCD图形界面和32位ARM微处理器的嵌入式系统平台(内置S3C2410A核心微处理器)上,将开源游戏模拟器Visual Boy Advance(VBA)的代码移植到微处理器上运行。在设计过程中,熟悉Linux系统中常用的压缩解缩工具包、图形工具包、多媒体函数库等的使用方法,从而为基于嵌入式系统平台的多媒体开发任务打下更深厚的应用实践基础。三、设计要求1.任务要求要求能独立地分析题目意义、设计实现步骤、画出硬件原理图及软件流程图、调试驱动模块。该设计的具体要求如下:(1)掌握ZLIB数据压缩库的功能以及编译与安装方法。(2)掌握libpng图像库的功能以及编译与安

3、装方法。(3)掌握SDL多媒体函数库的功能以及编译与安装方法。(4)掌握开源模拟器VBA的编译与安装方法。(5)掌握开源模拟器VBA的调试与运行。(6)理解VBA程序的设计(选做)。2.设计所需的软硬件设备(1)硬件环境配置计算机:Intel(R) Pentium(R) 及以上内存:1GB及以上实验设备:UP-NETARM2410-S嵌入式开发平台(2)软件环境配置操作系统:Microsoft Windows XP Professional Service Pack 2虚拟机:VMware WorkStation 7Linux系统:Red Hat Enterprise Linux AS 4 (

4、2.6.9-5.EL)嵌入式交叉编译器:arm-linux-gcc 3.4.4版本Linux内核版本:Linux-2.6.14SKYEYE版本:skyeye-1.2.4U-Boot版本:U-Boot-1.3.2BusyBox版本:BusyBox-1.2.0ZLIB数据压缩库:ZLIB-1.2.3Libpng图像库:Libpng-1.4.0SDL多媒体函数库:sdl-1.2.13VBA模拟器:VisualBoyAdvance-src-1.7.23.课程设计报告内容按该设计报告要求的模式格式提交课程设计报告书。四、总体设计1.Visual Boy Advance模拟器简介开源游戏模拟器VBA是一个

5、根据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-3.4.1.tgz软件包。(

6、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/.bashrc文件,将最后一行改为如图1划线

7、标示所示,修改后保存退出。图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等商业软件相比毫不逊色的压缩率,已经成功应用到诸如MySQL、Java、3DMax、甚至是微软

8、的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)在zlib-1.2.3目录中,运行如下的配

9、置命令,可以得到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)在前面的步骤中已经将预先处理的各项都进行了设置,现在可

10、以运行下列命令开始编译、安装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软件包,在命令终端窗口切换路径到/home/ilovec

11、hina/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.0rootlocalhost libpng-1.4.0# export LDFLAGS=-L/usr/arm/3.4.1/arm-linux/lib rootlocalhost libpng-1.4.0# export CFLAGS=-I/usr/lo

12、cal/arm/3.4.1/arm-linux/include rootlocalhost libpng-1.4.0# ./configure -prefix=/usr/local/arm/3.4.1/arm-linux -host=arm-linux(3)Makefile文件生成之后,在前面预先处理的各项的相应设置后,下面就可以编译安装libpng软件包了,所需要运行的命令如下:make install5.SDL多媒体函数库SDL(Simple DirectMedia Layer)现在广泛应用与游戏、游戏SDK、模拟器、MPEG播放器和其他众多的软件设计领域。特别是,SDL在游戏开发领域已经

13、得到了广泛的认可,许多著名的游戏都用到了SDL开发包。SDL是一个跨平台的多媒体函数库,支持对底层的音频,鼠标,键盘,游戏杆,基于OPENGL的3D硬件以及2D图像帧缓冲区的访问。另外,SDL几乎支持现在所有的平台:Linux、Windows、WindowsCE、BeOS、MacOS、Mac OS X、FreeBSD、NetBSD、OpenBSD、BSD/OS、Solaris、IRIX以及QNX等。SDL在音频处理、视频处理、事件响应、线程管理、数据流处理、定时器等方面都有比较突出的功能。(1)在终端命令窗口中,切换到/home/ilovechina/GBA/路径下,解压缩SDL-1.2.13

14、.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/local/arm/3.4.1/arm-linux -disable-video-qtopia -disable-vid

15、eo-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软件包了,运行如下命令即可:rootlocalhost SDL-1.2.13# make;6.编译与安装VBA模拟器(1)切换路径到

16、/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)VisualBoyAdvance-1.7.2目录下,运行如下配置命令,可以得到Makefile文件:rootlocalhost GBA# cd VisualB

17、oyAdvance-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/VisualBoyAdvance-1.7.2/src/sdl/SDL.cpp文件中分别从第2323行、第3381行开始,有如下的相同代码:surface =

18、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模式无法设置,也可能出现屏幕不正常显示的情况。保存上述修改,并退出对SDL.cpp文件的编辑。(4)在前面的步骤中已经将需要的预处理的各项都进行了相应的设置

19、,现在可以开始编译、安装VisualBoyAdvance软件包了,运行如下命令:rootlocalhost VisualBoyAdvance-1.7.2# make;在编译、安装VisualBoyAdvance软件包之后,可以在VisualBoyAdvance-1.7.2/src/sdl/目录下看到在arm平台运行的两个文件:TestEmu,VisualBoyAdvance,如图3所示,图3 编译得到的VisualBoyAdvance文件另外,在其上一级目录下有一个VisualBoyAdvance.cfg配置文件,如图4所示图4 VisualBoyAdvance.cfg配置文件7.Visual

20、BoyAdvance的调试与运行(1)首先,将TestEmu、VisualBoyAdvance及VisualBoyAdvance.cfg这3个文件同时下载到ARM9开发板根文件系统的/home/ziapc/目录下,然后编写或下载一个GBA游戏,同样下载到开发板的根文件系统的/home/ziapc/目录下;(2)接着添加vba-over.ini文件,将其下载到开发板中根文件系统的/home/ziapc/目录内,再次运行模拟器程序,注意开发板网串口中断上输出的信息;(3)上一步提示VBA运行时缺少libSDL-1.2.so.0共享库文件,该文件是一个指向libSDL-1.2.so.011.2共享库

21、文件的链接文件,它们都位于/usr/local/arm/3.4.1/arm-linux/lib目录下,将它们下载到开发板根文件系统中的/home/ziapc/目录里;(4)最后,再次在ARM9开发板上运行VBA游戏模拟器即可运行起来。在LCD显示屏上出现游戏画面。五、总结整个课程设计过程中,需要用到arm-linux-gcc-3.4.1版本的嵌入式交叉编译环境,ZLIB数据压缩库、libpng图像库、SDL多媒体函数库以及主要的VisualBoyAdvance-src-1.7.2开源代码包,上述软件包有一定的版本匹配关系,交叉编译环境必须使用3.4.1版本的交叉编译器,且不能与3.4.4版本的

22、同时运行,在开始安装VBA模拟器之前一定要确认版本是否正确。下面列出在设计过程中遇到的问题:1.由于虚拟机中的Linux系统之前已经配置了3.4.4版本的交叉编译环境,在上机做课程设计时,要删除其配置环境,具体做法:删除/usr/local/bin/目录下的所有文件,再次参照上述步骤配置交叉编译环境;2.进行过ZLIB数据压缩库,libpng图像库,SDL多媒体函数库之后,在编译与安装VBA模拟器时,按照书中配置命令无法生成Makefile文件,需要按照:命令,使运行过程能够找到SDL配置文件,另外,编译过程可能不能找到SDL.h文件,需要在SDL.cpp文件中修改SDL.h的绝对路径;3.编

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

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1