Портирование Windows Phone 7 на HTC HD2 «в 10 раз сложнее», чем казалось на первый взгляд

Значок времени чтения 4 минута. читать


Читатели помогают поддержать MSpoweruser. Мы можем получить комиссию, если вы совершите покупку по нашим ссылкам. Значок подсказки

Прочтите нашу страницу раскрытия информации, чтобы узнать, как вы можете помочь MSPoweruser поддержать редакционную команду. Читать далее

Распиновка HTC HD2 Никто не думал выкладывать Windows Phone 7 на HTC HD2 было бы легко, но в этом посте Da_G, который работал над этим с паяльником и JTAG-машиной в руках, подтверждает, что на самом деле это оказалось сложнейшей задачей.

Читать его довольно технический пост после перерыва:

Да, RustyGrom в значительной степени покрыл это. Во-первых, он называется «CE» для Compact Edition, и это никоим образом не является неправильным. Система спроектирована так, чтобы быть как можно более компактной (есть переключатели времени сборки для всего, поэтому вы можете отключать почти все компоненты для достижения очень «легкого» изображения), очевидно, включение драйверов для отсутствующих компонентов было бы пустой тратой времени. пространства, так как они никогда не будут использоваться. Так что в комплекте нет. Что касается ПК, то BIOS обеспечивает базовый уровень функциональности с использованием стандартного интерфейса, поэтому создаются общие драйверы, чтобы довести платформу до этого уровня, и оттуда можно загружать драйверы конкретного производителя.

Если вы хотите превратить встроенное устройство в настольный компьютер и загрузить на него Windows 7, вы начинаете с полностью собранного компьютера (видеокарта, материнская плата, процессор, оперативная память и т. д.) — включите его. Он загружает BIOS, который инициализирует основное оборудование и начинает загружать остальное с жесткого диска. Встроенное устройство загружает NAND XLDR, который поддерживает только чтение/запись флэш-памяти. Затем XLDR загружает «EBOOT» или «IPL» в оперативную память на обычных устройствах. HTC не использует модель EBOOT/IPL как таковую (здесь мы уже отходим от «стандарта» еще дальше), а вместо этого разделяем ее на mARM AMSS (специально разработанную ОС RtOS, которая загружает и запускает процессор модема ARM). ) и СПЛ. Как только AMSS загружает SPL в оперативную память и выполняет его, SPL инициализирует aARM (процессор приложений ARM), выполняет различные проверки (мы находимся в режиме обновления? нам нужно открыть интерфейс флэш-памяти для обновления остальной части ОС? мы просто загружаем ОС и отходим в сторону?)

Затем, наконец, вы проходите код, сильно зависящий от устройства, и переходите к (немного) более общему ядру / драйверам CE, которые копируются в оперативную память с помощью SPL и выполняются (раздел Native Kernel / XIP)

Итак, чем отличается CE7/WP7 от этой модели? (Какая модель у нас сейчас есть в CE5.x/WM6.x) – mARM AMSS предоставляет другой интерфейс и процедуру инициализации. Это означает, что любой из драйверов WP7 с устройства-донора, с которого мы можем портировать, вообще не будет работать с нашей текущей AMSS. Что, в свою очередь, означает отсутствие загрузки без перезаписи драйверов/ядра или AMSS.

Поэтому, чтобы еще раз сравнить его с настольным ПК, нам нужно написать BIOS, уровень аппаратной абстракции и набор драйверов для каждого компонента в системе (вероятно, большую часть драйверов можно будет использовать после того, как все остальное будет сделано). )

Я уже звучу измученным? Да, да. Это, наверное, раз в 10 сложнее, чем я думал изначально.

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

Конечно, Da_G продолжает работать над своим HTC HD2 (изображения внутренностей устройства, подключенного к JTAG выше), но возникает вопрос (и это может быть кощунством) с развитием Android на HTC HD2, неужели мы все еще нуждаетесь в Windows Phone 7, чтобы не допустить появления устройств, актуальных в течение следующих 12 месяцев?

Дайте нам знать ваше мнение ниже.

Подробнее о темах: HTC HD2, программное обеспечение, Windows Phone 7