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

【源码】基于FreeRTOS的Raspberry Pi Pico多核任务管理系统

项目简介

本项目是基于FreeRTOS实时操作系统的嵌入式程序,针对Raspberry Pi Pico设计。借助FreeRTOS的对称多处理(SMP)功能,可在Pico的双核处理器上高效管理与调度多个任务。主要功能有LED灯控制、计数器显示以及多核任务调度,展示了嵌入式系统中实时任务管理与硬件控制的实现方法。

项目的主要特性和功能

  1. 多任务管理:运用FreeRTOS创建并调度多个任务,涵盖主任务、LED闪烁任务和计数器任务。
  2. 多核支持:利用FreeRTOS的SMP功能,让程序在Raspberry Pi Pico的双核处理器上同时运行任务,优化系统性能。
  3. 任务优先级和调度:通过设置任务优先级,确保任务按预期顺序和方式运行。
  4. LED灯控制:通过GPIO端口控制LED灯状态,实现开启、关闭和闪烁功能。
  5. 计数器显示:借助计数器任务更新计数器显示状态,用随机数控制计数器显示。
  6. 串行通信:初始化串行通信,通过USB连接与计算机通信,方便调试和配置任务参数。

安装使用步骤

复制项目

使用以下命令复制项目及其子模块: sh

设置环境变量

确保设置以下环境变量,以便正确编译项目: sh export PICO_SDK_PATH=~/workspace_pico/pico-sdk export PICO_TOOLCHAIN_PATH=/c/Program\ Files\ \(x86\)/Arm\ GNU\ Toolchain\ arm-none-eabi/12.2\ mpacbti-bet1/bin export PICO_PLATFORM=rp2040 export FREERTOS_KERNEL_PATH=~/workspace_pico/pico-freertos-smp/lib/FreeRTOS-Kernel

导入CMake文件

复制并修改必要的CMake文件: sh cp $PICO_SDK_PATH/external/pico_sdk_import.cmake ./ cp lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/FreeRTOS_Kernel_import.cmake ./ vi lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/FreeRTOS_Kernel_import.cmake

构建项目

在项目根目录下创建并进入build目录,然后使用CMake生成构建文件并编译项目: sh rm -rf build/ mkdir build cd build/ cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Debug .. make -j8

调试与运行

使用gdb-multiarch进行调试,或通过VSCode调试器运行程序: sh gdb-multiarch.exe src/BlinkLEDsmp.elf

通过以上步骤,可在Raspberry Pi Pico上运行并调试本项目的多核任务管理系统。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】