Загрузчик второго этапа
Небольшой посредник, который загружает первым загрузочный код, потому что настоящий загрузчик слишком велик для места, где система просыпается.
Это проблема курицы и яйца. При включении SoC есть только boot ROM и несколько сотен килобайт внутренней SRAM: DRAM не работает, пока кто-то не настроит её тайминги, а тот, кто это делает, не поместится в SRAM, если ему ещё и файловые системы читать, и по сети общаться. Выход — промежуточный этап. U-Boot называет его SPL, Secondary Program Loader: урезанная сборка, которая лишь поднимает ОЗУ и загружает в неё полноразмерный U-Boot.
На стороне PC то же делал MBR с его 446 байтами кода, поэтому у GRUB так долго были этапы 1, 1.5 и 2. RP2040 предлагает необычайно аккуратный миниатюрный вариант: boot ROM читает из флеш-памяти 256-байтовый «boot2», проверяет его CRC32, и уже boot2 настраивает флеш-чип на исполнение на месте.