项目简介
本项目是科尔多瓦国立大学精确、物理和自然科学学院操作系统 II 课程中关于 FreeRTOS 作业的实现。通过创建多个任务模拟温度信号的生成、过滤和显示,同时计算和展示任务的运行时统计信息及堆栈使用情况。
项目的主要特性和功能
主要特性
- 创建四个任务,分别负责温度信号模拟、温度值过滤、结果显示以及运行时统计信息获取。
- 提供任务堆栈使用情况的计算方法。
主要功能
- 温度模拟:
xTaskTemperatureSensor
任务每 100ms 生成一个模拟的温度信号。 - 温度过滤:
xTaskFilter
任务接收温度值和过滤值,将温度值入队并计算平均值。 - 结果显示:
xTaskDisplay
任务接收过滤后的值,生成 PucImage 并在 OLED 显示屏上显示图形和文本。 - 运行时统计:
xTaskTop
任务是针对 LMS3811 的自定义GetRunTimeStats
实现。
安装使用步骤
编译要求
- Ubuntu 20.04 或使用 Docker 进行编译
- Build-essentials
- Qemu
编译二进制文件
- 使用
docker build -t ubuntu -f Dockerfile.
构建 Docker 镜像。 - 在 Docker 文件夹中使用
start_docker.sh <project_path>
运行 Docker。 - 使用
make all
编译无堆栈计算的二进制文件;使用make all_stack
编译计算堆栈所需的代码。
执行程序
Windows 系统
若未安装 Linux,可在 Windows 上安装 QEMU,使用 gcc
文件夹中编译好的 TP7.axf
文件,在 PowerShell 中运行以下命令:
powershell
& 'C:\Program Files\qemu\qemu-system-arm.exe' -serial stdio -machine lm3s811evb -kernel 'gcc\TP7.axf'
Linux 系统
在终端中运行以下命令:
bash
qemu-system-arm -serial stdio -machine lm3s811evb -kernel gcc/TP7.axf
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】