🛠 Boot UF2, mode BOOTSEL et recovery d'une carte briquée

Raspberry Pi Pico 2 · avance · Schéma : IMG-pico-2-avance-2-pico2-boot-uf2-bootsel-recovery.svg — chaîne de boot du RP2350 : ROM de boot inaltérable, choix flash QSPI ou USB BOOTSEL, et étapes de recovery d'une Pico 2 briquée

Objetivos

Comprender la cadena de arranque del RP2350: el código de arranque USB reside en la ROM y no puede ser sobrescrito — por lo tanto, es casi imposible dejar inservible (brickear) definitivamente una Pico 2. Aprenderás el modo BOOTSEL, el formato UF2, las herramientas picotool/MSD, y cómo recuperar una tarjeta que ya no arranca (firmware incorrecto, binario RP2040, secure boot mal configurado).

Material

Código completo

/* saut_vers_bootsel.c — depuis le programme, retourne au mode UF2
   Utile pour un produit : mise a jour sans ouvrir le boitier. */
#include "pico/stdlib.h"
#include "pico/bootrom.h"

#define BTN_PIN 22

int main(void) {
    gpio_init(BTN_PIN); gpio_set_dir(BTN_PIN, GPIO_IN); gpio_pull_up(BTN_PIN);
    stdio_init_all;
    sleep_ms(2000);                       /* fenetre pour ouvrir le terminal */
    printf("Appui long sur GP22 -> mode BOOTSEL (lecteur RPI-RP2)\n");
    while (gpio_get(BTN_PIN)) sleep_ms(10);
    rom_reset_to_bootsel;               /* ne revient jamais */
}

Procedimiento de recuperación sin código: 1) mantener pulsado BOOTSEL y conectar el USB; 2) aparece la unidad RPI-RP2 (la ROM siempre responde); 3) copiar un UF2 válido (¡pico2!) para sobrescribir la flash; 4) la tarjeta se reinicia. Inventario: picotool info -a y picotool reboot -u (reinicio USB) desde cualquier firmware UF2.

Verificación esperada

Independientemente de la basura flasheada (binario RP2040, programa en bucle, RAM saturada), BOOTSEL al conectar hace que reaparezca la unidad RPI-RP2 y un UF2 pico2 válido restaura la tarjeta. picotool info muestra la Pico 2 (RP2350) en arranque USB.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales