arm9编程.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于 ARM9 的贪吃蛇游戏 摘要 本课程设计是使用我们学习过的嵌入式系统的有关知识,在 ARM9 嵌入式硬件开发平台和μC/OS-II 的软件开发框架下,实现一个还有 AD 转换,按键,LCD等硬件功能的实时多任务的简单贪吃蛇的设计。文中首先μC/OSII 系统和 ARM9进行了介绍,然后对设计要求进行分析,给出了系统总体上设计,并对各个功能模块进行了介绍,紧接着给出了 系统软件设计,最后介绍了系统的调试方法和测试结果。关键词:μC/OS ARM9 嵌入式 贪吃蛇一 开发环境简介 1、μC /OS-II 操作系统 μC/OS-II 是一种可移植的,可植入 ROM 的,可裁剪的,抢占式的,实时多任务操作系统内核。它被广泛应用于微处理器、微控制器和数字信号处理器。uC/OS-II 只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于 uC/OS-II 良好的可扩展性和源码开放,这些非必须的功能完全可以由用户自己根据需要分别实现。 uC/OS-II 目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等 μC/OS-II 是专门为计算机的嵌入式应用设计的, 绝大部分代码是用 C 语言编写的。 CPU 硬件相关部分是用汇编语言编写的、总量约 200 行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的 CPU 上。 μC /OS-II 中最多可以支持 64 个任务,分别对应优先级 0~63,其中 0 为最高优先级。63 为最低级,系统保留了 4 个最高优先级的任务和 4 个最低优先级的任务,所有用户可以使用的任务数有 56 个,每个任务都有不同的优先级,用户在创建任务的时候定义该任务的优先级。μC/OS 操作系统中每个任务可以有 5 种状态:休眠态、就绪态、运行态、等待或挂起状态、中断态,在任一个时候,任务的状态一定是这 5 种状态之一。任务在等待消息、邮箱或者信号量等事件的到来的时候会进入挂起状态,当任务接到消息以后,则处于就绪状态。 uC/OS-II 的时间管理是通过定时中断来实现的,该定时中断一般为 10毫秒或 100 毫秒发生一次,时间频率取决于用户对硬件系统的定时器编程来实现。中断发生的时间间隔是固定不变的,该中断也成为一个时钟节拍。 uC/OS-II 要求用户在定时中断的服务程序中,调用系统提供的与时钟节拍相关的系统函数,例如中断级的任务切换函数,系统时间函数。在 ANSI C 中是使用 malloc 和 free 两个函数来动态分配和释放内存。但在嵌入式实时系统中,多次这样的操作会导致内存碎片,且由于内存管理算法的原因,malloc 和 free 的执行时间也是不确定。 uC/OS-II 中把连续的大块内存按分区管理。每个分区中包含整数个大小相同的内存块,但不同分区之间的内存块大小可以不同。用户需要动态分配内存时,系统选择一个适当的分区,按块来分配内存。释放内存时将该块放回它以前所属的分区,这样能有效解决碎片问题,同时执行时间也是固定的。 对一个多任务的操作系统来说,任务间的通信和同步是必不可少的。uC/OS-II 中提供了 4 种同步对象,分别是信号量,邮箱,消息队列和事件。所有这些同步对象都有创建,等待,发送,查询的接口用于实现进程间的通信和同步。uC/OS-II 采用的是可剥夺型实时多任务内核。可剥夺型的实时内核在任何时候都运行就绪了的最高优先级的任务。 uC/os-II 的任务调度是完全基于任务优先级的抢占式调度,也就是最高优先级的任务一旦处于就绪状态,则立即抢占正在运行的低优先级任务的处理器资源。为了简化系统设计,uC/OS-II 规定所有任务的优先级不同,因为任务的优先级也同时唯一标志了该任务本身。 随着信息化技术的发展和数字化产品的普及,以计算机技术、芯片技术和软件技术为核心的嵌入式系统再度成为当前研究和应用的热点。 对功能、可靠性、成本、体积和功耗严格要求的嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,其中嵌入式微处理器和嵌入式操作系统分别是其硬件和软件的核心。 ARM 处理器由于其具有小体积、低功耗、低成本、高性能等特点,广泛应用在 16/32 位嵌入式 RISC 解决方案中,几乎占有嵌入式微处理器市场分额的 75 ,本文选定三星公司生产的一款基于 ARM920T 核的高性能低功耗SOC 芯片 S3C2410 作为移植方案的硬件平台。 市场上主流的嵌入式实时操作系统有 V

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档