好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基于嵌入式系统的游戏程序设计.doc

13页
  • 卖家[上传人]:夏**
  • 文档编号:493679896
  • 上传时间:2023-08-16
  • 文档格式:DOC
  • 文档大小:779.50KB
  • / 13 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 基于嵌入式系统的游戏程序设计———————————————————————————————— 作者:———————————————————————————————— 日期: 1 个人收集整理 勿做商业用途基于嵌入式系统的游戏程序设计0  引  言随着近年来计算技术、通信技术的飞速发展,特别是互联网的迅速普及和3C(计算机、通信、消费电子)合一的加速,微型化和专业化成为发展的新趋势,嵌入式产品成为信息产业的主流.嵌入式系统被定义为以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统嵌入式系统是面向用户、面向产品、面向应用.而广泛用于制造工业、过程控制、通信、仪器、仪表等,消费类产品,如果独立于应用自行发展,则会失去市场嵌入式处理器在功耗、体积、成本、可靠性、速度、处理能力、电磁兼容性等方面均受到应用要求的制约,这些也是各个半导体厂商之间的竞争热点.嵌入式处理器的应用软件是实现嵌入式系统功能的关键。

      软件要求固化存储,软件代码要求高质量、高可靠性1  开发平台一个完整的嵌人式系统结构如图1所示,设计中采用的硬件平台为基于Intel Xscale架构的PXA255开发板,CPU运算速度为400 MHz,FLASH为32 MB容量的Intel Strata FLASH,SDRM容量为64 MB,USBSlave支持USB1.1,LCD支持640×480分辨率.由图1可以看出,一个完整的嵌入式系统不仅包含有硬件平台,还有运行于该硬件平台的操作系统和基于该操作系统的应用软件,而嵌入式LinUX只是众多嵌入式操作系统中的一个.从20世纪80年代末开始,陆续出现了一些嵌入式操作系统,例如比较著名的有Vxwork,pSOS,Neculeus,QNX,ECOS,LYNX,Palm OS和Windows CE,这些专用操作系统都是商业化产品,其高昂的价格使许多低端产品的小公司望而却步;而且源代码的封闭性也大大限制了开发者的积极性.另外,结合国内实情,当前国家对自主操作系统的大力支持,也为源码开放的Linux推广提供广阔的发展前景再者,对上层应用开发者而言,嵌入式系统需要的是一套高度简练,界面友善,质量可靠,应用广泛,易开发、多任务,并且价格低廉的操作系统。

      基于以上情况,采用嵌入式Linux操作系统作为开发的软件平台2 交叉编译工具链在嵌入式系统软件的开发过程中,交叉编译工具链是极为重要的一环,设计并制作良好的交叉编译工具链是顺利实现软件开发的重要保障2.1 ARM—Linux的gcc交叉工具链设计采用的Linux操作系统是经过修改与裁剪的ARM—Linux;使用的开发工具是非图形开发工具gccgcc交叉编译工具一般情况下需自行制作,制作方法较为简单,这里不做详细介绍制作一条比较完整的ARM—Linux gcc交叉工具链主要用到如下软件包:binutils工具包(ftp://ftp.gnu.org/gnu/binutils);gcc编译器(ftp://ftp.gnu.org/gnu/gcc);glibc函数库(ftp://ftp.gnu.org/gnu/glibc);glibc-linuxthreads包(ftp://ftp.gnu.org/gnu/glibe);linux内核(ftp://ftp.kernle.org/pub/linux/kernel)如果Linux内核低于2.6版本,还应下载相应的内核补丁ftp://ftp.arm.linux.org.uk/pub/linux/arm/kernel/v2.4/)2.2 SDL图形库为使程序运行的界面更加友好和美观,在设计中要使用到图形函数接口,这就意味着要向前面的工具链(采用gcc工具链版本为3.3.2)添加第三方的图形函数库.设计中采用的SDL(Simple DirectMedia Layer)图形库为免费的跨平台多媒体应用编程接口,具有丰富的函数库,便于开发者使用。

      2.2.1  SDL常用到的开发包(1)SDL_Image:提供显示多种格式的图像显示接口,它支持bmp,png,jpeg,gif,tiff等;(2)SDL_Draw:提供画点线圆等几何图形的接口(SDL_gfx也含有这样的功能http://www.ferzkopp.net/joomla/content/view/19/14/);(3)SDL_ttf:提供显示TTF文字的接口;(4)SDL_mixer:提供播放各种声音文件的接口把SDL编译到工具链用的并非PC机本身带的gcc编译器,而是要用到第2.1节已经做好了的交叉编译工具链.其中使用的pkg-Config工具版本要在0.15.0版本或以上.SDL以及与SDL安装相关或有依赖关系的软件有:alsa—lib-1.0.15,audiofile-0.2.6,esound-0.2.38,freetype-2.1.9,jpegsrc.v6b,libid3tag—0.15.1b,libmad—0.15.1b,libpng—1.2.22,madplay—0.15.2b,SDL-1.2.12,SDL_draw—1.2.11,SDL_gfx—2.0.15,SDL_image—1.2.6,sdl_mad-0.1,SDL_mixer-1.2.8,SDL_ttf—2.0.9,tiff-3.8.2,tslib—1. 3,zlib—1.2.3.2.2.2  交叉编译的主要步骤主要步骤为:(1)设定环境变量:PREFIX为安装目录;CROSS为ARM—Linux—;PKG_CONFIG_PATH为pkgcon-fig的路径;ARCH在这里设成ARM;HOST注意要是ARM-Linux,而不是i386-linux(这与前面做ARM—Linux-gcc不一样);BUILD设置为i386—linux。

      编译时一定要指定CC,NM,AR等变量,让它们跟交叉编译器对应的工具关联起来,否则编译时将会采用PC机Linux的gcc编译器进行编译,不能达到交叉编译的目的2)按顺序依次编译如下软件:zlib编译命令行:./configure—shared—prefix=$PREFIX;make;make install.freetype编译命令行:./configure—host=$(HOST)——build=$(BUILD)-—prefix=$PREFIX;make;make installlibpng编译命令行:./configure —host=$(HOST)—build=$(BUILD)-—prefix=$PREFIX;make;make installlibtiff编译命令行:./configure—host=$(HOST)—build=$(BUILD)--prefix=$(PREFIX)/usr--without—x -—enable-zlib  —-with-zlib-include—dir=$(PREFIX)/include—with-zlib-lib—dir=$(PREFIX)/lib——with—jpeg—include-dir=$(PREFIX)/include -with—jpeg-lib—dir=$(PREFIX)/lib;make;make install。

      tslib编译命令行:./configure-host=$(HOST)—build=$(BUILD)——prefix=$(PREFIX)--cache—file=$(ARCH)—linux.cache  --sysconfdir=$(PREFIX}/etc——enable-static &&;make;make install.Libmad编译命令行:./configure—host=$(HOST)--build=$(BUILD)—-prefix=$(PREFIX);make;make installlibid3tag编译命令行:./configure-host=$(HOST)—-build=$(BUILD)-—prefix=$(PREFIX);make make installmadplay编译命令行:./configure-—host=$(HOST)—-build$(BUILD)-—prefix=$(PREFIX);make;make installalsa编译命令行:./configure--host=$(HOST)—-build=$(BUILD)——prefix=$(PREFIX)-—disable-esd--disable—video—di-rectfb;make;make install。

      audiofile编译命令行:./configure-—host=$(HOST)-—build=$(BUILD)—-prefix=$(PREFIX)—-disable-esd——disable—video—di-rectfb;make;make installesound编译命令行:./configure-—host=$(HOST)——build=$(BUILD)—prefix=$(PREFIX)--disable-esd--disable-video-di-rectfb;make;make installSDL编译命令行:./configure--host=$(HOST)--build=$(BUILD)——prefix=$(PREFIX)—-with-esd—exec-prefix=$(PREFIX)——disable—video-directfb;make;make installsdl_image编译命令行:./configure——host=$(HOST)--build=$(BUILD)——prefix=$(PREFIX)--with—sdl-exec—prefix=$(PREFIX)——enable-sdhest;make;make install.sdl_tff编译命令行:./configure--host=$(HOST)—-build=$(BUILD)——prefix=$(PREFIX)——with-freetype-exec—prefix=$(PREFIX);make;make install。

      sdl_draw编译命令行:./configure-host=$(HOST)——build=$(BUILD)prefix=$(PREFIX)-—with—sdl—exec—prefix=$(PREFIX);make;make installsdl_mixer编译命令行:./configure-—host=$(HOST)—-build=$(BUIUD)—-prefix=$(PREFIX)-—with—sdl-exec-prefix=$(PREFIX);make;make installsdl_mad编译命令行:./configure--host=$(HOST)——build$(B。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.