专业实验报告
实验名称
嵌入式实时操作系统实验
实验时间
2010-06-05至U2010-06-20
学生姓名
丁代荣
学号
20091213012
指导老师
实验进度安排:
第一次实验
2010-06-05(数),时间5s使用taskDelay函数实现,要求独占访问发光二极管(使用互斥信号量实现)。
.编写程序实现以下功能:
要求系统中有三个任务,tTaskA和tTaskB,以及tTaskC,要求实现独立型同步或关联型同步;(可使用二
进制信号量或者事件机制)
实验报告主题部分
.熟悉任务创建使用与删除,
.掌握中断的使用,理解中断服务程序,中断向量等概念,
握led的初始化和点亮方法。
选择综合实验5:
编写程序,实现以下功能
系统有两个任务tTaskA,tTaskB;
当tTaskA执行时点亮发光二极管LED3,
当tTaskB执行时点亮发光二极管LED4;
当按下R2,熄灭LED3与LED4,并删除掉tTaskA与tTaskB
.连接好开发板,创建bootable工程,生成vxWorks映像文件,
.创建downloadable工程,
.添加源文件,编译、下载并调试应用程序,
.启动WindShell,在-->提示符下,输入应用程序中的函数,观察开发板上LED的点亮情况,按下R2键后观察中断服务程序执行的结果。
/*头文件*/
#include""
#include""
#include""
#include""
#include""
#include""
#include""
#include""
#include"drv/multi/"
#include"drv/intrctl/"
#include""
/*全局变量*/
inttaskIdA;
inttaskIdB;
/*函数声明*/
voidtaskcreat(void);
voidtaskOne(void);
voidtaskTwo(void);
voidledInit(void);
voidTestIsr(void);
/*创建任务TaskATaskB*/
voidtaskcreat(void)
{
printf("\n\n\n\n\n");
/*Spawnthetwotasks*/
if((taskIdA=taskSpawn("taskA”,100,0x100,20000,(FUNCPTR)taskOne,0,0,0,0,0Q0Q0,0))==ERROR)printf("taskSpawntaskAfailed'n");
if((taskIdB=taskSpawn("taskB”,100,0x100,20000,(FUNCPTR)taskTwoQ0,0,0,0,0Q0Q0))==ERROR)printf("taskSpawntaskBfailed'n");
}
/*Taskone*/
voidtaskO
实验报告——嵌入式实时操作系统实验 来自淘豆网m.daumloan.com转载请标明出处.