Перенесення 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, яка завантажує та запускає процесор Modem ARM). ) і SPL. Після того, як AMSS завантажує SPL в оперативну пам’ять і виконує його, SPL ініціалізує aARM (ЦП ARM додатків), виконує різні перевірки (чи ми в режимі оновлення? чи потрібно відкривати флеш-інтерфейс для оновлення решти ОС? ми просто завантажуємо ОС і відходимо в сторону?)

Потім, нарешті, ви перебуваєте повз коду, що дуже специфічний для пристрою, і переходите до (трохи) більш загального ядра/драйверів CE, які копіюються в RAM за допомогою SPL і виконуються (розділ рідного ядра/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