资料介绍
本课程设计是使用我们学习过的嵌入式系统的有关知识,在 ARM9 嵌入式硬件开发平台和μC/OS-II 的软件开发框架下,实现一个还有 AD 转换,按键,LCD等硬件功能的实时多任务的简单贪吃蛇的设计。文中首先μC/OSII 系统和 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 规定所有任务的优先级不同,因为任务的优先级也同时唯一标志了该任务本身。
随着信息化技术的发展和数字化产品的普及,以计算机技术、芯片技术和软件技术为核心的嵌入式系统再度成为当前研究和应用的热点。
- 基于51单片机的贪吃蛇游戏设计 1次下载
- 基于51单片机的贪吃蛇游戏设计 2次下载
- micro:bit贪吃蛇游戏开源分享 2次下载
- 基于STM32的贪吃蛇小游戏 27次下载
- 基于stm32的贪吃蛇小游戏 21次下载
- 基于LabVIEW的贪吃蛇游戏源代码 73次下载
- 使用单片机设计一个贪吃蛇游戏的资料和程序免费下载 0次下载
- 使用51单片机实现贪吃蛇游戏的程序免费下载 14次下载
- 51单片机的贪吃蛇游戏 40次下载
- 贪吃蛇游戏设计贪吃蛇收尾基本完成 3次下载
- 贪吃蛇游戏(verilog) 50次下载
- 吴鉴鹰12864系列(连载)之基于12864的贪吃蛇游戏的设计详 7次下载
- 贪吃蛇游戏单片机程序 19次下载
- C语言教程之贪吃蛇游戏的问题 0次下载
- 吴鉴鹰12864系列(连载)之基于12864的贪吃蛇游戏的设计 41次下载
- 基于FPGA的贪吃蛇游戏设计 634次阅读
- C语言零基础项目:吃豆人小游戏!详细思路+源码分享 897次阅读
- 西门子S7-1500用SCL语言编写的俄罗斯方块和贪吃蛇程序可仿真 2437次阅读
- 「行空板Python入门教程」第六课:贪吃蛇小游戏 1474次阅读
- 基于AT89C51单片机的贪吃蛇游戏代码设计 2669次阅读
- 英创信息技术ARM9工控板远程抓拍图像应用介绍 1583次阅读
- 英创信息技术ARM9工控板在远程监控领域的应用 1360次阅读
- 英创信息技术ARM9工控主板内嵌AD概述 2132次阅读
- 如何使用ARM9芯片进行嵌入式工控机的设计 6307次阅读
- 基于嵌入式linux开发板的贪吃蛇游戏运行 9159次阅读
- 初学者是选ARM7还是ARM9?uCOS还是Linux? 7413次阅读
- ARM9入门学习心得分享 6686次阅读
- 学ARM9入门需要多久_学ARM9要看的书籍 9644次阅读
- 介绍arm9时钟与定时器 7929次阅读
- 基于ARM9和GPRS的实时电力负控管理系统的设计 2002次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多