Вы когда-нибудь хотели узнать, как инженеры разрабатывают смартфоны и что для этого используют? Сегодня об этом я вам расскажу!
Начинается все с выбора аппаратной платформы. Телефоны с нуля ещё с самого начала 2000-х никто не разрабатывает, предпочитая использовать уже готовую платформу - собственной разработки (как Sony Ericsson с платформой DB2xxx в нулевых или Samsung с Exynos в наше время) или сторонней (MediaTek/UniSoc). Платформа представляет из себя специальную отладочную плату, называемую Development Kit, которая включает в себя:
1. Процессор, память и контроллер питания, чаще всего разведённые на отдельной миниатюрной плате, которая вставляется в основную. Сделано это для возможности быстрой замены вышедшего из строя процессора (как в ПК!). Процессоры, к слову, в таких платах обычно инженерные и у них с завода разблокирован загрузчик на уровне BootROM. 2. Несколько гребенок, где выведены все нужные сигнальные линии с процессора и контроллера питания. Это нужно как для отладки, так и для возможности "на соплях" подключить модуль в процессе написания драйвера и формирования окончательной схемы. Иногда модули подключают просто Dupont-проводками, как в Arduino 😎 3. Набор разъемов по типу SATA и PCI-E, при условии что процессор их поддерживает. Сбоку платы располагается разъем для питания, RJ-45 для подключения к сети, COM-порт для отладки через UART, несколько USB и 3.5мм Джек. 4. Обязательно дисплей и клавиатуру (если это кнопочник). В ранних телефонах дисплей мог быть подключен по SPI/I2C/8080, из за чего экран другого типа приходилось колхозить самому, сейчас же все дисплеи подключаются через MIPI DSI, что позволяет обойтись лишь адаптером на конкретную матрицу.
Вместе с девкитом, инженеры получают референсную прошивку (в наше время обычно AOSP), документацию (раньше она шла на дисках) и схему референсной платы, по образу которой будет создана конечная плата телефона.
Когда необходимый функционал обкатали на девките, в производство пускают прототипы - причем за время производство телефона их может быть сразу несколько ревизий. На прототипах обкатывают схемотехнику (да, забытый где-то в RF-фронтэнде резистор может сломать всю радиочасть телефона), удачность конструкции (в некоторых Siemens'ах 65'ой серии, нажатие на клавиатуру сгибало плату в области процессора и со временем рвала пятаки под ним) и адаптируют под них софт. Ключевое отличие ранних прототипов от релизных устройств - наличие отладочной гребёнки, куда можно подключить отладчик, а также потыкать осциллографом или лог. анализатором.
Если прототип показывает жизнеспособность, то его пускают в серию, при этом прообразы финального устройства отправляют в утилизацию. Чаще всего это шреддер, из за чего многие прототипные устройства повреждены. Но бывает что сотрудники утаскивают целые и порой даже идеальные телефоны - как в случае с растащенного R&D центра Motorola в РФ, откуда утащили редчайший прототип E398 на Linux :)
Подытожив, можно сделать вывод что телефон на самом деле разрабатывает производитель процессора. Именно MediaTek, Qualcomm, Unisoc и HiSilicon проектируют как аппаратную часть половины всех современных телефонов, так и пишут программную - портируют Android и Linux, пишут прошивку для модема и даже алгоритмы для DSP камеры. Условные Poco, Tecno и Xiaomi в большинстве случаев лишь разрабатывают корпуса, выбирают какие компоненты установить и портируют на телефоны свою оболочку...
А что вы думаете о процессе разработки телефонов? Было интересно почитать, или не очень? Каким смартфоном пользуетесь на повседнев? Пишите свое мнение в комментариях!