Друзья! А вы когда нибудь задумывались о том, как делают смартфоны и планшеты? Какие инструменты для этого используются и откуда берутся материнские платы разных размеров и форм-факторов, но с таким похожим расположением элементов? Недавно мне удалось приобрести девкит aka evaluation board популярного в прошлом среднебюджетного чипсета Qualcomm Snapdragon 410 за 4.000 рублей и заценить его, что называется, в деле. Чем он отличается от одноплатного компьютера, из чего он состоит и что умеет — читайте в сегодняшней краткой, но достаточно подробной статье!

Что такое девкит?


Если вы крутой и продвинутый инженер, то ответ на вопрос что такое evaluation board наверняка знаете и сами. Однако сегодняшний материал будет написан в эдаком научпоп-стиле «для всех», поэтому строго в комментах не судите — старался всё расписать максимально доступно для рядового читателя!



Итак, давайте начнём издалека. В каждом смартфоне и планшете есть набор необходимых для функционирования системы компонентов:

  • Чипсет: сердце устройства, фактически процессор. Однако от процессоров общего назначения мобильные чипсеты отличаются тем, что в одном кристалле помимо ARM-ядер также находятся вспомогательные модули — контроллер памяти и eMMC/UFS, графический ускоритель, DSP-модуль для обработки изображения с камер, аудио-тракт, отвечающий за вывод звука через встроенный ЦАП или через протокол i2s на внешний кодек, а также модуль управления пинами общего назначения (GPIO) и общения с внешними устройствами с помощью шин SPI и I2C.
  • BT/Wi-Fi/GPS/FM радиотракт: обычно один комбо-чип, объединяющий в себе все указанные технологии беспроводной передачи данных. Модуль подключён к процессору напрямую, ранее — через SDIO, сейчас с помощью иных аппаратных шин. Вокруг чипа стоит обвязка — усилители сигнала и различные небольшие компоненты, необходимые для функционироавния тракта.

    image
    Пример реализации GPS/Wi-Fi/BT в чипсете SC6820. В MediaTek тех лет реализация +- похожая

  • GSM радиотракт: также известный как модем. Именно от него зависит, какие стандарты связи и наборы частот будет поддерживать устройство. Основой модема служит бейсбенд — специальный DSP-процессор со своей собственной прошивкой, который занимается измерением уровня сигнала, выбором вышки и коммуникацией с ней, а также обработкой AT-команд, которые посылаются чипсетом при совершении звонков, обработке SMS и т. п. Также бейсбенд занимается декодированием звука. К бейсбенду в пару идет антенный усилитель и свитч, обычно в одном или нескольких чипах (в зависимости от набора поддерживаемых стандартов).

    image

  • Контроллер питания: этот чип выполняет сразу несколько важных ролей, связанных с питанием устройства — схема зарядки (чарджер) литий-ионных АКБ, многоканальный ШИМ-контроллер, способный выдавать несколько уровней напряжений (обычно называемых Power Rail'ами. Типичные напряжения в смартфоне/планшете — ~0.8V питание ядер процессора, 1.8V — питание логики, 3.3V — питание контроллера тачскрина/дисплея, 5V — напрямую никуда не поступает, бывает лишь на входе USB). К КП всегда идёт обвязка в виде мелких SMD-компонентов и ключей. В редких случаях (привет Unisoc) и его умудряются запихнуть в чипсет!

Звучит сложно? После практики ремонта и моддинга смартфонов всё значительно проще :)
Однако спроектировать такую большую систему «на коленке» сложно и для разработчиков смартфонов/планшетов существуют специальные платы, называемые evaluation board или понятным любому русскому человеку словом девкит.

image
Dragonboard 800

На таких платах распаяно всё необходимое для работы устройства: процессор, память, радиотракт, джек для звука и микрофона, чарджер для АКБ, USB и конечно-же, JTAG для отладки с гребенкой, на которую выведены пины процессора. Кроме того, на девкиты часто устанавливаются уже готовые дисплеи и тачскрины, а процессор с ОЗУ и памятью нередко выносят в отдельные системы на модуле (SoM, о серийном планшете с съемным процессором читайте в моей отдельной статье). Делается это для возможности быстрой замены спаленного проца (ну, в конце-концов, не все инженеры могут сдуть и поставить процессор в BGA-корпусе) и в некоторой степени для упрощения дизайна самой платы (поскольку на SoM есть лишь самая необходимая обвязка). То есть сами девкиты — это формально две платы, где основная представляет из себя лишь набор интерфейсов и гребенки пинов с процессора!



На самом деле, evaluation kit'ы не шибко отличаются от современных одноплатников — единственное отличие в габаритах (одноплатники в разы меньше и подходят для готовых устройств), доступных шинах и GPIO: хотя и здесь есть интересные устройства типа Olimex A20 SoM, который выводит почти все пины с AllWinner A20. Так что можно смело сказать, что одноплатники отпочковались от девкитов и являются их куда более дешевыми, а главное поддерживаемыми коммьюнити аналогами.

image

Недавно мне удалось купить девкит Snapdragon 410 под названием Variscite Dart SD410. Это, конечно, не самый крутой доступный девкит (у него нет GSM-части), но тем не менее это полноценная плата с собственным столом, дисплеем, тачскрином и различными образами ОС.
Нашёл я его на известной онлайн-барахолке, человек хотел сделать из него игровую консоль, но не сложилось. Так и выставил за 5.000 рублей. Немножко торга и вот — девкит уже у меня, а я как большой ценитель различных редких и интересных одноплатников и девкитов не могу нарадоваться :)

Давайте же распакуем его и познакомимся с ним поближе!

Распаковка


Поставляется девкит в довольно большой коробочке с кратким мануалом, а также блоком питания. Для чуть более старых девкитов, например Idea6410 на базе Samsung S3C6410, характерны были DVD-диски в комплекте с лицензионной (?) Visual Studio 2005, Platform Builder с Windows CE и, конечно-же, BSP.



Сама плата прикручена к специальному «столу», дабы всё нужное не висело «на соплях». Несмотря на относительно большие размеры, девкит вполне можно превратить и в готовое устрйоство, размерами близкими к 7-дюймовому планшету. Делаем свой Nintendo Switch на Снапе!? :)



С верхней стороны платы расположен коннектор камеры, гребенка для JTAG, I2C/SPI и куча GPIO. Также сверху есть батарейка для поддержания работы RTC и три кнопки, характерных для Android (назад, домой и включение), а также перемычки на переключение режима загрузки. SD410 умеет грузиться с MicroSD, eMMC и… USB! Вот уж неожиданно для устройства на «снапе»!



По центру расположена та самая съёмная система на модуле с процессором и ОЗУ на борту. В качестве чипсета выступает APQ8016E с eMMC производства Samsung, на плате SoM также можно увидеть радиотракт Wi-Fi/BT/GPS и с обратной стороны контроллер питания. Фактически — это минимально необходимый набор для работы планшета или смартфона, остальная плата — лишь разведенная периферия!





Снизу платы разведен сетевой контроллер для LAN, а также USB-порты и 3.5мм разъемы Jack для подключения микрофона и динамиков. Есть также пятачки для ручной пайки динамиков и некоторых иных элементов.



С левой стороны платы расположен дисплей с емкостным тачскрином. Меня сразу удивила надпись LVDS, поскольку в мобильных устройствах гораздо более характерен MIPI DSI (схожий протокол), однако сняв и осмотрев дисплейный модуль я убедился, что Variscite изготовили переходную плату с TTL RGB на LVDS с помощью внешнего скалера. Зачем? Я и сам не знаю. Но с обратной стороны платы выведены пины DSI напрямую для подключения дисплея с мобильных гаджетов.



Справа мы видим свитч питания и набор пользовательских светодиодов, которыми можно поморгать. Кнопочки, кстати, тоже отдельные GPIO экспортированные в систему и их можно использовать для своих нужд.

Давайте же запустим плату!

Запускаем


Для функционирования платы необходимо как минимум две вещи. Первая — исходный код ядра. Так уж получилось, что далеко не все чипсеты поддерживают Mainline-ядро Linux и используют свои форки, пока ещё не объединённые с основной веткой. Вторая называется BSP (Board Support Package) — пакет для поддержки системой определенной платы. В случае Linux, в BSP содержится конфиг сборки ядра, device-tree или machine-файлы (если ядро не мейнлайн и без поддержки dtb) с описанием подключенных к плате устройств и конечно-же сами драйвера для дополнительной периферии (например контроллера дисплея).

Чтобы получить образы системы, нужно регистрироваться на сайте вендора и заходить на приватный FTP… но у меня такой возможности нет, поскольку девайс я покупал с рук. Но продавец выслал мне BSP с recovery-образами двух систем: Android и Yocto Linux.

Android уже был предустановлен на eMMC и здесь всё в целом стандартно: обычная система версии 7.1, AOSP, но с различным тестовым и презентационным софтом от Qualcomm. В целом, это уже фактически готовый самый обычный Android-планшет, только с внешней гребенкой и питающийся только от 5В:







Гораздо более интересной выглядит установка Linux. Образы поставляются в виде прошивки для fastboot, которые шьются буквально одной кнопкой. Сначала нужно ввести плату в режим fastboot: делается это включением платы с зажатой кнопкой «назад». Затем распаковываем архив с Yocto Linux и выбираем нужный образ — есть десктопный, консольный и с оконным менеджером Weston. Я выбрал последний: распаковываем gz-архив и редактируем скрипт прошивки, дабы он брал образ rootfs с weston:



После этого запускаем процесс прошивки, ждём секунд 30:



И у нас есть полноценный Linux как на одноплатнике!



Заключение


Ну что друзья, в сегодняшнем материале мы с вами рассмотрели такую интересную систему на модуле. Надеюсь, вам было интересно! А с какими интересными девбордами и чипсетами работали вы?

Друзья, если у вас есть похожие девкиты или просто одноплатники на каких-то интересных чипсетах типа древних самсунгов (времен S5PC), OMAP'ов, i.MX и т. п. и вам они не особо нужны — я готов рассмотреть их покупке. Особенно интересно было бы поколупать такой легендарный процессор, как Intel PXA (или его продолжателя в лице Marvel PXA) — киты с ним в свое время было достать несложно. Пишите в личку на Хабре :)



? Читайте также:

А ещё я держу все свои мобилы в одной корзине при себе (в смысле, все проекты у одного облачного провайдера) — Timeweb. Потому нагло рекомендую то, чем пользуюсь сам — вэлкам:

Комментарии (45)


  1. bodyawm Автор
    27.07.2024 14:15
    +2

    Друзья! Надеюсь материал вам был интересен. Сегодня чуть в нестандартное время публикуюсь т.к чуть просрочил публикацию


    1. MaFrance351
      27.07.2024 14:15
      +1

      Интересная железка. Хотя и подходящая больше для коллекции. Всегда хотел заполучить инженерный образец какого-то телефона.

      Интересно, реально ли на него портировать какой-то другой дистрибутив? Или в наличии только образы, без нужных исходников?


      1. bodyawm Автор
        27.07.2024 14:15

        С такими платами всегда идет полный исходный код ОС. В случае 6410 - на дисках (WinCE + BSP + Platform Builder + документация).


      1. lumag
        27.07.2024 14:15

        Основная проблема, обычно, что там зачастую может быть произвольно старое ядро, сильно покореженное сначало производителем процессора, а потом еще и производителем девкита. В итоге портировать это все на современные версии местами очень (не-)весело.

        Конкретно в этом случае, скорее всего, квалкомовское ядро в Android сборках и какое-то линаровское в Yocto (я бы предположил, что 4.4 или 4.9).


    1. Johan_Palych
      27.07.2024 14:15
      +1

      Без хейта и критики, но ссылки на железку не помешают. Только на мой взляд.
      FEBRUARY 26, 2016 Variscite DART-SD410 Snapdragon 410 SoM Comes with WiFi 802.11 b/g/n, Bluetooth 4.1 & GPS
      https://www.cnx-software.com/2016/02/26/variscite-dart-sd410-snapdragon-410-som-comes-with-wifi-802-11-bgn-bluetooth-4-1-gps/
      DART-SD410 Evaluation Kits. Starter Kit и Development Kit
      https://www.variscite.com/product/evaluation-kits/dart-sd410-kits/
      DART-SD410 : Qualcomm Snapdragon 410
      https://www.variscite.com/product/system-on-module-som/cortex-a53-krait/dart-sd410-qualcomm-snapdragon-410/
      Android, Yocto, Debian Linaro, Ubuntu Linaro
      https://variwiki.com/index.php?title=DART-SD410


  1. MaFrance351
    27.07.2024 14:15
    +2

    Основой модема служит бейсбенд — специальный DSP-процессор со своей собственной прошивкой, который занимается измерением уровня сигнала, выбором вышки и коммуникацией с ней

    Вообще, по сути это полноценный компьютер со своей ОС (обычно Nucleus RTOS), памятью, ПЗУ и контроллером периферии. Причём исходники и даже отдельные детали реализации прошивки распространяются под строжайшими NDA, даже производителям телефонов разработчики модемов их не выдают.


    1. bodyawm Автор
      27.07.2024 14:15

      Все верно. Бсп смартфонов утекали, а вот исходный кол модемов - нет. Единственный опенсорс бейсбенд это калипсо и то реверснутый


      1. S-trace
        27.07.2024 14:15

        Ну почему же, и исходники модемов утекали, и их даже порой можно собрать и запустить. На 400 снепе точно.


    1. acc0unt
      27.07.2024 14:15
      +2

      Связан этот невиданный уровень секретности скорее всего с дичайшей патентной нагрузкой на мобильную связь и всё с ней связанное.

      Если у тебя исходники DSP в открытом тексте, то прочесать их на предмет всяких патентных нарушений относительно легко. А если у тебя только бинарники, собранные с оптимизациями, аккуратно очищенные от строк и символов, пожатые, и поверх этого зашифрованные? Найти и тем более доказать в этом месиве что-то становится в разы сложнее, то есть дольше и дороже.


      1. vorphalack
        27.07.2024 14:15
        +4

        плюс, как в другом треде уже обсуждалось, еще и требования FCC и прочих, чтоб кто не нужно не залез куда не надо.

        плюс, там скорее всего ЛЮТЕЙШИЙ говнокод, чтоб это хоть как-то работало, и такое выставлять, ну, просто опасно.


        1. Nick0las
          27.07.2024 14:15

          плюс, там скорее всего ЛЮТЕЙШИЙ говнокод, чтоб это хоть как-то работало, и такое выставлять, ну, просто опасно.

          Не опасно а стыдно.


          1. vorphalack
            27.07.2024 14:15
            +1

            ну я 2-в-1 имел в виду, и стыдно, потому что потом всех причастных никуда не возьмут, и опасно - потому что там дыр скорее всего как в рыбацкой сети.


      1. kenomimi
        27.07.2024 14:15
        +2

        Есть неявное, но строгое требование FCC - открытый код не сертифицируется, и не просто отрытый код, даже чипы лочить нужно наглухо. Без этой сертификации "белый" рынок США и Европы закрыт... Зачем? Черт его знает. Во-первых, можно предположить, что код БС дыряв напрочь (почти стопроцентно так), и никто не хочет массы пентестеров и хакеров на инфраструктуре. Без исходников туда может влезть только самая элита, которой такое детское хулиганство не интересно. Да, есть слитые исходники, но они не сказать, чтобы полноценны... Во-вторых, в FCC имеют свой интерес крупные вендоры, которые через сертификацию имеют возможность выкинуть любого малого конкурента с рынка, не допустив его роста. Например, баттхерт от тех же баофенгов был очень велик - раньше такие рации продавали на два порядка дороже при сравнимом качестве...

        По поводу патентов - так модемы делают десяток контор по миру, железка очень сложная, спеки на протоколы это буквально вагоны бумаги. Даже яблоко в свой модем быстро не смогло, при их-то количестве и качестве инженеров. Врядли там имеют место массовые заимствования кода, слишком палевно, сотрудники же могут сегодня работать у тебя, завтра у конкурента - всё тут же всплывет. Секретность скорее связана с попыткой спрятать дырявый говнокод и для дружбы с FCC.


        1. sentimentaltrooper
          27.07.2024 14:15
          +4

          Как человек регулярно сертифицирующий разное под в том числе и FCC имею сказать что есть огромный соблазн сделать прошивку чисто под тест и потом сменить когда сертификат получен. Потому что по-честному 90% китайцев фонит во всем диапазоне (особенно все типы switching power supply), в частности по этому FCC требует все лочить. А теории заговора потом.


          1. vorphalack
            27.07.2024 14:15

            на Радиосканнере была охрененная тема, москва, здание с диодной подсветкой. как только она загоралась - VHF умирал в радиусе километров. да, киловаттные китайские импульсники и диодные ленты в качестве охрененной антенны.

            щас еще знакомый жаловался, работает связистом в большой конторе, им по тендеру закупили китайские диодные лампочки, которые надо на верхушку мачт ставить. ну да, отлично, -80дб широкополосного шума прям на приемную антенну. а закупщикам и начальству не объяснить...


            1. kenomimi
              27.07.2024 14:15

               как только она загоралась - VHF умирал в радиусе километров

              Он с любого чиха умирает. А уж такой мощи свистящий импульсник заглушит гарантированно.

              ИЧСХ, китайские импульсники, подсветки, лампочки, и прочее добро из массмаркета пролетает FCC не глядя. Ну или часть сертификатов у китайцев фальшивые (взяли чужой банально - девас же нонейм), я хз. Такое дерьмо с логотипом FCC попадалось...


              1. vorphalack
                27.07.2024 14:15

                или на сертификацию отправляли собранную по всем правилам, а потом "уведомление об изменении конструкции без изменения параметров" и все ферриты с катушками нахрен, ибо их паять надо руками, дорагааааааа ©


              1. sentimentaltrooper
                27.07.2024 14:15
                +1

                Там можно заказать прям сразу с "сертификацией", какую надо такую Дядюшка Ляо прилепит. Мне как раз месяца два назад принесли такое - не проходит сертификацию в Канаде (то же FCC с другой аббревиатурой). "Но как же так!?" - спрашивает клиент, - "Мне партнер из Китая прислал результаты - все было ОК". Открываю результаты и тут прекрасно: на графике четко видно что пик излучения за пределами. В таблице честно посчитано что превышает на 16 dB что ли, а в колонке Статус - PASS! Я оценил. А потом начинается огород с фильтрами, понижением мощности... я как Остап Бендер тоже знаю 400 сравнительно честных способов пройти FCC - большая часть из них, конечна, связана с созданием клетки Фарадея внутри устройства. Краска с никелем и алюминиевая москитная сетка (с идеальным шагом ложащаяся на LED панели) - верхушка айсберга. Но в тот раз клиент с китайским партнером куда-то испарились.


        1. vorphalack
          27.07.2024 14:15

          справедливости ради, баофенги все и правда лютейшее говно с точки зрения ЭМИ и общего качества.
          в той же швейцарии у OFCOM запрет на ввоз, продажу и использование чуть ли не всего подряд на RDA, например.

          впрочем, и как принимающий тракт там тоже хрень полная, но это уже FCC вряд ли волнует так сильно.


  1. ripandtear
    27.07.2024 14:15
    +5

    В целом неплохой материал.

    У SoC которые ставят в мобильные устройства, например от Mediatek, Unisoc, Rockchip, упомянутый Qualcomm - много скрытой от программистов периферии (Это не только Baseband, BT, Wifi). А так же не полная документация, не полная карта регистров. Все что можно обложено бинарными блобами (Например настройка DDR-контроллера под определенные "Одобренные" микросхемы памяти)

    Подобные SoC для мобильных устройств, чаще всего могут грузиться только с eMMC, и больше ни с чего. Встроенный загрузчик в ПЗУ в отличие от каких-нибудь МК или SoC для промышленного применения, довольно больших размеров, и умеет поднимать целый USB-интерфейс для общения по нему с конкретно утилитой от вендора, которая не всегда позволяет делать все, что хочется (Например медиатек).

    Чипы для одноплатников все-таки больше похожи на MPU/MCU, у которых в корне другой подход - продать больше самих чипов и там часто вся документация открыта (Нет чувствительных технологий по типу всего этого Radio и LTE), хотя на MCU например к частям BT (Если он встроен в МК) доступа в плане исходников или полноценной документации тоже нет.

    В целом, портировать или запустить какую-то ос не с поставки вендора, весьма трудно т.к. отсутствуют драйвера и т.п., их обычно пишет под андроид сам вендор, потом берет AOSP, слепляет два куска, и получается Андроид на ОЕМ девайсе который потом предлагается всем подряд, часто там какие-нибудь условные Xiaomi обои меняют (Свой личный неповторимый андроид-ui) и позиционируется как "свое" устройство.


    1. acc0unt
      27.07.2024 14:15
      +2

      Сейчас BootROM, способные поднимать USB-стек, становятся всё более частым явлением даже в микроконтроллерах.

      Например, у RP2040 из коробки идёт BootROM с поддержкой UF2 - режима прошивки на основе USB MSD. У STM32 в новых линейках чипов BootROM поддерживает USB DFU. А у ESP32-C3 есть "хардовый" USB-контроллер, на аппаратном уровне реализующий USB-UART и USB-JTAG.


    1. bodyawm Автор
      27.07.2024 14:15
      +2

      А так же не полная документация, не полная карта регистров

      Вот здесь верно. Особенно сильно это касается GPU (не путать с контроллером дисплея и аппаратным 2D-ускорением): почему-то вендоры усиленно прячут плюшки их видеоускорителей. С другой стороны, под VideoCore IV, например, программировать в Bare Metal не так уж и сложно.

      Например настройка DDR-контроллера под определенные "Одобренные" микросхемы памяти

      А вот это неправда. У МТК в до-бутербродные времена был отдельный csv в системе сборки, который описывал поддерживаемые CID флэш памяти с настройками ддр контроллера. Ничего не мешало свапать прелоадеры с других устройств и даже апгрейдить ОЗУ.

      Подобные SoC для мобильных устройств, чаще всего могут грузиться только с eMMC, и больше ни с чего

      Тоже неправда. Квалк умеет грузится с сд при наличии фьюза и через юсб, если упал в 9008. У аллвиннера есть FEL, у рокчипа тоже что-то свое, а вот мтк и юнисок грузится с сд действительно не умеет.

      Чипы для одноплатников все-таки больше похожи на MPU/MCU

      Ну это зависит от самого одноплатника, конечно. Ваш пример хорошо подходит к аллвиннерам и особенно свеженьким v3s и f1c100s/f1c200s. Они не очень шустрые, но достаточно мощные для выполнения многих задач и доки на них свободно распространяются. В некоторой степени это касается и Broadcom.

      Странно что Marvel PXA не видно.


      1. MaFrance351
        27.07.2024 14:15
        +1

        Найти бы для последней платформы. Мне (как любителю КПК) было бы очень интересно посмотреть на подобную отладочную плату для коммуникатора под Windows Mobile.


        1. bodyawm Автор
          27.07.2024 14:15

          Для PXA когда-то были, сейчас не найдшь. Ссылку на S3C6410 с винсе скинул в лчику в тг


      1. monpa
        27.07.2024 14:15
        +2

        f1c100s/f1c200s

        доки на них свободно распространяются

        Это те-то "доки" с confidential поперёк документа, где кроме абсолютного минимума ничего нет? Пытался как-то раз запустить больше одного чипселекта на SPI - нифига. В "доках" даже на распиновке его нет, проверить, верные ли адреса в ядре вбиты, просто неоткуда.


    1. jpegqs
      27.07.2024 14:15

      Подобные SoC для мобильных устройств, чаще всего могут грузиться только с eMMC, и больше ни с чего

      У Mediatek и Unisoc есть загрузка через USB. И у Rockchip есть, но это не просто.

      Встроенный загрузчик в ПЗУ

      И реализована прямо в ROM чипа. У Rockchip легко доступный загрузчик таки в ПЗУ, а в maskrom (что из ROM чипа) режим сложно зайти, нужно замыкать нужные контакты, которые не всегда найдёшь на постоянно изменяющихся разводках плат.

      и умеет поднимать целый USB-интерфейс для общения по нему с конкретно
      утилитой от вендора, которая не всегда позволяет делать все, что хочется
      (Например медиатек).

      Такое только ленивый может писать, который хочет чтобы ему всё принесли на блюдечке, а сам и пальцем не пошевелит. Полно уже открытых утилит сделанных путём реверс-инжиниринга. У меня есть свои открытые утилиты подобного плана.


  1. lumag
    27.07.2024 14:15
    +1

    SD410 не запускали, мимо не пробегал. Для db410c (тот же чип) есть и Debian сборки (https://snapshots.linaro.org/member-builds/qcomlt/debian/arm64/) и Yocto (https://snapshots.linaro.org/member-builds/qcomlt/boards/qcom-armv8a/openembedded/master/94993/). Будет желание запустить что-то новее чем сборка 2016 года, обращайтесь, попробую подсказать. Если там какая-нибудь стандартная панелька, должно быть не особо сложно даже графику поднять.

    Про PXA. Мимо меня когда-то пробегал Mainstone (PXA270), мы на нем тестировали сборки Debian. Девкит интересный и красивый, но уж больно со временем стал глючным. В принципе они изредка пробегают на eBay. Если хочется поразвлекаться с Linux на железе того времени, возможно, проще отловить Sharp Zaurus (только не SL5000/5500/5600), на них был нативный Linux от изготовителя и потом их долго поддерживали энтузиасты


    1. dvrpd
      27.07.2024 14:15
      +2

      У 410 вроде неплохая поддержка в мейнлайне есть.


      1. lumag
        27.07.2024 14:15

        Так я и дал ссылки на сборки на мейнлайне (вернее на LTS).


    1. bodyawm Автор
      27.07.2024 14:15
      +1

      Да, шарп мечта. На линуксе есть и n900/n800 и еще много крутых девайсов, включай umpc.

      Девкит на pxa пока не видел


      1. lumag
        27.07.2024 14:15

        n770/n800/n900 как-то мимо меня прошли. Intel MID был в руках, но как-то не впечатлил.

        Шарпы есть на авито, но CL-3200 стоит каких-то безумных денег (хотя это действительно раритет и самая сильная модель), а SL-5600 -- это довольно странный девайс. Он работал и довольно приятно, но был с мелкими глюками, например там с полярностью пинов на сериальнике были проблемы.

        PXA встречается на просторах мироздания. И даже объявление не снято с продажи. Попробуйте поискать посредника или просто знакомых, кто поможет.


      1. lumag
        27.07.2024 14:15

        Да, вот еще девкит, на PXA250 (одна из первых вырсий чипа). Если получится получить Mainstone или Lubbock (или мало ли Assabet), пингуйте, у меня от них какая-то документация до сих пор лежит,


  1. jpegqs
    27.07.2024 14:15
    +1

    И никто не написал про Hexagon: у многих чипов Qualcomm (возможно у всех новых) есть DSP на архитектуре VLIW под названием Hexagon. Причём и не один, для модема, для аудио, на дорогих моделях еще один с HVX (Hexagon Vector eXtension) расширением, в котором 1024-бит вектора (больше чем в AVX-512 у Интела!). Чтобы его программировать - нужен SDK от Qualcomm, можно скачать после бесплатной регистрации на сайте для разработчиков. На старых моделях чипов доступ к DSP закрыт (нужно получать ключ для анлока от Квалкома, который был привязан к серийнику аппарата, а значит работал ровно для одного телефона), но был хак freethedsp для получения доступа.

    У меня есть догадки почему доступ к DSP был ограничен, по опыту программирования сложилось впечатление что DSP имеет полный доступ ко всей системе, ошибки в коде для DSP часто приводили к зависанию системы. Возможно DSP не имел MMU и имел прямой доступ к памяти. Что не только неудобства, если разработчик допустил ошибку в коде для DSP, но и лазейка для троянов, для получения полного доступа над устройством. Скорее всего доступ открыли после того как в DSP добавили ограничения доступа к системе для пользовательских программ.


    1. bodyawm Автор
      27.07.2024 14:15

      Да, хорошее замечание. Дсп очень интересен.


    1. strvv
      27.07.2024 14:15
      +1

      Скорее всего.

      Это как мультипроцессорная система, где мастер DSP, с прямым доступом ко всему полю памяти. Т.е. обычный проц просто указывает там данные и ставит флаг, ДСП блокирует остальные процы в данной части и творит.


  1. MinimumLaw
    27.07.2024 14:15

    410-ый можно до сих пор встретить в дешовых китайских 4G модемах (которые являются хорошо замаскированными Android телефонами). Есть даже некоторое количество альтернативных прошивок для них - в частности с Debian и OpenWRT. Камень неплохо поддерживается современным ядром.

    Но, к сожалению, его время давно прошло. Сегодня он почти не интересен. Как Bare Mеtal все так же плохо документирован, как носитель операционной системы по современным меркам не обладает достаточными вычислительными ресурсами. Да и доступность его вызывает некоторые сомнения (как и чипов-компаньонов типа PMIC или классической для тех времен связки в одном корпусе eMMC + DRAM).


    1. bodyawm Автор
      27.07.2024 14:15
      +1

      У квалков есть один железный аргумент для DIY: Adreno. Даже в относительно бюджетном 410ом, гпу очень шустренький.

      Я не уверен, что видеокор броадкома смог обогнать адрено из 800ого снапа, хотя повервр в свежих аллвиннерах вполне добрвлся.

      Еммс еще выпускают Barun и Foresee, КП потенциально меняется на набор DC-DC на VCore, Vio, Ddr и т.п, но вот сам чип... да, проблема найти.


  1. Nick0las
    27.07.2024 14:15
    +3

    Был у мен проект для квалкома (смарт-часы) И девкит подобный был. От проекта остались ужансые воспоминания. И система сборки и код, и исполнение самого девкита - лютый ужас. К основному чипу идет сопроцессор на котором работает wifi, bt и прочая переферия.

    На сопроцессоре своя RTOS и ужаснейший код, и неудобная иситема сборки. В исходниках есть тонны мервого кода, некоторые драйвера прсутствуют 2-3 раза причем один экземпляр рабочий а два других - мертвые. Что такое нормальный HAL они не знают. Если они на девките используют GPIO59 как прерыевание для акселерометра то это будет прибито гвоздями и во всей документации и в коде. Причем это прерывание в принципе можно перенести на ногу 53 или на любую другую но не поменяв одну цифру в device tree или в какой-нибудь таблице, как у нормальных людей, а методом тыка. С андроидом и его чипом не так все печально, хотя андроид разработчик возмущался, как там можно испортить AOSP.

    Аппаратно девкит представлял собой коробку странной формы в которой две платы, куча какой-то обвязки, непонятно зачем туда поставленной, и наружу выведены очень неудобные разьемы, в которых всеравно почти нет переферии. Т.е. заменить на девките например акселерометр, и подкинуть еще сенсоров очень неудобно. В итоге мы делали свою отладочную плату под этот проект.


  1. Zuy
    27.07.2024 14:15
    +1

    Я разрабатываю BSP для новых Pixel смартфонов, у нас дев плата раза в 4 больше и SoC в панельке стоит, которая каких-то бешеных денег стоит.


    1. bodyawm Автор
      27.07.2024 14:15

      Нифига се вы крутой. А можете, пожалуйста, побольше деталей рассказать, которые не под NDA? Или может что-то сможете рассказать о смартфонах времен Nexus или прошлых пикселей?


      1. Zuy
        27.07.2024 14:15
        +1

        Я с Nexus не работал, начал с SoC которые потом пошли в Pixel 8 и Pixel 9. Для них я делал pre и post silicon bringup. Т.е. я запускал Андроид на SoC которые еще в производство не ушли. Это делается на эмуляторах, где загрузка в Андроид занимает часа 3, а один кадр рендерится минут 10.
        Сейчас отвечаю за low speed IO в ядре линукса для SoC который пойдет после Pixel 9. Но рассказать тут действительно практически ничего нельзя :(


        1. bodyawm Автор
          27.07.2024 14:15

          Круто! Спасибо


  1. NutsUnderline
    27.07.2024 14:15
    +2

    а мне как раз по предыдущим статья стало любопытно: есть ведь девкиты и под китайские кнопочники с 2G и java


    1. bodyawm Автор
      27.07.2024 14:15
      +1

      Их никогда не видел(


    1. jpegqs
      27.07.2024 14:15
      +1

      Если девборды есть даже для чипов использующихся в "смарт" браслетах за 200-300р., то и для кнопочных есть.

      Например, нагуглил девборду для Mediatek MT6260 (aka Fernvale).