[经验] 【树莓派Pico 2 RP2350开发板】 测评 [三]基于RP2040的移植运行FreeRTOS
[复制链接]
本帖最后由 御坂10032号 于 2025-3-10 19:30 编辑
简介
本来是想在尝试跑一个LVGL在RP2350上的,但是找了一圈没有找到很详细的教程. 于是转换思路, 在搜索了一圈看看如何在rp2350的上运行freeRTOS, 后来在Youtube上找到了一个博主提供了一个RTOS的模版是基于RP2040的.经过我的一番尝试,在不开启RISC-V核心的情况下可以正常的在RP2350上运行,现在我来分享一下步骤.
1- 首先clone 仓库信息,执行命令如下所示
git clone https://github.com/LearnEmbeddedSystems/rp2040-freertos-template.git
2- 由于仓库内的lib引用了freeRtos的内核,所以要执行子模块初始化和更新
git submodule init
3- 更新子模块
git submodule update
之后在进入文件夹, 如果安装好vscode code插件的话可以使用code . 打开
这里需要提前安装好插件商店里的Raspberry Pi Pico插件
如果安装这个插件的话,它会提示你把当前的项目导入为pico项目,点击确认即可. 现在这个项目的结构就很清晰了. lib下面是rtos的库,代码在src下, cmakelist配置了对lib下库的引用. 在我们开始编译这个程序之前还有两件事需要处理一下.
首先在顶层文件的cmakelist中增加下面的内容
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
这一行代码的作用是使其构建后的固件信息能够输出到build目录下, 否则的话会输出到build/src下从而导致烧录的时候找不到固件.
其次我们还需要更换当前的芯片为RP2350
注意这里不要选择RISC-V的核心,否则编译不通过. 之后我们便可以编译这个项目(不需要在原本的程序中进行修改,内置了一个blinkled的demo烧录后可以直接看到效果)
编译成功, 我这里发现了ESP-IDF的插件也可以实现编译的功能,就是不知道底层执行的命令是否是一样的.
之后我们需要将开发板断电,然后按住boot键(这里需要吐槽一下不知道为什么树莓派官方不能额外增加一个复位的案件,除了micropython,别的模式烧录都非常麻烦需要断电). 然后点击pico插件的run project (USB) 这样的话固件就会被下载到开发板里.
此时固件就会被正确的下载到开发板里.而且LED灯也开始闪烁.
程序源码如下
|