
Подобно тому, как Raspberry Pi или Arduino могут быть преобразованы в гаджет IoT с добавлением пары коммутационных плат, c помощью некоторого припоя и небольшого количества кода, Precursor — это каркас, на котором вы можете собрать самые разные мобильные устройства своими руками. Вместо традиционной ARM или AVR «системе на кристалле» (SoC) Precursor работает на программно-определяемом аппаратном обеспечении программируемой матрицы (FPGA). ПЛИС — это море базовых логических устройств, которые пользователи могут подключать с помощью «битового потока». Мобильное устройство поставляется с предварительно загруженным битовым потоком, который заставляет FPGA вести себя как процессор RISC-V, но вы можете загружать (или кодировать) любой процессор, который вам нравится, будь то 6502, lm32, AVR, ARM или что-то еще. Все зависит от вас.
Характеристики устройства
— Корпус выполнен из алюминия, его размеры 69 х 138 х 7,2 мм. Есть ЖК-экран (336 * 536), аккумулятор на 110 мАч, клавиатура, динамик, вибромотор, акселерометр.
— Основа устройства — программно-конфигурируемая SoC, FPGA Xilinx XC7S50, на ее основе организована эмуляция 32-битного RISC-V CPU, работающего на частоте 100MHz. Кроме того, плата включает в себя 16 МБ SRAM, 128 МБ Flash, Silicon Labs WF200C Wi-Fi, USB type C, SPI, I²C, GPIO.
— Платформа оснащена двумя аппаратными генераторами псевдослучайных чисел. Это сделано для повышения безопасности. Интересный момент — в устройстве нет микрофона. Для чтения звука необходимо подключить гарнитуру. Это сделано для защиты от подслушивания. Если гарнитура выключена, звук записываться не будет, следовательно, подслушать что-либо удаленно невозможно.
— Модуль Wi-Fi аппаратно изолирован от всех других компонентов и работает в собственной среде. Для повышения уровня безопасности разработчики также предусмотрели запирающийся корпус, RTC для отслеживания целостности, мониторинг движения в режиме ожидания (всегда на акселерометре и гироскопе).
— При необходимости можно добавить цепочку самоуничтожения и очистить все данные. Эта опция активируется с помощью клавиши AES.
— FHDL-язык Migen (Fragmented Hardware Description Language), основанный на Python, используется для работы с аппаратными модулями. Он является частью платформы LiteX, которая обеспечивает инфраструктуру для создания электронных схем. Кроме того, разработчик подготовил эталонную SoC Betrusted, которая включает в себя процессор VexRISC-V RV32IMAC 100 МГц, а также встроенный контроллер Betrusted-EC с ядром LiteX VexRISC-V RV32I на 18 МГц.
— Также предоставляется набор криптографических примитивов, включая AES-128, -192, -256 с режимами ECB, CBC и CTR, SHA-2 и SHA-512, криптографический движок Curve25519 на основе эллиптических кривых. Движок основан на крипто-ядре Google OpenTitan.
Каждое устройство поставляется с предварительно созданным мобильным приложением OpenSignal (на основе криптографического протокола ZRTP и алгоритма AES с длиной ключа 128 бит). Приложение работает только на данной аппаратной модели телефона и не использует промежуточные серверы для передачи голосовых или текстовых сообщений.