嵌入式系统课程设计-基于μcos-ii的电子词典设计与实现

嵌入式系统课程设计-基于μcos-ii的电子词典设计与实现

ID:6808346

大小:169.00 KB

页数:37页

时间:2018-01-26

嵌入式系统课程设计-基于μcos-ii的电子词典设计与实现_第1页
嵌入式系统课程设计-基于μcos-ii的电子词典设计与实现_第2页
嵌入式系统课程设计-基于μcos-ii的电子词典设计与实现_第3页
嵌入式系统课程设计-基于μcos-ii的电子词典设计与实现_第4页
嵌入式系统课程设计-基于μcos-ii的电子词典设计与实现_第5页
资源描述:

《嵌入式系统课程设计-基于μcos-ii的电子词典设计与实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、目录1系统定义与需求分析31.1系统定义31.1.1任务功能描述31.1.2任务的优先级分配41.1.3任务间同步与通信的规则41.2系统配置42详细设计62.1系统移植62.1.1移植OS_CPU.H62.1.2移植OS_CPU_C.C72.2最小系统的运行调试102.2.1保证编译正确,系统启动正确112.2.2调试OS_ENTER_CRITICAL()···112.2.3调试OSStartHighRdy()122.2.4调试OSCtxSw()122.2.5调节时钟节拍132.2.6调试OSIntC

2、txSw()和OsTickISR()143驱动程序的设计与调试153.1基于μC/OS-II的中断设计153.2基于μC/OS-II的设备驱动程序设计153.3基于μC/OS-II的设备驱动程序测试164系统集成与功能测试174.1初始化任务174.2键盘处理任务184.3触摸屏处理任务234.4系统集成测试355参考文献38371系统定义与需求分析1.1系统定义电子词典是一个典型的由外部输入驱动的开环系统,由键盘或触摸屏输入信息,处理器根据输入的信息在LCD显示屏上显示相应的内容,显示完成之后系统进入

3、空闲状态等待下一次输入。根据这一处理过程,讲电子词典应用分为3个主任务——主执行任务,键盘任务,触摸屏任务。系统的总体设计如图1-1所示。Main()函数初始化任务键盘任务主执行任务触摸屏任务光标任务键盘ISR触摸屏ISR时钟节拍图1-1μC/OS-II系统总是从main()函数开始,通常在main()函数中指创建一个用户任务,即初始化任务,这样设计有利于系统管理,而且结构也会更清晰。在初始化任务中启动时钟节拍,创建各个任务以及要用到的信号量或消息。1.1.1任务功能描述在电子词典设计中,键盘任务和触摸

4、屏任务负责采集输入信号,并将其转换为键值告知主处理任务。主处理任务负责根据读到的键值启动相应功能。而光标任务则是用来展现时钟节拍,让目标板上的LED灯以指定的时间间隔进行闪烁。371.1.2任务的优先级分配系统中的优先级分配按照最经常发生的优先级最高这一原则进行,具体分配如下:优先级0~3:分配优先级时将最高的4个优先级留给系统用户;优先级5:主处理任务优先级最高为5级;优先级6:键盘的使用概率大于触摸屏,其优先级定为6级;优先级7:触摸屏的优先级为7级;优先级8:光标每隔一个固定的时间闪烁一次,这个时

5、间可以由用户自定义,优先级为8级;最低优先级-1:系统统计任务(可选);最低优先级:系统空闲任务。1.1.3任务间同步与通信的规则需要传递消息的任务是键盘与主执行任务。触摸屏与主执行任务之间传递的都是按键值,且键值不用区分来源,所以使用一个消息邮箱即可。由于任务间不存在共享互斥资源的问题,所以不需要进行任务间的同步。键盘与触摸屏都是由外界时间触发的,可以使用中断机制设计驱动程序。在驱动程序的设计中,遵循中断中处理的时间尽量短,讲更多的事情交给任务区完成这一原则。1.2系统配置μC/OS-II并不提供列斯

6、Linux那样的命令行形式的配置方法,而是通过对配置的内容进行条件编译来实现的。这是由于μC/OS-II提供开放的源代码,用户可以直接使用#defineconstants语句来更改内核的很多参数。系统中提供了以下配置项:事件标志:包括使能或禁止事件标志及其相关功能,通常以OS_FLAG_为前缀;消息邮箱:包括使能或禁止消息邮箱及其相关功能,通常以OS_MBOX_为前缀;内存管理:包括使能或禁止内存管理及其相关功能,目前版本中只有两个可配置项OS_MEM_EN和OS_MEM_QUERY_EN;互斥型信号量

7、:包括使能或禁止互斥型信号量及其相关功能,通常以OS_MUTEX_为前缀;消息队列:包括使能或禁止消息队列及其相关功能,通常以OS_Q_为前缀;信号量:包括使能或禁止信号量及其相关功能,通常以OS_SEM_为前缀;任务管理:系统提供两个任务创建函数,在配置文件中至少要对其中一个进行使能,另外还包括一些对任务其他相关属性的配置,通常以OS_TASK_为前缀;时钟管理:μC/OS-II中用户可以使用操作系统的时钟作为演示的基准,这里包括使能或禁止使用系统时钟及其相关功能,通常以OS_TIME_为前缀;37杂

8、项:包括配置任务,事件,消息队列的最大个数,任务堆栈的容量等。μC/OS-II内核默认的是将系统配置为最大系统,即使能所有功能,并且将认为尿素时间按等设置为最大。在电子词典的应用中,只有13个任务(5个用户任务,8个系统预留任务)、两个事件标志、一个消息邮箱,所以需要对默认系统进行重新配置。需要更改的主要参数如下:OS_MAX_EVENTS:最大可申请的事件控制块数。系统中每个消息和信号量都需要一个事件控制块。电子词典中只用到一个消息邮箱,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。