🛠 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

Objectifs

Comprendre la chaîne de boot du RP2350 : le code de boot USB vit dans la ROM et ne peut pas être écrasé — une Pico 2 est donc quasi impossible à briquer définitivement. Vous apprendrez le mode BOOTSEL, le format UF2, les outils picotool/MSD, et comment récupérer une carte qui ne démarre plus (mauvais firmware, binaire RP2040, secure boot mal configuré).

Matériel

Code complet

/* saut_vers_bootsel.c — depuis le programme, retourne au mode UF2
   Utile pour un produit : mise à 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 */
}

Procédure recovery sans code : 1) maintenir BOOTSEL et brancher l'USB ; 2) le lecteur RPI-RP2 apparaît (la ROM répond toujours) ; 3) copier un UF2 valide (pico2 !) pour écraser la flash ; 4) la carte redémarre. Inventaire : picotool info -a et picotool reboot -u (reboot USB) depuis n'importe quel firmware UF2.

Vérification attendue

Quelle que soit la saleté flashée (binaire RP2040, programme bouclant, RAM saturée), BOOTSEL au branchement fait réapparaître le lecteur RPI-RP2 et un UF2 pico2 valide restaure la carte. picotool info affiche la Pico 2 (RP2350) en boot USB.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels