




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
xxxxxxxxxxxxx学院嵌入式系统课程设计报告 基于S3C2410A的游戏机设计 系 别: 专 业: 学 号: 姓 名: 指导教师: 10摘 要嵌入式系统是体现近年来微电子技术及计算机技术发展的高科技应用系统,以应用为中心,以计算机技术为基础,软件硬件可裁剪,满足应用系统对功能、可靠性、成本、体积、功耗等有特殊要求的专用计算机系统Linux在嵌入式领域中的应用也越来越广。选用Linux作为平台,可以根据具体需要自由地裁减源码,打造适合目标平台的环境,编写最有效率的应用程序。与其他嵌入式平台类似,基于ARM架构的嵌入式系统有以下特点:(1)是“类计算机系统”;(2)面向特定应用的;(3)更注重低功耗、低成本;(4)升级较慢;(5)具有固化的代码;(6)系统开发需要专用开发工具和环境;(7)软件需要RTOS开发平台;(8)开发人员应具备电路专业知识;(9)是开放性的知识集成系统。随着微处理器性能的提升,现在的微处理器已经可以支撑游戏模拟器的运行,用户可以选择在非 PC 平台下操作街机游戏以及 20 世纪 90 年代需要 PC 机才能运行的游戏节目,这无疑提升了游戏硬件平台移动性。电子游戏业将是这一技术进步的最大受益者。目前,在一 个配有 LCD 图形界面和 32 位 ARM 微处理器的移动平台上,甚至可以实现最早出现在 PC 机上3D游戏。本文介绍利用ARM嵌入式系统平台(内置 S3C2410A 核心微处理器),将开源游戏模拟器 Visual Boy Advance(VBA )的代码移植到微处理器上的方法。SDL (Simple DirectMedia Layer)是一个自由的、跨平台的多媒体开发包,现在广泛应 用于游戏、游戏 SDK、模拟器、MPEG 播放器和其他众多的软件设计领域。特别是,SDL(Simple DirectMedia Layer)在游戏开发领域已经得到了广泛的认可,许多著名的游戏都用到了 SDL开发包,其中最著名的是赢得 LINUX组游戏开发大奖的“文明:权利的召唤(Civilization: Call To Power )”。关键词:嵌入式系统 ARM嵌入式系统平台 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 设计总结 参考资料 附录 一、设计任务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、系统支持ftp服务器运行。6、VBA能够模拟游戏的运行。二、 基于ARM架构的嵌入式系统简介嵌入式系统是体现近年来微电子技术及计算机技术发展的高科技应用系统,它是面向特定应用的,为人们设计了极为简便却仍具有标准PC 机功能的设备,给人们的生产与生活带来了极大的便利与丰富的乐趣。英国的电气工程师学会(IEE)对嵌入式系统的定义是用来控制、监视或辅助设备、机器和工厂运行的装置。在32位嵌入式处理器市场中,ARM处理器占有很大的份额。ARM 架构是ARM(Advanced RISC Machine)公司开发的一种高性能低功耗微处理器的体系结构设计,有一系列不同的版本。ARM不仅是一个公司、一种技术,也是一种经营理念,即ARM 架构的嵌入式微处理器都是各芯片厂商根据ARM 公司出售的知识产权(IP)核生产的,拥有众多的系列类型,都具有ARM 微处理器的共同特点。以 S3C2410 微处理器为硬件核心的嵌入式系统具有体积小、低功耗、低成本、高性能等特点,且支持Thumb(16 位)/ARM(32 位)双指令集,指令执行速度更快。由于存储空间等原因,在嵌入式芯片上编程有较大的困难,选取合适的平台就显得很重要。Linux自出现以来,得到了迅猛的发展。Linux是开放源码的操作系统,吸引着全世界的程序员参与到发展和完善的工作中来,所以Linux保持了稳定而且卓越的性能。Linux在服务器领域已经占有很大的份额,在图形界面方面也不输于Windows。由于源码可以修改、移植,Linux在嵌入式领域中的应用也越来越广。选用Linux作为平台,可以根据具体需要自由地裁减源码,打造适合目标平台的环境,编写最有效率的应用程序。与其他嵌入式平台类似,基于ARM架构的嵌入式系统有以下特点:(1)是“类计算机系统”;(2)面向特定应用的;(3)更注重低功耗、低成本;(4)升级较慢;(5)具有固化的代码;(6)系统开发需要专用开发工具和环境;(7)软件需要RTOS开发平台;(8)开发人员应具备电路专业知识;(9)是开放性的知识集成系统三、嵌入式程序的设计原理3.1 BootLoader的应用BootLoader 是在系统上电以后引导操作系统内核运行的一段小程序,它类似于PC 机上的BIOS 程序。通过这段小程序来初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境配置到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。通常,BootLoader是依赖于具体的硬件来实现的,在嵌入式应用系统中,BootLoader不但依赖于CPU的体系结构,而且依赖于嵌入式系统板级设备的配置。U-Boot就同时支持PowerPC、ARM、MIPS和X86等体系结构,在U-Boot-1.2.0版本中已经支持的电路板就有218种。事实上,一个功能完善的BootLoader已经相当于一个微型的操作系统了,话虽这样说,它仍没有像微型操作系统那样复杂,甚至还比不上PC机的BIOS程序规模大。大多数功能比较完善的BootLoader 程序都包含两种不同的操作模式:“正常启动”模式与“下载更新”模式,主要功能有:初始化系统在启动阶段必需的硬件设备;准备后续软件系统(如操作系统)运行所需的软件环境,比如复制一部分代码到RAM 中等;向内核传递启动参数;配置系统各种参数可选;支持各种协议来下载BootLoader、内核、文件系统等可选;在线烧写系统firmware,如启动参数、BootLoader、内核、文件系统等可选;支持在线调试可选;引导内核启动。试验箱原始bootloader为现在较少使用的vivi。3.2 Linux内核的应用在嵌入式系统应用中有三个基础组成部分(分别是BootLoader、Linux 内核及根文件系统),Linux 内核的使用是其中最重要的一项。内核是所有linux 系统的中心软件组件。嵌入式领域所说的linux,一般是指linux 内核。在使用Linux 内核时,需要针对具体的微处理器配置、编译Linux 内核,之后才能将得到的内核映像文件下载到目标平台运行。在嵌入式领域,Linux 2.6 除了提高了实时响应性能、系统移植的便捷性以外,还添加了新的体系结构和处理器类型,其中包括对没有硬件控制内存管理方案的MMU-less 系统的支持,比如Linux2.6 内核开始支持m68k 等不带MMU 的微控制器。此外,Linux2.6 内核已经可以支持大容量内存模型、更多的微控制器,同时还改善了IPO 子系统,增添更多的多媒体应用功能。三星公司针对s3c2410 芯片推出了smdk2410 demo 板,Linux 内核对该开发板的支持非常完善。为了移植方便,并最大可能地实现代码重用,可以选择该开发板作为原始目标板,在它的基础上进行必要的修改。系统应用平台硬件配置的变化往往需要Linux 内核的配置也相应的改变,以使Linux 内核能够适应硬件电路,通过修改相应的Makefile 文件可以配置编译工具。以试验箱自带配置编译好的内核下载应用为例说明下载过程如下: 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 分钟左右root.cramfs 烧写完毕。3.3根文件系统的应用嵌入式系统应用中的根文件系统是内核启动时首先需要加载的文件系统,可以为用户提供人机交互的界面(shell),它与前面介绍的BootLoader、Linux 内核一起为嵌入式系统提供一个完整的应用环境。Linux内核在系统启动期间进行的最后操作之一就是安装根文件系统,在系统启动时,所有其它的文件系统都被加载(mounted)到根文件系统。根文件系统存储在一定类型的存储介质上,是一个具有层次关系的目录树。在不同计算机平台上的根文件系统的具体内容有所不同,但是它们都包含一些必要的文件,这些文件可以用来启动系统,还可以用来引导系统到挂载其它文件系统的状态,由这些必要的文件实现的一个最小系统集主要包括根目录、/boot、/dev、/etc、/bin、/sbin、/tmp等目录。根文件系统直接影响着系统能否从磁盘正常引导并运行,保持根文件系统的规模最小,即是shell命令、库文件、启动文件以及相应目录的最小集,最小规模的、不会频繁修改的文件系统才能使系统平稳运行。常见的文件系统包括EXT2文件系统、JFFS2文件系统、YAFFS文件系统等。试验箱原根文件系统下载过程如下:viviload flash root x 回车,当出现“Ready for downloading using xmodem.Waiting.”点击超级终端任务栏上“传送”下拉菜单中的“发送文件”,选择好镜像文件root.cramfs,协议为Xmodem,点击“发送” ,8 分钟左右root.cramfs 烧写完毕。3.4 YAFFS应用程序的下载试验箱所配备的yaffs文件系统下载过程如下:用网线连接好 2410-S 试验箱的网口和PC 机的网口,配置IP 在同一网段,重启2410-S 进入目录/mnt/yaffs下。/mnt/yaffsifconfig 查看IP/mnt/yaffsifconfig eth0 11 配置eth0 ip/mnt/yaffsinetd 启动ftp打开ftp 软件(在光盘中flashvivi 目录中提供),11,用户名: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-NETARM2410-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播放视频文件在 /mnt/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建立超级终端:运行Windows 系统下(以 WindowsXP 为例)开始 所有程序附件通讯超级终端(HyperTerminal)。 在 windows xp 操作系统下,当初次建立超级终端的时候,会出现如图1对话框,请在中打上,并选择“否”。 图1 图2新建一个通信终端。如果要求输入区号、电话号码等信息请随意 输入,出现如图 2 所示对话框时,为所建超级终端取名为 arm,可以为其选一个图标。单击“确定”按钮。在接下来的对话框中选择ARM开发平台实际连接的PC机串口(如COM1),按确定后出现如图 3 所示的属性对话框,设置通信的格式和协议。这里波特率为 115200,数据位 8,无奇偶校验,停止位 1,无数据流控制。按确定完成设置。图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系统;输入“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系统内核; root.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:WINDOWSGIVEIOgiveio.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(kernel) 复位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.cramfs,协议为Xmodem,点击“发送 ,7分钟左右root.cramfs烧写完毕。到此,就可以正常启动linux系统了。 5.7 上传应用程序: 配置网络服务 用网线连接好2410S的NIC-1口和PC机的网口,配置IP在同一网段,重启2410s进入/mnt/yaffs下。 /mnt/yaffsifconfig 查看IP /mnt/yaffsifconfig eth0 11 配置eth0 ip /mnt/yaffsinetd 启动网络服务 同时,pc的网口ip配置和2410S的eth0的ip要在同一网段,以保证正常通讯。 上传 “yaffs.tar.bz2” 打开如图ftp软件(在光盘中flashvivi目录中提供),点击右半部 工具栏中红色闪电图标,此时打开了 “Quick Connect”,11,用户名: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.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,12164288存放root,其余部分存放应用程序。 这时已格式化flash,千万不要重启2410-S,否则vivi将丢失。 viviload flash vivi x 回车
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年南昌市市级机关公开遴选考试真题
- 2025北京华商电力产业发展有限公司2025年搞笑毕业生招聘29人(第三批)模拟试卷及答案详解(新)
- 2025年第2批次浙江宁波前湾产业集团有限公司招聘9人考前自测高频考点模拟试题及一套答案详解
- 2025鄂尔多斯市伊金霍洛旗发展改革和科学技术局招聘公益性岗位人员的模拟试卷有答案详解
- 2025安徽阜阳市界首市“政录企用”人才引进8人模拟试卷及答案详解参考
- 2025年福建省水利水电科学研究院招聘博士研究生2人模拟试卷及答案详解(考点梳理)
- 发动机车间能源管理系统技术协议书6篇
- 2025年太阳能热发电系统项目建议书
- 2025年福建省厦门中烟益升华滤嘴棒有限责任公司招聘12人考前自测高频考点模拟试题及答案详解(历年真题)
- 2025河南郑州阳城医院招聘25名模拟试卷及答案详解(必刷)
- 2025内蒙古呼伦贝尔扎兰屯市招聘社区工作者16人备考考试题库附答案解析
- 2025年国家能源集团宁夏煤业有限责任公司招聘笔试考试题库+答案
- 姬松茸的课件
- 父母情+养育恩-2025-2026学年高二上学期感恩教育主题班会
- 2025年物流行业审核合规性提升方案
- 台球厅吸引人活动方案
- 架空输电线路线路检测质量缺陷及预控措施
- 人工智能与核医学的深度融合与应用探索
- 女生青春期性教育核心知识框架
- 日常膝关节护理
- 船舶消防救生培训课件
评论
0/150
提交评论