Эндрю Хуан (Andrew Huang) и Шон Кросс (Sean Cross), в своё время спроектировавшие открытый ноутбук Novena и платформу для создания смартфонов Precursor, представили на конференции 39C3 (Chaos Communication Congress) открытый SoC Baochip-1x, предназначенный для создания защищённых устройств интернета вещей (IoT). Чип спроектирован для использования вместе с микроядерной операционной системой Xous, развиваемым Эндрю и Шоном последние пять лет. Схемы, описания аппаратных блоков на языке Verilog, симулятор и сопутствующая проектная документация доступны под открытой лицензией CERN OHL 2.0. Код операционной системы Xous написан на языке Rust и распространяется под лицензией Apache 2.0.
В качестве причин для создания собственного SoC упоминается отсутствие на рынке чипов разумного компромисса, сочетающего легковесность с наличием возможностей для выполнения защищённых систем. Отмечается, что среди оборудования для встраиваемых устройств получили распространение две крайности — полнофункциональные чипы с блоком управления памятью (MMU), рассчитанные на запуск крупных платформ на базе ядра Linux, и урезанные чипы без MMU, для которых применяются операционные системы типа Zephyr, chibios или rt-thread, не предоставляющие должных гарантий безопасности.
Создатели чипа Baochip-1x попытались совместить легковесность, свойственную микроконтроллерам ARM без MMU, с возможностями изоляции памяти, доступными в полноценных CPU. Наличие MMU в Baochip-1x позволяет использовать страничную виртуальную память для изоляции процессов. ОС Xous комбинирует возможности виртуальной памяти с предоставляемой языком Rust проверкой заимствования переменных (borrow checker) для создания защищённого и эффективного механизма асинхронной передачи сообщений между процессами. Реализованная модель взаимодействия между процессами позволяет разделять разные задачи, сохраняя при этом минимальный размер ядра.
SoC Baochip-1x включает 32-разрядный CPU VexRiscv на базе архитектуры набора команд RISC-V (RV32-IMAC) c поддержкой схемы трансляции адресов Sv39 (виртуальной памяти) и четырёхъядерный ускоритель ввода-вывода BIO, основанный на проекте PicoRV и поддерживающий набор команд RV32E. VexRiscv работает на частоте 400 МГц, а BIO — 800 МГц. SoC оснащён 2 МБ SRAM и 4 МБ энергонезависимой RRAM. Первая партия чипов будет произведена во втором квартале 2026 года в компании TSMC с использованием техпроцесса 22nm (TSMC22ULL).

Операционная система Xous поддерживает процессы и потоки, и базируется на компактном микроядре и наборе сереров (реализаций сервисов), взаимодействующих через механизм асинхронной передачи сообщений в стиле QNX. Серверы ожидают поступления сообщений и запускают связанный c полученным сообщением код на языке Rust. Ядро отвечает за доставку сообщений серверам, выделение серверам процессорного времени и передачу владения памятью от одного сервера к другому.
На уровне ядра выполняется минимальный объём кода (размер ядра 4 КБ) и насколько возможно функциональность вынесена в пользовательское пространство. Среди прочего в пространстве пользователя реализованы примитивы для синхронизации, планирования задач, выделения памяти, взаимодействия с оборудованием и сетевого взаимодействия. В форме сервиса также реализован графический сервер (graphics-server). Отличительной особенностью Xous также является предоставление реализации стандартной Си-библиотеки, написанной на языке Rust.
Источник: opennet.ru
