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

RP2040-Zero(Arduino C++)上传程序无法持久化,重置后丢失如何解决?

RP2040-Zero重启后固件丢失的解决方法

先修正代码中的语法错误

你提供的代码存在几处语法问题,虽上传后能运行,但可能影响固件稳定性,建议先修正:

  • #include <FastLEDh> 改为 #include <FastLED.h>
  • #include NUM_LEDS 1 和 #include DATA_PIN 16 改为 #define NUM_LEDS 1 和 #define DATA_PIN 16

修正后的完整代码:

#include <Arduino.h>
#include <FastLED.h>
#define NUM_LEDS 1
#define DATA_PIN 16
CRGB leds[NUM_LEDS];
bool led_is_on;

void setup() {
    Serial.begin(115200);
    while (!Serial);
    delay(1000);
    Serial.println("Initializing the system");
    FastLED.addLeds<WS2812B, DATA_PIN>(leds, NUM_LEDS);
    led_is_on = false;
}

void loop() {
    leds[0] = (led_is_on = !led_is_on) ? CRGB::Red : CRGB::Green;
    FastLED.show();
    delay(500);
}

解决重启后固件丢失的核心问题

RP2040的UF2上传机制默认会将固件写入板载Flash,重启后应自动加载。出现丢失问题,可按以下步骤排查:

1. 确认Arduino IDE的板型配置

  • 打开Arduino IDE,依次选择:Tools > Board > Raspberry Pi Pico/RP2040 > Waveshare RP2040-Zero
  • 检查上传方式:Tools > Upload Method > UF2
  • 确认Flash大小:Tools > Flash Size 选择对应板型的容量(RP2040-Zero通常为2MB)

2. 检查BOOTSEL按键状态

  • 重启时若BOOTSEL按键被按住或卡住,RP2040会进入U盘模式(不加载Flash固件)。检查开发板上的BOOTSEL按键是否正常复位,无被误触发或短路情况。

3. 重新烧录RP2040引导程序

若引导程序损坏,会导致无法从Flash加载固件:

  1. 按住BOOTSEL按键,给开发板上电,电脑会识别出名为RPI-RP2的U盘。
  2. 将官方RP2040引导程序(pico-bootloader.uf2)复制到该U盘,U盘会自动弹出,引导程序烧录完成。
  3. 重新上传你的Arduino程序,重启后即可正常加载。

4. 验证上传完整性

上传时确保Arduino IDE提示"上传成功",若过程中出现错误,说明固件未正确写入Flash,需检查USB连接或重新上传。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 01:35:01