You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CMake编译树莓派Pico项目无报错,但未生成UF2文件

Raspberry Pi Pico编译无错误但找不到.uf2文件的解决方案

问题描述

编译Raspberry Pi Pico的Hello World程序时无报错,但找不到可用于烧录的.uf2文件,相关代码如下:

HelloWorld.cpp

#include <stdio.h>
#include "pico/stdlib.h"
int main() {
    stdio_init_all();
    while(true) {
        printf("Hello world! \n");
        sleep_ms(1000);
    }
}

CMakeLists.txt

cmake_minimum_required(VERSION 3.12)

# initialize the SDK based on PICO_SDK_PATH
# note: this must happen before project()
include(pico_sdk_import.cmake)

project(HelloWorld C CXX ASM) 
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
# initialize the Raspberry Pi Pico SDK
pico_sdk_init()

# rest of your project
add_executable(HelloWorld
    HelloWorld.cpp
)

# Add pico_stdlib library which aggregates commonly used features
target_link_libraries(HelloWorld pico_stdlib)

# enable usb output, disable uart output
pico_enable_stdio_usb(HelloWorld 1)
pico_enable_stdio_uart(HelloWorld 0)

# create map/bin/hex/uf2 file in addition to ELF.
pico_add_extra_outputs(HelloWorld)

排查与解决步骤

  • 确认编译路径:.uf2文件默认生成在编译目录下,若使用常规的out-of-source编译流程,文件应位于build/HelloWorld.uf2(需先创建build文件夹并在其中执行编译操作)。
  • 执行完整编译流程:确保按标准步骤完成编译:
    1. 在项目根目录创建build文件夹:mkdir build && cd build
    2. 生成编译配置文件:cmake ..
    3. 启动编译:make -j4(-j4为多线程编译参数,可根据CPU核心数调整)
  • 检查CMake指令格式:确认pico_add_extra_outputs(HelloWorld)指令无多余空格或语法错误,这条指令是生成.uf2等额外输出文件的核心配置。
  • 验证SDK导入有效性:确保pico_sdk_import.cmake文件在项目根目录,且PICO_SDK_PATH环境变量已正确指向Raspberry Pi Pico SDK的安装路径,否则编译过程可能未触发.uf2的生成逻辑。

内容的提问来源于stack exchange,提问作者Chris22

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 01:42:10