基于μCOS-II的电子词典设计与实现.doc

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于μCOS-II的电子词典设计与实现

目录 1系统定义与需求分析 3 1.1系统定义 3 1.1.1任务功能描述 3 1.1.2 任务的优先级分配 4 1.1.3 任务间同步与通信的规则 4 1.2 系统配置 4 2详细设计 6 2.1 系统移植 6 2.1.1移植OS_CPU.H 6 2.1.2 移植OS_CPU_C.C 7 2.2 最小系统的运行调试 10 2.2.1 保证编译正确,系统启动正确 11 2.2.2调试OS_ENTER_CRITICAL()··· 11 2.2.3 调试OSStartHighRdy() 12 2.2.4 调试OSCtxSw() 12 2.2.5 调节时钟节拍 13 2.2.6 调试OSIntCtxSw()和OsTickISR() 14 3 驱动程序的设计与调试 15 3.1 基于μC/OS-II的中断设计 15 3.2 基于μC/OS-II的设备驱动程序设计 15 3.3 基于μC/OS-II的设备驱动程序测试 16 4 系统集成与功能测试 17 4.1 初始化任务 17 4.2 键盘处理任务 18 4.3 触摸屏处理任务 23 4.4 系统集成测试 35 5参考文献 38 1系统定义与需求分析 1.1系统定义 电子词典是一个典型的由外部输入驱动的开环系统,由键盘或触摸屏输入信息,处理器根据输入的信息在LCD显示屏上显示相应的内容,显示完成之后系统进入空闲状态等待下一次输入。根据这一处理过程,讲电子词典应用分为3个主任务——主执行任务,键盘任务,触摸屏任务。系统的总体设计如图1-1所示。 Main()函数 图1-1 μC/OS-II系统总是从main()函数开始,通常在main()函数中指创建一个用户任务,即初始化任务,这样设计有利于系统管理,而且结构也会更清晰。在初始化任务中启动时钟节拍,创建各个任务以及要用到的信号量或消息。 1.1.1任务功能描述 在电子词典设计中,键盘任务和触摸屏任务负责采集输入信号,并将其转换为键值告知主处理任务。主处理任务负责根据读到的键值启动相应功能。而光标任务则是用来展现时钟节拍,让目标板上的LED灯以指定的时间间隔进行闪烁。 1.1.2 任务的优先级分配 系统中的优先级分配按照最经常发生的优先级最高这一原则进行,具体分配如下: 优先级0~3:分配优先级时将最高的4个优先级留给系统用户; 优先级5:主处理任务优先级最高为5级; 优先级6:键盘的使用概率大于触摸屏,其优先级定为6级; 优先级7:触摸屏的优先级为7级; 优先级8:光标每隔一个固定的时间闪烁一次,这个时间可以由用户自定义,优先级为8级; 最低优先级-1:系统统计任务(可选); 最低优先级:系统空闲任务。 1.1.3 任务间同步与通信的规则 需要传递消息的任务是键盘与主执行任务。触摸屏与主执行任务之间传递的都是按键值,且键值不用区分来源,所以使用一个消息邮箱即可。由于任务间不存在共享互斥资源的问题,所以不需要进行任务间的同步。 键盘与触摸屏都是由外界时间触发的,可以使用中断机制设计驱动程序。在驱动程序的设计中,遵循中断中处理的时间尽量短,讲更多的事情交给任务区完成这一原则。 1.2 系统配置 μC/OS-II并不提供列斯Linux那样的命令行形式的配置方法,而是通过对配置的内容进行条件编译来实现的。这是由于μC/OS-II提供开放的源代码,用户可以直接使用#define constants语句来更改内核的很多参数。系统中提供了以下配置项: 事件标志:包括使能或禁止事件标志及其相关功能,通常以OS_FLAG_为前缀; 消息邮箱:包括使能或禁止消息邮箱及其相关功能,通常以OS_MBOX_为前缀; 内存管理:包括使能或禁止内存管理及其相关功能,目前版本中只有两个可配置项OS_MEM_EN和OS_MEM_QUERY_EN; 互斥型信号量:包括使能或禁止互斥型信号量及其相关功能,通常以OS_MUTEX_为前缀; 消息队列:包括使能或禁止消息队列及其相关功能,通常以OS_Q_为前缀; 信号量:包括使能或禁止信号量及其相关功能,通常以OS_SEM_为前缀; 任务管理:系统提供两个任务创建函数,在配置文件中至少要对其中一个进行使能,另外还包括一些对任务其他相关属性的配置,通常以OS_TASK_为前缀; 时钟管理:μC/OS-II中用户可以使用操作系统的时钟作为演示的基准,这里包括使能或禁止使用系统时钟及其相关功能,通常以OS_TIME_为前缀; 杂项:包括配置任务,事件,消息队列的最大个数,任务堆栈的容量等。 μC/OS-II内核默认的是将系统配置为最大系统,即使能所有功能,并且将认为尿素时间按等设置为最大。在电子词典的应用中,只有13个任务(5个用户任务,8个系统预留任务)、两个事件标志、一

文档评论(0)

2017meng + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档