本PDF文档为《VxWorks嵌入式实验报告》,详细记录了基于VxWorks操作系统进行的一系列嵌入式系统实验过程、结果及分析。
重庆大学研究生专业实验教学 实验报告书 重庆大学研究生院制
**实验课程名称:**
嵌入式实时操作系统实验
**实验指导教师:**
**学 院:**
**专 业:**
信号与信息处理
**类 别:**
**学 号:**
**姓 名:**
**实验日期:**
成绩:
---
### **专业实验报告**
#### 实验名称:
嵌入式实时操作系统实验
#### 实验时间:
2013-06-08 至 2013-06-09
#### 学生姓名、学号及指导老师:
**实验进度安排:**
(一)实验介绍
2013年6月8日 星期六 上午8:30至上午11:30
讲授嵌入式实验课程内容及要求,介绍实时操作系统的基本工作原理,并演示软件开发流程。
#### 重点检查以下基本实验:
**一、系统开发流程**
使用Tornado/VxWorks进行嵌入式系统的软件开发
#### 综合实验题目(任选其一):
1. 编写辅助时钟驱动程序,当调用sysAuxClkRateSet2(1)函数时,使辅助时钟每分钟产生一次中断,并让LED3和LED4交替点亮。
**二、任务间通信**
编写三个任务tClientTask1, tClientTask2 和 tServerTask之间的消息队列通信程序。其中客户端发送请求给服务器执行加法运算等操作,并接收返回结果进行打印显示。
**三、Socket接口使用**
实现与上述相同的任务,但采用Socket接口完成进程间的数据传输和功能调用。
**四、同步机制应用**
设计三个独立或关联的任务tTaskA, tTaskB 和 tTaskC。通过二进制信号量或者事件机制来保证它们之间的正确同步操作。
**五、虚拟设备通信**
创建一段内存作为虚拟IO设备,用于实现两个任务间的互斥与同步操作,并确保数据传输的准确性。
**六、消息队列管理**
定义一个初始化任务tInitTask和两个分别代表生产者(tSendTask)和消费者(tReceiveTask)的任务。通过设置优先级及调整消息数量来优化系统性能。
**七、信号量测试**
编写程序以展示二进制信号量(semTest b)与计数式信号量(semTest c)在任务同步中的应用效果。
**八、定时器服务程序开发**
利用二进制信号量实现辅助时钟定时器服务程序和任务之间的同步,按下R2按钮(irq5中断按钮)停止定时器工作。
**九、看门狗与辅助时钟使用**
通过调用timerTestStart w函数启动看门狗计时器进行周期性打印信息,并且在执行timerTestStop w后终止该功能;同时对辅助时钟做相同操作(timerTest a和stop timerTest a)。
**十、LED控制及任务删除**
编写程序使当tTaskA运行时点亮LED3,而tTaskB运行时则点亮LED4。按下R2按钮熄灭两个LED并移除这两个任务。
**十一、字符型IO设备驱动**
设计辅助时钟驱动程序以每分钟中断一次,并通过字符型IO设备实现每隔一分钟亮起一个发光二极管的功能,可以使用ioctl或write函数进行操作。
**十二、信号量与计数器结合应用**
系统包含两个任务tTaskA和tTaskB。利用二进制信号量及计数式信号量来确保它们之间的同步,并在windSh下执行相应的测试命令以验证功能实现情况。