Комментарии 8
Друзья! Надеюсь материал вам был интересен. Сегодня чуть в нестандартное время публикуюсь т.к чуть просрочил публикацию
Интересная железка. Хотя и подходящая больше для коллекции. Всегда хотел заполучить инженерный образец какого-то телефона.
Интересно, реально ли на него портировать какой-то другой дистрибутив? Или в наличии только образы, без нужных исходников?
Основой модема служит бейсбенд — специальный DSP-процессор со своей собственной прошивкой, который занимается измерением уровня сигнала, выбором вышки и коммуникацией с ней
Вообще, по сути это полноценный компьютер со своей ОС (обычно Nucleus RTOS), памятью, ПЗУ и контроллером периферии. Причём исходники и даже отдельные детали реализации прошивки распространяются под строжайшими NDA, даже производителям телефонов разработчики модемов их не выдают.
Все верно. Бсп смартфонов утекали, а вот исходный кол модемов - нет. Единственный опенсорс бейсбенд это калипсо и то реверснутый
Связан этот невиданный уровень секретности скорее всего с дичайшей патентной нагрузкой на мобильную связь и всё с ней связанное.
Если у тебя исходники DSP в открытом тексте, то прочесать их на предмет всяких патентных нарушений относительно легко. А если у тебя только бинарники, собранные с оптимизациями, аккуратно очищенные от строк и символов, пожатые, и поверх этого зашифрованные? Найти и тем более доказать в этом месиве что-то становится в разы сложнее, то есть дольше и дороже.
В целом неплохой материал.
У SoC которые ставят в мобильные устройства, например от Mediatek, Unisoc, Rockchip, упомянутый Qualcomm - много скрытой от программистов периферии (Это не только Baseband, BT, Wifi). А так же не полная документация, не полная карта регистров. Все что можно обложено бинарными блобами (Например настройка DDR-контроллера под определенные "Одобренные" микросхемы памяти)
Подобные SoC для мобильных устройств, чаще всего могут грузиться только с eMMC, и больше ни с чего. Встроенный загрузчик в ПЗУ в отличие от каких-нибудь МК или SoC для промышленного применения, довольно больших размеров, и умеет поднимать целый USB-интерфейс для общения по нему с конкретно утилитой от вендора, которая не всегда позволяет делать все, что хочется (Например медиатек).
Чипы для одноплатников все-таки больше похожи на MPU/MCU, у которых в корне другой подход - продать больше самих чипов и там часто вся документация открыта (Нет чувствительных технологий по типу всего этого Radio и LTE), хотя на MCU например к частям BT (Если он встроен в МК) доступа в плане исходников или полноценной документации тоже нет.
В целом, портировать или запустить какую-то ос не с поставки вендора, весьма трудно т.к. отсутствуют драйвера и т.п., их обычно пишет под андроид сам вендор, потом берет AOSP, слепляет два куска, и получается Андроид на ОЕМ девайсе который потом предлагается всем подряд, часто там какие-нибудь условные Xiaomi обои меняют (Свой личный неповторимый андроид-ui) и позиционируется как "свое" устройство.
Сейчас BootROM, способные поднимать USB-стек, становятся всё более частым явлением даже в микроконтроллерах.
Например, у RP2040 из коробки идёт BootROM с поддержкой UF2 - режима прошивки на основе USB MSD. У STM32 в новых линейках чипов BootROM поддерживает USB DFU. А у ESP32-C3 есть "хардовый" USB-контроллер, на аппаратном уровне реализующий USB-UART и USB-JTAG.
Как делают смартфоны: смотрим на редкий девкит процессора Qualcomm Snapdragon 410