项目简介
本项目是基于FreeRTOS实时操作系统的嵌入式程序,针对Raspberry Pi Pico设计。借助FreeRTOS的对称多处理(SMP)功能,可在Pico的双核处理器上高效管理与调度多个任务。主要功能有LED灯控制、计数器显示以及多核任务调度,展示了嵌入式系统中实时任务管理与硬件控制的实现方法。
项目的主要特性和功能
- 多任务管理:运用FreeRTOS创建并调度多个任务,涵盖主任务、LED闪烁任务和计数器任务。
- 多核支持:利用FreeRTOS的SMP功能,让程序在Raspberry Pi Pico的双核处理器上同时运行任务,优化系统性能。
- 任务优先级和调度:通过设置任务优先级,确保任务按预期顺序和方式运行。
- LED灯控制:通过GPIO端口控制LED灯状态,实现开启、关闭和闪烁功能。
- 计数器显示:借助计数器任务更新计数器显示状态,用随机数控制计数器显示。
- 串行通信:初始化串行通信,通过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】