littlebot
Published on 2025-04-11 / 0 Visits
0

【源码】基于C语言的FreeRTOS温度模拟系统

项目简介

本项目是科尔多瓦国立大学精确、物理和自然科学学院操作系统 II 课程中关于 FreeRTOS 作业的实现。通过创建多个任务模拟温度信号的生成、过滤和显示,同时计算和展示任务的运行时统计信息及堆栈使用情况。

项目的主要特性和功能

主要特性

  • 创建四个任务,分别负责温度信号模拟、温度值过滤、结果显示以及运行时统计信息获取。
  • 提供任务堆栈使用情况的计算方法。

主要功能

  • 温度模拟:xTaskTemperatureSensor 任务每 100ms 生成一个模拟的温度信号。
  • 温度过滤:xTaskFilter 任务接收温度值和过滤值,将温度值入队并计算平均值。
  • 结果显示:xTaskDisplay 任务接收过滤后的值,生成 PucImage 并在 OLED 显示屏上显示图形和文本。
  • 运行时统计:xTaskTop 任务是针对 LMS3811 的自定义 GetRunTimeStats 实现。

安装使用步骤

编译要求

  • Ubuntu 20.04 或使用 Docker 进行编译
  • Build-essentials
  • Qemu

编译二进制文件

  1. 使用 docker build -t ubuntu -f Dockerfile. 构建 Docker 镜像。
  2. 在 Docker 文件夹中使用 start_docker.sh <project_path> 运行 Docker。
  3. 使用 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】