Raspberry Pi Pico 2: две архитектуры, программируемые интерфейсы и работа без Linux
Pico 2 — плата микроконтроллера, а не уменьшенная Pi5. Разбираем RP2350, память, PIO, MicroPython и отладку по шести официальным источникам.

Плата для управления устройством, а не настольной системы
Raspberry Pi Pico 2 построена на RP2350 и относится к микроконтроллерным платам. Её программа работает непосредственно с аппаратной средой; здесь не предполагается обычная загрузка настольного Linux с оконными приложениями. Это другой класс устройства внутри знакомого семейства Raspberry Pi, предназначенный для управления электроникой и встроенных задач.
В спецификации платы указаны частота 150 МГц,520 КБ встроенной оперативной памяти и 4 МБ внешней QSPI flash на самой плате. Последняя хранит программу и данные, но не является съёмной microSD. У Pico 2 сохраняются форма платы и совместимость с первым поколением в пределах документированных интерфейсов. Контактные площадки с полукруглыми отверстиями допускают монтаж непосредственно на несущую плату.
Базовую Pico 2 необходимо отличать от Pico 2W. Беспроводная версия добавляет Wi-Fi2,4 ГГц 802.11n и Bluetooth5.2; наличие общего процессорного семейства не означает, что радио есть на любой плате. Возможность программирования на Python также не делает устройство обычным персональным компьютером: поддерживаемая реализация и аппаратные библиотеки рассчитаны на микроконтроллер и его ограничения памяти.
Arm и RISC-V выбираются, а не складываются в четыре ядра
Особенность RP2350 — две альтернативные процессорные архитектуры. Внутри предусмотрены пары Arm Cortex-M33 и Hazard3 RISC-V. Пользователь выбирает соответствующий вариант; некорректно описывать микроконтроллер как систему, в которой все четыре таких ядра одновременно образуют общую универсальную вычислительную группу.
Официальная продуктовая страница RP2350 описывает выбор программным способом либо через настройку однократно программируемой памяти. Arm-часть включает аппаратную работу с числами одинарной точности и DSP-инструкции. Кроме процессорных ядер, существуют DMA, аппаратные интерфейсы и программируемая периферия, поэтому организация внешнего обмена не обязана сводиться к постоянному опросу каждого сигнала центральным кодом.
Семейство самого чипа шире одной готовой Pico 2. Варианты RP2350A и RP2350B отличаются корпусом и количеством GPIO, а RP2354 добавляет встроенную в корпус flash. Эти характеристики нельзя автоматически переносить на все контакты конкретной платы. Микросхема предоставляет набор возможностей, а разработчик платы выбирает, как вывести их наружу, какое питание и память добавить и какие сигналы оставить для внутренних соединений.

| Свойство | Pico2 | Пояснение |
|---|---|---|
| Процессор | Два Cortex-M33 либо два Hazard3 | Альтернативные архитектуры |
| Частота | 150МГц | Заявленная спецификация |
| SRAM | 520КБ | Внутри RP2350 |
| Flash | 4МБ | На готовой плате |
| Wi-Fi/Bluetooth | Только вариант Pico2W | Не свойство любой Pico2 |
| Загрузка | UF2 через USB | Не установка настольного Linux |
Источник: Официальная спецификация Pico2
PIO развивает идею специализированного ввода-вывода
В анонсе августа 2024 года Raspberry Pi описывает переход от RP2040 к RP2350 как расширение вычислений и интерфейсной части. У новой системы двенадцать программируемых автоматов PIO. Они позволяют реализовывать последовательности ввода-вывода отдельно от обычного исполнения прикладной программы. Это особенно заметно в задачах, где важны повторяемые временные интервалы и обмен с нестандартной периферией.
Там же названы новый блок высокоскоростной передачи HSTX, поддержка внешней QSPI PSRAM и более развитые состояния малого потребления. Однако поддержка со стороны микросхемы и физическое наличие дополнительной памяти на плате — разные вещи. Базовая Pico 2 не получает произвольный объём PSRAM только от того, что такой режим существует у RP2350.
Ещё одно направление изменений — аппаратная архитектура защиты: подписанная загрузка, однократно программируемая память, ускоритель SHA-256 и генератор случайных чисел. Это средства, из которых разработчик строит конкретную защиту продукта, а не готовое универсальное обещание неуязвимости. В анонсе речь идёт о возможностях платформы; включение режимов и обращение с ключами остаются частью проектирования прошивки и изделия.
MicroPython даёт интерактивный путь к программе
Официальная документация описывает MicroPython как реализацию Python3, работающую непосредственно на встроенной аппаратуре. После установки пользователь получает интерактивную командную строку REPL через последовательное соединение USB и файловую систему. Специальные модули открывают доступ к аппаратным функциям микроконтроллера.
Для установки используется файл UF2, соответствующий конкретной плате. В режиме BOOTSEL устройство появляется как накопитель, на который переносится прошивка; затем плата перезагружается уже с MicroPython. Pico, PicoW, Pico 2 и Pico 2W перечислены как разные загрузки. Поэтому выбор файла относится не только к привычному имени семейства, но и к аппаратному варианту.
Интерактивность удобна для проверки отдельных операций и знакомства с датчиками, однако не устраняет пределы памяти и особенности времени исполнения интерпретатора. Наличие Python не означает перенос любого настольного пакета без адаптации. Документация направляет к библиотекам RP2 и примерам именно для микроконтроллеров. Прошивка, текст пользовательской программы и аппаратная разводка остаются отдельными компонентами проекта, даже когда весь путь начинается с простого копирования одного файла.
C/C++ SDK собирает прошивку под определённую плату
Другой официальный путь — SDK для C и C++. Он поддерживает командную строку и интеграцию с IDE, включая Visual Studio Code. В документации отдельно отмечаются ограничения среды разработки: расширение VSCode не поддерживается на 32-битной Raspberry PiOS и варианте Lite, хотя для таких систем описана настройка обычной цепочки инструментов.
Целевая плата выбирается при конфигурации сборки. Это важно даже для короткой программы мигания светодиодом: у Pico и Pico 2 встроенный LED связан с GP25, а у беспроводных вариантов он находится на радиочипе Infineon. Внешне похожая демонстрация поэтому может обращаться к разным аппаратным путям.
SDK предоставляет API и примеры, но результатом сборки является прошивка, а не обычное приложение для установленной на плате настольной ОС. Использование нескольких ядер, DMA и PIO требует соответствующей организации программы. Выбор между MicroPython и C/C++ относится к способу разработки и исполнения кода; он не меняет физический объём SRAM, набор распаянных контактов или наличие радиомодуля у конкретной Pico 2.

Отладчик и последовательный порт выполняют разную работу
Raspberry Pi Debug Probe — отдельный USB-адаптер, сочетающий интерфейс SWD и UART. SWD используется для аппаратной отладки совместимых целей, UART — для последовательного обмена. Одинаковый USB-кабель на стороне компьютера не делает эти два канала взаимозаменяемыми.
В официальном описании указаны совместимость с CMSIS-DAP и работа с OpenOCD. Это позволяет использовать компьютер без собственной GPIO-колодки как рабочее место разработчика микроконтроллерной программы. Сам адаптер работает с номинальным уровнем ввода-вывода 3,3 В; подключение к произвольной электронике без проверки уровней не следует из наличия подходящего разъёма.
Документация содержит отдельное предупреждение для цели с самостоятельным источником питания: перед сигнальными линиями требуется общая опорная земля, иначе разность потенциалов может повредить оборудование. Практическая роль отладчика при этом отделена от обычной USB-загрузки UF2. Первую прошивку можно передать без покупки Debug Probe; адаптер нужен для другого уровня наблюдения и управления выполнением. Плата, прошивка, интерфейс загрузки и средства отладки образуют связанную, но не единую обязательную комплектацию.


