- 1、本文档共37页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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个系统预留任务)、两个事件标志、一
您可能关注的文档
最近下载
- DB11T 383-2023 建筑工程施工现场安全资料管理规程.docx
- 2024-2025学年小学劳动三年级上册人教版《劳动教育》教学设计合集.docx
- 单位工伤事故认定公示情况反馈表(样表).doc
- 卫生监督法律法规和政策文件答案-2024年全国疾控系统“大学习”活动.docx VIP
- (心理咨询师习题集《案例分析》.doc VIP
- 《民航危险品运输》教学课件.docx VIP
- 拼多多新商家基础经营能力认证考试题库答案,平台规则+商品设置+客户服务+订单售后.docx
- 推动车辆互联的创新驱动车联网MNO智能物联卡平台解决方案.pptx
- 云平台解决方案酒店管理系统的完美选择.pptx
- GB50084-2017 自动喷水灭火系统设计规范.docx
文档评论(0)