【清华大学Vxworks培训】是针对VxWorks实时操作系统的学习资料,主要涵盖了VxWorks的特点、集成开发环境Tornado的使用、硬件实例分析、软件流程详解以及用户程序框架等内容,适合初学者入门。
VxWorks作为一款广泛应用于嵌入式系统的实时操作系统,具有以下显著特点:
1. **多任务支持**:VxWorks允许多个任务同时运行,每个任务有独立的任务ID、优先级和状态,通过任务调度进行管理。
2. **实时性强**:具备优秀的实时性能,能够快速响应外部事件。
3. **体积小巧**:系统可裁剪,适应各种资源有限的嵌入式设备。
4. **CPU兼容性**:支持多种CPU架构,具有良好的平台适应性。
5. **通信功能**:内置网络通讯和串口通讯功能,便于设备间的交互。
6. **编程模式**:采用汇编和标准C语言混合编程,提供内核和定制任务的独立编译与动态下载功能,支持用户自定义启动任务。
在VxWorks中,任务管理是核心部分:
- **任务创建**:使用`taskSpawn()`函数启动新任务。
- **任务控制**:可以删除任务(`taskDelete()`)、强制删除(`taskDeleteForce()`)、挂起(`taskSuspend()`)、恢复(`taskResume()`)、设置优先级(`taskPrioritySet()`)等。
- **任务安全**:通过`taskSafe()`和`taskUnsafe()`控制任务安全保护,避免未预期的调度。
- **任务间通信**:VxWorks提供了共享内存、管道、信号灯和消息队列等多种同步和通信机制。
Tornado是VxWorks的集成开发环境,包括:
- **GDB调试界面**:用于源代码级调试。
- **WindView**:实时监控系统中多任务的状态。
- **Source Insight**:用于程序编辑。
- **参考文档**:提供详细的开发指南和在线资源。
硬件实例通常涉及一个基于CPU、ROM、RAM和FLASH构建的嵌入式系统,可能还包括FPGA、网口、PCI总线等组件。软件流程分为开发阶段和最终部署阶段,涉及bootrom、BSP(板级支持包)、VxWorks、用户程序等不同组件。
用户程序框架一般是在VxWorks启动后,通过bootrom加载用户程序到内存,然后创建并运行多个系统任务和用户任务。时间轴上,首先是bootrom从Flash读取映像文件,接着VxWorks接管系统并启动系统任务,如异常处理任务(tExcTask)、日志任务(tLogTask)、调试任务(tWdbTask)和网络任务(tNetTask)。用户可以绑定中断服务程序,并根据需求发起更多用户自定义任务,构建多任务系统。
开发过程中,开发者需要熟悉VxWorks的文件分布,例如BSP在特定的bspname目录下,用户程序的源代码、头文件和Makefile等。硬件控制方面,通常会用到板载灯、串口和网络接口进行调试,而PCI器件的配置则涉及bootrom和VxWorks中的驱动程序,以及用户程序对用户寄存器的设置。
清华大学Vxworks培训旨在帮助学习者理解和掌握VxWorks实时操作系统及其开发流程,通过Tornado等工具实现高效、可靠的嵌入式系统开发。