- PVSM.RU - https://www.pvsm.ru -

Прототип, разработанный в 2003-2004 году, на первый взгляд представлял из себя самый обычный E398 (также известный как D398 или E399) с немного измененным дизайном. Отличия по большей части минорные: немного другая форма клавиатуры, синий цвет корпуса и кнопка меню, которая больше напоминает оную из C350.

На самом же деле, это корпус от раннего прототипа E398, который разрабатывался параллельно с Linux-моделью:

Однако при включении этого экземпляра, нас встречает не классическая заставка Hellomoto, а загрузчик, который радостно сообщает о запуске AP-процессора...
Что такое AP-процессор?
В обычных телефонах для работы всего устройства достаточно лишь одного процессора - так называемого Baseband'а. Чаще всего это один чип, который содержит в себе одно ядро общего назначения - например ARM7TDMI, которое занимается задачами отрисовки интерфейса, высокоуровневой работой с GSM-стеком и обработкой AT-команд, и вспомогательное ядро DSP, в задачи которого входит низкоуровневая работа с сетью, кодирование/декодирование звука и иногда некоторые другие задачи. Baseband-процессоры всегда работают исключительно на RTOS, поскольку при работе с GSM-стеком необходима гарантированная и строгая по времени выполнения реакция на события в сети.
В смартфонах же всё работает чуточку по другому: там задача запуска операционной системы, пользовательских программ и обработка ввода ложится на отдельный Application-процессор. На нём можно использовать любую операционную систему, включая по большей части не-реалтаймовые по типу Linux, Windows NT и Windows CE. Однако в смартфонах Baseband-процессор всё равно присутствует, только теперь он подключен к AP-процессору через шину по типу UART (в современных шин несколько, а сам Baseband переехал в основной SoC).

После этого, телефон показывал логотип MontaVista Linux и загружал самый обычный рабочий стол, почти как в E398... Но это только на первый взгляд!

Дело в том, что у Motorola существовало сразу несколько программных платформ для телефонов:
Знакомый нам P2k, который использовался в основной линейке телефонов компании.
Motorola EZX, который был построен на базе дистрибутива MontaVista Linux и UI-фреймворка Qt с кастомной оконной системой. Эта платформа встречалась в флагманских устройствах компании с 2003 по 2007 год: Moto E680, Moto A1200 Ming, Moto A780, Moto ROKR E2 и ROKR E6.
MotoMAGX, который также был построен на базе дистрибутива MontaVista, только уже под названием Mobilinux. Как и EZX, MotoMAGX использовала Qt в качестве UI-фреймворка, но изнутри значительно отличалась от EZX и предназначалась для флагманских телефонов Moto вышедших в 2007-2009 годах: RAZR2 V8, EM30, ZN5.
JUIX, который по сути света так и не увидел. Это была промежуточная разработка между EZX и MAGX на без той-же самой MontaVista, однако теперь вместо Qt использовалась Java, а весь интерфейс и окружение были написаны с использованием профиля CDC (урезанная Java 1.3). По сути, это была некая попытка написать Android ещё до самого Android, только с заделом сразу под кнопочные устройства и без возможности лицензирования...
И этот прототип как раз использовал раннюю версию JUIX. Однако несмотря на то, что внешне телефон кажется полностью функциональным, у него вообще не работали кнопки навигации. Скорее всего, инженеры Motorola просто не успели написать драйвер для обработки клавиатуры, поэтому EXL написал небольшую программу для проброса ввода через telnet:

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

Однако если присмотреться, то можно заметить что вместо слота MicroSD выглядывает какой-то чип... И при ближайшем рассмотрении оказывается, что это не просто какая-то eMMC-флэшка, которую повесили на MMC-шину устройства, а тот самый AP-процессор! Причём сама аппаратная платформа осталась до боли знакомой: в качестве Baseband'а используется всё тот же Neptune LTE, практически вся схемотехника идентична оригинальному устройству, однако в телефоне отсутствует чип, отвечающий за Fun lights и вместо него разведен отдельный драйвер подсветки дисплея.

Поскольку это прототип, Neptune LTE здесь сразу же установлен инженерный и следовательно загрузчик устройства разблокирован с завода. Однако в его модификации смысла нет, так как P2k здесь не используется, да и пока неизвестно есть ли что-то на микросхеме его Flash-памяти.
Зато AP-процессор здесь очень даже знакомый! Это легендарный Intel PXA272, который также использовался в других Linux-телефонах Motorola на платформе EZX, как, например, A1200 Ming, а также в подавляющем числе Windows Mobile смартфонов. По своей сути, это один из самых мощных мобильных процессоров тех лет, который применялся в флагманских КПК и коммуникаторах. Внутри него скрывается:
Одно вычислительное ядро Intel XScale, реализующее набор инструкций ARMv5. Да, когда-то Intel не просто выпускала ARM-процессоры, но и разработала свою собственную микроархитектуру, отличную от ядра ARM9. XScale способен работать на частоте до 624МГц (это огромная частота и MIPS по меркам телефонов тех лет, процессор мало в чём уступал пока ещё не совсем устаревшим младшим Pentium III), использовал относительно короткий 7-ступенчатый конвейер инструкций (для сравнения, P III имел около 10 стадий, P4 - аж 20-30 стадий в зависимости от ядра, что его значительно замедляло из-за "сломанного" Branch Prediction), имел 32КБ кэша инструкций и 32КБ кэша данных и поддержку одного из первых мобильных SIMD - набор инструкций Wireless MMX (за ~7-8 лет до массового появления NEON в смартфонах). Однако у PXA был и минус - не было FPU, поэтому все операции с плавающей точкой были относительно медленными.
32 или 64 мегабайта NOR-памяти по технологии Intel StrataFlash, плюс 32 или 64 мегабайта SDRAM-оперативной памяти прямо на борту процессора! Да, бутербродные процессоры придумали задолго до Qualcomm, только раньше в них ещё и Flash устанавливали :)
Контроллеры USB (включая хост), AC97, I2S, I2C, SPI, UART, SD/MMC, ШИМ и GPIO.
Контроллер дисплея. С ним связана отдельная особенность в E398.
И всё это построено по техпроцессу ~130нм!

Если вы читали статью о E398, то могли узнать, что телефоны на платформе Neptune LTE использовали отдельный GPU ATi Imageon, поскольку процессор работающий на частоте 52МГц, не вывозил отрисовку графики своими силами. В этом прототипе необходимость в нём отпала, поскольку контроллер дисплея в XScale напрямую умеет работать с параллельными RGB-матрицами и способен быстро отрисовывать графику самостоятельно. Именно поэтому я сказал что дисплей в E398 носит явные коммуникаторные корни!

По итогу у EXL получилось хакнуть устройство, портировать на него и SDL и запустить Doom. Результатами он пока ещё не поделился... Но факт остаётся фактом, если E398 Linux Edition вышел бы в свет, он мог потенциально стать не менее популярным гиковским устройством. Но увы, в стенах R&D-лабораторий компаний погибает множество интересных и перспективных устройств, отправляясь в шреддер или по счастливой случайности попадающие в руки гиков.

Так и получилось с этим прототипом, который EXL'у подарил бывший сотрудник подрядчика Motorola в России - компании Telma в Нижнем Новгороде. Приятно знать, что немалую часть в разработку E398 вложили именно в России :)
А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram-канал «Клуб фанатов балдежа [1]», куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты и щитпостю. А ролики (не всегда дублирующие статьи) можно найти на моём YouTube канале [2].
Если вам понравилась статья и вы хотите меня поддержать, у меня есть Boosty [3]. А ещё мне можно отправить [4]какое-нибудь интересное железо: устройства на WinCE/WinMobile, китайские кнопочники, китайские подделки на iPhone/Samsung из начала 2010-х, ретро-ПК железо - всё это я очень люблю :) Всем огромное спасибо!
Автор: monobogdan
Источник [5]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/441668
Ссылки в тексте:
[1] Клуб фанатов балдежа: https://pikabu.ru/story/redchayshiy_prototip_motorola_e398_kotoryiy_rabotal_na_linux_13589524?u=https%3A%2F%2Ft.me%2Fmonobogdann&t=%D0%9A%D0%BB%D1%83%D0%B1%20%D1%84%D0%B0%D0%BD%D0%B0%D1%82%D0%BE%D0%B2%20%D0%B1%D0%B0%D0%BB%D0%B4%D0%B5%D0%B6%D0%B0&h=358d6f49ab8a38ed2b8f1a7fb0c2e7391a0f5248
[2] YouTube канале: https://pikabu.ru/story/redchayshiy_prototip_motorola_e398_kotoryiy_rabotal_na_linux_13589524?u=https%3A%2F%2Fwww.youtube.com%2F%40monobogdan&t=YouTube%20%D0%BA%D0%B0%D0%BD%D0%B0%D0%BB%D0%B5&h=891cbf2b3dd2162c2084c3ef83b23c09c0371973
[3] Boosty: https://pikabu.ru/story/redchayshiy_prototip_motorola_e398_kotoryiy_rabotal_na_linux_13589524?u=https%3A%2F%2Fboosty.to%2Fmonobogdan&t=Boosty&h=c08a71c104288bab1632fce2660a919d1dc88c8f
[4] отправить : https://pikabu.ru/story/redchayshiy_prototip_motorola_e398_kotoryiy_rabotal_na_linux_13589524?u=https%3A%2F%2Fvk.com%2Fmonobogdan&t=%D0%BE%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C&h=b28465c0c5ff0e66140d1cacb4053ca984f516ee
[5] Источник: https://habr.com/ru/articles/984550/?utm_campaign=984550&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.