下载此文档

嵌入式操作实验报告.docx


文档分类:IT计算机 | 页数:约22页 举报非法文档有奖
1/22
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/22 下载此文档
文档列表 文档介绍
嵌入式操作系统
实验报告
系别:三系
班级:12电子⑴
学号: 20120310145
姓名:吴洁

实验一 嵌入式开发环境的建立
一、实验目的

理解任务管理的基本原理,了解任务的各个基本状态及其变迁过程;
掌握uC/OS-II中任务管理的基本方法(创建、启动、挂起、解挂任务);
熟练使用uC/OS-II任务管理的基本系统调用。
二、实验原理及程序结构
1. 实验设计
为了展现任务的各种基本状态及其变迁过程,本实验设计了TaskO、Taskl两个任务: 任务TaskO不断地挂起自己,再被任务Taskl解挂,两个任务不断地切换执行。通过本实验, 读者可以清晰地了解到任务在各个时刻的状态以及状态变迁的原因。
运行流程
系统经历一系列的初始化过程后进入boot_card ()函数,在其中调用ucBsp_init()进 行板级初始化后,调用main ()函数;
main()函数调用OSInit()函数对uC/OS-II内核进行初始化,调用OSTaskCreate创 建起始任务TaskS tart;
main ()函数调用函数OSS tar t()启动uC/OS-II内核的运行,开始多任务的调度,执 行当前优先级最高的就绪任务TaskS tart;
( 4) TaskStart 完成如下工作:
a、 安装时钟中断并初始化时钟,创建2个应用任务;
b、 挂起自己(不再被其它任务唤醒),系统切换到当前优先级最高的就绪任务 TaskO。
之后整个系统的运行流程如下:
t1时刻,Task0开始执行,它运行到t2时刻挂起自己;
t2时刻,系统调度处于就绪状态的优先级最高任务Taskl执行,它在t3时刻唤醒
Task0,后者由于优先级较高而抢占CPU;
Task0执行到t4时刻又挂起自己,内核调度Task1执行;
Task1运行至t5时刻再度唤醒Task0;
疋/OS-II中的任务描述
一个任务通常是一个无限的循环 ,由于任务的执行是由操作系统内核调度的,因此任 务是绝不会返回的,其返回参数必须定义成void。在p C/OS-II中,当一个运行着的任务使 一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就会被抢占,高优先级任 务会立刻得到CPU的控制权(在系统允许调度和任务切换的前提下)。p C/OS-II可以管理 多达64个任务,但目前版本的p C/OS-II有两个任务已经被系统占用了(即空闲任务和统 计任务)。必须给每个任务赋以不同的优先级,任务的优先级号就是任务编号ID),优先 级可以从0到OS_LOWEST_PR10-2。优先级号越低,任务的优先级越高。p C/OS-II总是 运行进入就绪态的优先级最高的任务。
源程序说明
(1) TaskStart 任务
TaskStart 任务负责安装操作系统的时钟中断服务例程、初始化操作系统时钟,并创建所 有的应用任务:
UCOS_CPU_INIT(); /* Install uC/OS-II's clock tick ISR */
UCOS_TIMER_START(); /*Timer 初始化*/ TaskStartCreateTasks(); /* Create all the application tasks */
OSTaskSuspend(OS_PRIO_SELF);
具体负责应用任务创建的TaskStartCreateTasks函数代码如下,它创建了两个应用任务 TaskO 和Taskl:
void TaskStartCreateTasks (void)
{
INT8U i;
for (i = O; i < N_TASKS; i++) // Create tasks
{
TaskData[i] = i; // Each task will display its own information
}
OSTaskCreate(TaskO, (void *)&TaskData[O], &TaskStk[O][TASK_STK_SIZE - 1], 5);
OSTaskCreate(Task1, (void *)&TaskData[1], &TaskStk[1][TASK_STK_SIZE - 1], 6); }
TaskStart 任务完成上述操作后将自己挂起,操作系统将调度当前优先级最高的应用任务 TaskO 运行。
(2) 应用任务
应用任务TaskO运行后将自己挂起,之后操作系统就会调度处于就绪状态的优先级最高
uC/OS-II 实验指导书
- 24 -
的任务,具体代码如下:
void

嵌入式操作实验报告 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数22
  • 收藏数0 收藏
  • 顶次数0
  • 上传人niupai21
  • 文件大小851 KB
  • 时间2022-06-10