Для YuzukiNeko размером с Pico собрали Linux-образ с 16 МБ PSRAM
Буфер кадра 800×480 с 32-битным цветом требует 1.54 МБ. На машине с 16 МБ RAM это почти десятая часть всей памяти ещё до запуска приложения, сетевого стека и page cache. Именно с таким бюджетом предстоит жить YuzukiNeko — открытой плате размерами около 51×21 мм, близкой к Raspberry Pi Pico по геометрии двух 20-контактных гребёнок.
Плата с памятью внутри корпуса процессора
На плате стоит Allwinner F101S3: RV32-ядро T-Head XuanTie C907 и 16 МБ 16-битной PSRAM, встроенной в корпус SiP. Рядом находятся 16 МБ SPI NOR с XIP, microSD, USB-C, аналоговый аудиовыход и выводы GPIO/ADC. Опубликованный набор дополнений для Buildroot уже собирает образы для этой конкретной конфигурации, причём доступны варианты с внутренним musl toolchain и Xuantie musl32.
Здесь интересна сама карта старта. BROM сначала принимает 48-КиБ SyterKit, затем из NOR загружаются DTB, OpenSBI и Linux Image. Под ядро в образе заранее отведены 6 МБ, после него лежит сжатая SquashFS-rootfs, а последний мегабайт флеш-памяти предназначен для JFFS2 overlay. Весь загрузочный образ укладывается в 16 МБ NOR. Такая разметка превращает Linux из абстрактного дистрибутива в компонент, которому заранее выделяют физические адреса и право на каждый блок флеша.
Загрузочная карта вместо свободного диска
Оперативная память здесь тоже перестаёт быть фоновым ресурсом. Два экранных буфера способны съесть около 3 МБ, и это ещё до декодирования изображения или выделений драйверов. Размер ядра, init-логика, политика page cache, число DMA-буферов и выбор между ramdisk и SquashFS сразу влияют на то, останется ли у прикладной задачи место. Процессор с заявленной частотой до 1.008 ГГц даёт запас вычислений, но PSRAM заставляет постоянно думать о задержках и конкуренции CPU, DMA и display-тракта за одну память.
Framebuffer как заметная часть компьютера
Сам F101 заявлен с USB 2.0 DRD, SDIO, SPI, UART, I²C, CAN, I²S и аудио-ЦАП. Для него также заявлены G2D, display engine, RGB888, LVDS и четырёхполосный MIPI DSI. Эти возможности описывают SoC и его pinmux; они ещё не служат измерением кадровой частоты, пропускной способности PSRAM или качества драйверов на YuzukiNeko. Особенно показательна графика: аппаратная поддержка дисплея есть, однако дисплейный буфер на такой машине становится одним из крупнейших потребителей RAM.
Проект выложен вместе со схемой, PCB-проектом, Gerber, STEP, BOM и pick-and-place файлами под CC0. Это позволяет проверить разводку, повторить плату и собрать собственный образ. В документации уже есть аппаратная errata ранней V1.3: шелкография после отсутствующих PD10 и PD11 сдвигала номера GPIO на два; в V1.4 маркировку исправили. При этом опубликованные репозитории подтверждают воспроизводимую сборку и загрузочную цепочку, но не дают независимого serial boot log или измерений на серийной плате.