嵌入式系统课程设计报告基于s3c2410a的游戏机设计.doc

上传人:大张伟 文档编号:6070560 上传时间:2020-09-05 格式:DOC 页数:10 大小:1,000.50KB
返回 下载 相关 举报
嵌入式系统课程设计报告基于s3c2410a的游戏机设计.doc_第1页
第1页 / 共10页
嵌入式系统课程设计报告基于s3c2410a的游戏机设计.doc_第2页
第2页 / 共10页
嵌入式系统课程设计报告基于s3c2410a的游戏机设计.doc_第3页
第3页 / 共10页
嵌入式系统课程设计报告基于s3c2410a的游戏机设计.doc_第4页
第4页 / 共10页
嵌入式系统课程设计报告基于s3c2410a的游戏机设计.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《嵌入式系统课程设计报告基于s3c2410a的游戏机设计.doc》由会员分享,可在线阅读,更多相关《嵌入式系统课程设计报告基于s3c2410a的游戏机设计.doc(10页珍藏版)》请在三一文库上搜索。

1、xxxxxxxxxxxxx学院嵌入式系统课程设计报告 基于S3C2410A的游戏机设计 系 别: 专 业: 学 号: 姓 名: 指导教师: 摘 要嵌入式系统是体现近年来微电子技术及计算机技术发展的高科技应用系统,以应用为中心,以计算机技术为基础,软件硬件可裁剪,满足应用系统对功能、可靠性、成本、体积、功耗等有特殊要求的专用计算机系统Linux在嵌入式领域中的应用也越来越广。选用Linux作为平台,可以根据具体需要自由地裁减源码,打造适合目标平台的环境,编写最有效率的应用程序。与其他嵌入式平台类似,基于ARM架构的嵌入式系统有以下特点:(1)是“类计算机系统”;(2)面向特定应用的;(3)更注重

2、低功耗、低成本;(4)升级较慢;(5)具有固化的代码;(6)系统开发需要专用开发工具和环境;(7)软件需要RTOS开发平台;(8)开发人员应具备电路专业知识;(9)是开放性的知识集成系统。随着微处理器性能的提升,现在的微处理器已经可以支撑游戏模拟器的运行,用户可以选择在非 PC 平台下操作街机游戏以及 20 世纪 90 年代需要 PC 机才能运行的游戏节目,这无疑提升了游戏硬件平台移动性。电子游戏业将是这一技术进步的最大受益者。目前,在一 个配有 LCD 图形界面和 32 位 ARM 微处理器的移动平台上,甚至可以实现最早出现在 PC 机上3D游戏。本文介绍利用ARM嵌入式系统平台(内置 S3

3、C2410A 核心微处理器),将开源游戏模拟器 Visual Boy Advance(VBA )的代码移植到微处理器上的方法。SDL (Simple DirectMedia Layer)是一个自由的、跨平台的多媒体开发包,现在广泛应 用于游戏、游戏 SDK、模拟器、MPEG 播放器和其他众多的软件设计领域。特别是,SDL(Simple DirectMedia Layer)在游戏开发领域已经得到了广泛的认可,许多著名的游戏都用到了 SDL开发包,其中最著名的是赢得 LINUX组游戏开发大奖的“文明:权利的召唤(Civilization: Call To Power )”。关键词:嵌入式系统 AR

4、M嵌入式系统平台 ARM微处理器 电子游戏 SDL目 录一、设计任务1.1设计目的1.2设计要求 二、基于ARM架构的嵌入式系统简介 三、嵌入式程序的设计原理 3.1 BootLoader的应用 3.2 Linux内核的应用 3.3根文件系统的应用 3.4YAFFS应用程序的下载 四、使用MPLAYER播放视频文件 4.3 启动 4.2 建立超级终端 4.1 硬件连接 五、主要的设计内容 5.7 上传应用程序 5.2建立超级终端 5.3启动 5.4恢复到出厂状态 5.5 JTAG烧写vivi 5.6烧写内核和根文件系统 5.1 硬件连接 六、设计总结和心得 6.1 设计总结 参考资料 附录 一

5、、设计任务1.1 设计目的(1)巩固学习过的ARM嵌入式系统的BootLoader的应用设计(2)巩固学习过的ARM嵌入式系统的Linux内核的应用设计(3)巩固学习过的ARM嵌入式系统的根文件系统的设计(4)学习使用JTAG调试器的驱动安装及BootLoader下载(5)学习使用嵌入式Linux系统中的ftp服务器传送YAFFS应用程序(6)学习开源软件VBA的配置与编译1.2 设计要求要求:“基于S3C2410A的游戏机设计”适用1、BootLoader要能够实现便捷的人机交互界面。2、Linux内核具有基本的应用库。3、根文件系统采用CRAMFS格式。4、系统能够播放视频及音频文件。5、

6、系统支持ftp服务器运行。6、VBA能够模拟游戏的运行。二、 基于ARM架构的嵌入式系统简介嵌入式系统是体现近年来微电子技术及计算机技术发展的高科技应用系统,它是面向特定应用的,为人们设计了极为简便却仍具有标准PC 机功能的设备,给人们的生产与生活带来了极大的便利与丰富的乐趣。英国的电气工程师学会(IEE)对嵌入式系统的定义是用来控制、监视或辅助设备、机器和工厂运行的装置。在32位嵌入式处理器市场中,ARM处理器占有很大的份额。ARM 架构是ARM(Advanced RISC Machine)公司开发的一种高性能低功耗微处理器的体系结构设计,有一系列不同的版本。ARM不仅是一个公司、一种技术,

7、也是一种经营理念,即ARM 架构的嵌入式微处理器都是各芯片厂商根据ARM 公司出售的知识产权(IP)核生产的,拥有众多的系列类型,都具有ARM 微处理器的共同特点。以 S3C2410 微处理器为硬件核心的嵌入式系统具有体积小、低功耗、低成本、高性能等特点,且支持Thumb(16 位)/ARM(32 位)双指令集,指令执行速度更快。由于存储空间等原因,在嵌入式芯片上编程有较大的困难,选取合适的平台就显得很重要。Linux自出现以来,得到了迅猛的发展。Linux是开放源码的操作系统,吸引着全世界的程序员参与到发展和完善的工作中来,所以Linux保持了稳定而且卓越的性能。Linux在服务器领域已经占

8、有很大的份额,在图形界面方面也不输于Windows。由于源码可以修改、移植,Linux在嵌入式领域中的应用也越来越广。选用Linux作为平台,可以根据具体需要自由地裁减源码,打造适合目标平台的环境,编写最有效率的应用程序。与其他嵌入式平台类似,基于ARM架构的嵌入式系统有以下特点:(1)是“类计算机系统”;(2)面向特定应用的;(3)更注重低功耗、低成本;(4)升级较慢;(5)具有固化的代码;(6)系统开发需要专用开发工具和环境;(7)软件需要RTOS开发平台;(8)开发人员应具备电路专业知识;(9)是开放性的知识集成系统三、嵌入式程序的设计原理3.1 BootLoader的应用BootLoa

9、der 是在系统上电以后引导操作系统内核运行的一段小程序,它类似于PC 机上的BIOS 程序。通过这段小程序来初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境配置到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。通常,BootLoader是依赖于具体的硬件来实现的,在嵌入式应用系统中,BootLoader不但依赖于CPU的体系结构,而且依赖于嵌入式系统板级设备的配置。U-Boot就同时支持PowerPC、ARM、MIPS和X86等体系结构,在U-Boot-1.2.0版本中已经支持的电路板就有218种。事实上,一个功能完善的BootLoader已经相当于一个微型的操作系统

10、了,话虽这样说,它仍没有像微型操作系统那样复杂,甚至还比不上PC机的BIOS程序规模大。大多数功能比较完善的BootLoader 程序都包含两种不同的操作模式:“正常启动”模式与“下载更新”模式,主要功能有:初始化系统在启动阶段必需的硬件设备;准备后续软件系统(如操作系统)运行所需的软件环境,比如复制一部分代码到RAM 中等;向内核传递启动参数;配置系统各种参数可选;支持各种协议来下载BootLoader、内核、文件系统等可选;在线烧写系统firmware,如启动参数、BootLoader、内核、文件系统等可选;支持在线调试可选;引导内核启动。试验箱原始bootloader为现在较少使用的vi

11、vi。3.2 Linux内核的应用在嵌入式系统应用中有三个基础组成部分(分别是BootLoader、Linux 内核及根文件系统),Linux 内核的使用是其中最重要的一项。内核是所有linux 系统的中心软件组件。嵌入式领域所说的linux,一般是指linux 内核。在使用Linux 内核时,需要针对具体的微处理器配置、编译Linux 内核,之后才能将得到的内核映像文件下载到目标平台运行。在嵌入式领域,Linux 2.6 除了提高了实时响应性能、系统移植的便捷性以外,还添加了新的体系结构和处理器类型,其中包括对没有硬件控制内存管理方案的MMU-less 系统的支持,比如Linux2.6 内核

12、开始支持m68k 等不带MMU 的微控制器。此外,Linux2.6 内核已经可以支持大容量内存模型、更多的微控制器,同时还改善了IPO 子系统,增添更多的多媒体应用功能。三星公司针对s3c2410 芯片推出了smdk2410 demo 板,Linux 内核对该开发板的支持非常完善。为了移植方便,并最大可能地实现代码重用,可以选择该开发板作为原始目标板,在它的基础上进行必要的修改。系统应用平台硬件配置的变化往往需要Linux 内核的配置也相应的改变,以使Linux 内核能够适应硬件电路,通过修改相应的Makefile 文件可以配置编译工具。以试验箱自带配置编译好的内核下载应用为例说明下载过程如下

13、: viviload flash kernel x 回车,当出现“Ready for downloading using xmodem.Waiting.”点击超级终端任务栏上“传送”下拉菜单中的“发送文件”,选择好镜像文件zImage,Enter,协议为Xmodem,点击“发送”,4 分钟左右zImage 烧写完毕;viviload flash root x 回车,当出现“Ready for downloading using xmodem.Waiting.”点击超级终端任务栏上“传送”下拉菜单中的“发送文件”,选择好镜像文件root.cramfs,协议为Xmodem,点击“发送” ,8 分钟

14、左右root.cramfs 烧写完毕。3.3根文件系统的应用嵌入式系统应用中的根文件系统是内核启动时首先需要加载的文件系统,可以为用户提供人机交互的界面(shell),它与前面介绍的BootLoader、Linux 内核一起为嵌入式系统提供一个完整的应用环境。Linux内核在系统启动期间进行的最后操作之一就是安装根文件系统,在系统启动时,所有其它的文件系统都被加载(mounted)到根文件系统。根文件系统存储在一定类型的存储介质上,是一个具有层次关系的目录树。在不同计算机平台上的根文件系统的具体内容有所不同,但是它们都包含一些必要的文件,这些文件可以用来启动系统,还可以用来引导系统到挂载其它文

15、件系统的状态,由这些必要的文件实现的一个最小系统集主要包括根目录、/boot、/dev、/etc、/bin、/sbin、/tmp等目录。根文件系统直接影响着系统能否从磁盘正常引导并运行,保持根文件系统的规模最小,即是shell命令、库文件、启动文件以及相应目录的最小集,最小规模的、不会频繁修改的文件系统才能使系统平稳运行。常见的文件系统包括EXT2文件系统、JFFS2文件系统、YAFFS文件系统等。试验箱原根文件系统下载过程如下:viviload flash root x 回车,当出现“Ready for downloading using xmodem.Waiting.”点击超级终端任务栏上

16、“传送”下拉菜单中的“发送文件”,选择好镜像文件root.cramfs,协议为Xmodem,点击“发送” ,8 分钟左右root.cramfs 烧写完毕。3.4 YAFFS应用程序的下载试验箱所配备的yaffs文件系统下载过程如下:用网线连接好 2410-S 试验箱的网口和PC 机的网口,配置IP 在同一网段,重启2410-S 进入目录/mnt/yaffs下。/mnt/yaffsifconfig 查看IP/mnt/yaffsifconfig eth0 192.168.0.111 配置eth0 ip/mnt/yaffsinetd 启动ftp打开ftp 软件(在光盘中flashvivi 目录中提供

17、),192.168.0.111,用户名:root,密码:无,连接进入ftp,上传“yaffs.tar”到2410-S 的/var 下,3 分钟左右上传完毕。这时千万不要重启 2410-S/mnt/yaffscd . 转换到/mnt 下/mntrm -rf yaffs/* 删除/yaffs 下文件/mntcd /var 转到var 目录下/vartar xjvf yaffs.tar.bz2 -C /mnt/yaffs 解压yaffs.tar.bz2 到mnt/yaffs 目录下,需3 分钟左右。四、使用MPLAYER播放视频文件4.1 硬件连接连接电源,将5V电源线的连到UP-NETARM241

18、0-S的电源接口;连接串口线,一端连接PC的串口,另一端连接到UP-NETARM2410-S的串口(上面的);连接网线,将随机附带的交叉网线把UP-NETARM2410-S靠近于电源接口的网口和PC机的网口连接好。4.2 建立超级终端在Windows 系统下,开始所有程序附件通讯超级终端,选择ARM 开发平台实际连接的PC 机串口(COM1),设置属性为波特率115200、数据位8、无奇偶校验、停止位1、无数据流控制。4.3 启动打开电源开关,系统由VIVI开始引导,超级终端会显示启动信息,输入“boot”后会引导kernel,启动linux系统。4.4 使用MPLAYER播放视频文件在 /m

19、nt/yaffs/mplayer 路径下输入“ls”命令可查看到mplayer、mplayer2、test.avi三个文件,继续在该路径下输入“mplayer test.avi”命令可以看到原始的视频,输入“mplayer2 test.avi”命令可以看到全屏的视频。五、主要的设计内容5.1 硬件连接: 连接电源,将5V电源线的连到UP-NETARM2410-S的电源接口;连接串 口线,一端连接PC的串口,另一端连接到UP-NETARM2410-S的串口(上 面的);连接网线,将随机附带的交叉网线把UP-NETARM2410-S靠近于 电源接口的网口和PC机的网口连接好。 5.2建立超级终端:

20、运行Windows 系统下(以 WindowsXP 为例)开始 所有程序附件通讯超级终端(HyperTerminal)。 在 windows xp 操作系统下,当初次建立超级终端的时候,会出现如图1对话框,请在中打上,并选择“否”。 图1 图2新建一个通信终端。如果要求输入区号、电话号码等信息请随意 输入,出现如图 2 所示对话框时,为所建超级终端取名为 arm,可以为其选一个图标。单击“确定”按钮。在接下来的对话框中选择ARM开发平台实际连接的PC机串口(如COM1),按确定后出现如图 3 所示的属性对话框,设置通信的格式和协议。这里波特率为 115200,数据位 8,无奇偶校验,停止位 1

21、,无数据流控制。按确定完成设置。图3 图4完成新建超级终端的设置以后,可以选择超级终端文件菜单中的另存为,把设置好的超级终端保存在桌面上,以备后用。用串口线将PC机串口和平台UART0 正确连接后,就可以在超级终端上看到程序输出的信息了。 5.3启动:打开电源开关,系统会由VIVI开始引导。正常启动时会显示启动信息到“Press Return to start the LINUX now, any other key for vivi”,不进行任何操作等待30S或按回车则启动进入linux系统,按除回车键外的其它键则进入vivi控制台,如图5.3.1。在这里输入“boot”,进入LINUX系统

22、;输入“bootucos”进入ucos系统。 输入“boot”后会引导kernel,启动linux系统,见图5.是在应用程序目录下,可以通过“ls”查看,如图6: 图 5 图65.4恢复到出厂状态 在windows xp下进行,需要的文件在光盘中的Linux-V6.0img目 录和Linux-V6.0img flashvivi目录下提供。烧写2410S linux 操作系统包括烧写vivi,kernel,root三个步骤,除此我们还要烧写yaffs.tar,这四个文件在Linux-V6.0img目录中。 vivi -linux系统的bootloader; zImage-linux系统内核; r

23、oot.cramfs-根文件系统; yaffs.tar-应用程序 5.5 JTAG烧写vivi: 把并口线插到pc机的并口,并把并口与JTAG相连,JTAG与开发板的14针JTAT口相连,打开2410S. 把整个GIVEIO目录(在Linux-V6.0img flashvivi目录下)拷贝到C:WINDOWS下,并把该目录下的giveio.sys文件拷贝到 c:/windows/system32/drivers下。 在控制面板里,选添加硬件下一步选是我已经连接了此硬件下一步选中添加新的硬件设备下一步选中安装我手动从列表选择的硬件下一步选择显示所有设备选择从磁盘安装-浏览,指定驱动为C:WIND

24、OWSGIVEIOgiveio.inf文件,点击确定,安装好驱动 在d盘新建一目录bootloader,把sjf2410-s(在Linux-V6.0img flashvivi目录下)和要烧写的vivi拷贝到该目录下,在程序附件msdos下,进入该目录,运行sjf2410-s命令如下:sjf2410-s /f:vivi在此后出现的三次要求输入参数,第一次是让选择Flash,选0;第二次是选择jtag对flash的两种功能,也选0;第三次是让选择起始地址,选0此后就等待大约35分钟的烧写时间,当VIVI 烧写完毕后选择参数2, 退出烧写。 5.6烧写内核和根文件系统: 烧写内核zImage(ker

25、nel) 复位2410-s,进入VIVI。 viviload flash kernel x 回车 当出现Ready for downloading using xmodem.如图7 图7 图8点击超级终端任务栏上“传送”下拉菜单中的“发送文件”,选择好镜像文件zImage,Enter,协议为Xmodem,点击“发送”,4分钟左右zImage烧写完毕; 烧写根文件系统(root) viviload flash root x 回车 当出现Ready for downloading using xmodem.如图9 点击超级终端任务栏上“传送”下拉菜单中的“发送文件”,选择好镜像文件root.cra

26、mfs,协议为Xmodem,点击“发送 ,7分钟左右root.cramfs烧写完毕。到此,就可以正常启动linux系统了。 5.7 上传应用程序: 配置网络服务 用网线连接好2410S的NIC-1口和PC机的网口,配置IP在同一网段,重启2410s进入/mnt/yaffs下。 /mnt/yaffsifconfig 查看IP /mnt/yaffsifconfig eth0 192.168.0.111 配置eth0 ip /mnt/yaffsinetd 启动网络服务 同时,pc的网口ip配置和2410S的eth0的ip要在同一网段,以保证正常通讯。 上传 “yaffs.tar.bz2” 打开如图f

27、tp软件(在光盘中flashvivi目录中提供),点击右半部 工具栏中红色闪电图标,此时打开了 “Quick Connect”,192.168.0.111,用户名:root,密码:无,连接进入ftp,右键左边列出文件中的“yaffs.tar.bz2”,点击TRANSFER,上传“yaffs.tar”到2410-S的/var下,3分钟左右上传完毕。/var是虚拟目录,所以这时2410-S不能掉电 图9 图10 /mnt/yaffscd . 转换到/mnt下 /mntrm -rf yaffs/* 删除yaffs下文件 /mntcd /var 转到var目录下 /vartar xjvf yaffs.

28、tar.bz2r -C /mnt/yaffs 解压yaffs-2410s-1.0.tar到mnt/yaffs目录下 需 5 分钟左右. 解压缩结束后,应用程序都存放在/mnt/yaffs 下了。 FLASH格式化: 在进行恢复操作是一般不需要格式化FLASH,如果特殊性况下需要格式化可以按以下操作进行。打开超级终端,启动2410S,进入vivi控制台 ,按照以下命令 重新分区: vivibon part 0 128k 192k 1216k 4288k:m 64704k 这步操作同时进行了分区和格式化,0128存放vivi,128192存放VIVI控制台指令,1921216存放kernel,12

29、164288存放root,其余部分存放应用程序。 这时已格式化flash,千万不要重启2410-S,否则vivi将丢失。 viviload flash vivi x 回车 当出现Ready for downloading using xmodem.如图10 ,这时点击超级终端任务栏上“传送”下拉菜单中的“发送文件”,选择好镜像文件vivi,协议为Xmodem,点击“发送通过串口 重新烧录一遍,至此你的vivi就烧写到flash里了。此时掉电也不会丢失VIVI。 下面只需执行第2、3步便可恢复出场状态,如果格式化后掉电丢失VIVI,则要执行第1、2、3步来恢复。六、 设计总结和心得6.1 设计总

30、结 这次嵌入式课程设计,老师提供给我们两个设计题目“基于S3C2410A的游戏机设计”和“基于SKYEYE的嵌入式系统仿真”。我们选择完成第一个设计。基于ARM架构的嵌入式系统有以下特点:(1)是“类计算机系统”;(2)面向特定应用的;(3)更注重低功耗、低成本;(4)升级较慢;(5)具有固化的代码;(6)系统开发需要专用开发工具和环境;(7)软件需要RTOS开发平台;(8)开发人员应具备电路专业知识;(9)是开放性的知识集成系统。经过对实验手册和设计指导的研究,最终基本实现了设计要求:1、BootLoader要能够实现便捷的人机交互界面。2、Linux内核具有基本的应用库。3、根文件系统采用

31、CRAMFS格式。4、系统能够播放视频及音频文件。5、系统支持ftp服务器运行。6、VBA能够模拟游戏的运行。6.2 设计心得这次课程设计,让我有机会对所学的嵌入式课程的理论知识有了更进一步的了解,并且把嵌入式开发流程的主要步骤又温习了一遍。在设计过程中遇到了一些看似不大却也很难解决设计问题,最后这些问题在老师和同学的帮助下还是解决了。我深知嵌入式是一门实践性非常强的课程与技术,我对嵌入式这方面的知识比较生疏,设计开发方面更是微乎其微,但通过这次课程设计,我明白了这门课程的重要性,如果以后有机会我还会去学习嵌入式方面的知识,完善自己的知识层面。参考资料1、嵌入式系统应用基础PDF2、2410-S快速开始手册3、2410-S实验指导书20061.07.06附录主要软件:VMware Workstation,Redhat Enterprise Linux Advanced Server 4,U-Boot,SKYEYE,Linux2.6,BusyBox

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1