项目简介
本项目是基于C语言构建的Märklin火车实时控制系统,专为CS452课程开发。代码分为两部分,一部分是可在独立计算机运行的小型实时操作系统,提供控制Märklin电动火车的底层接口;另一部分是火车控制应用程序。内核和用户程序基于EP9302片上系统(SoC)的TS - 7200单板计算机设计,该计算机采用ARM 920T处理器。
项目的主要特性和功能
- 任务管理:支持任务创建、获取任务ID、暂停、退出等操作,按优先级调度任务执行,同优先级任务采用轮询调度。
- 消息传递:实现任务间消息的发送、接收和回复,保证消息传递基本可靠,处理时会截断消息防止缓冲区溢出。
- 名称服务:提供任务注册和查找功能,可根据名称查找对应任务ID。
- 中断处理:通过
AwaitEvent
函数处理硬件中断,等待特定事件并获取相关数据。 - 时钟服务:提供时间获取、延时和延时到指定时间的功能,以10毫秒为一个时钟滴答。
- 输入输出:支持从UART读取字符和向UART发送字符。
安装使用步骤
- 假设用户已下载本项目的源码文件。
- 根据TS - 7200单板计算机的开发环境,配置相应编译工具链,确保能编译基于ARM 920T处理器的代码。
- 编译内核和用户程序,生成可在TS - 7200上运行的二进制文件。
- 将生成的二进制文件烧录到TS - 7200单板计算机中。
- 连接Märklin电动火车,启动系统,通过调用项目提供的接口函数实现对火车的控制。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】