將 Windows Phone 7 移植到 HTC HD2 比最初想像的“複雜 10 倍”

閱讀時間圖標 4分鐘讀


讀者幫助支持 MSpoweruser。如果您透過我們的連結購買,我們可能會獲得佣金。 工具提示圖標

請閱讀我們的揭露頁面,了解如何幫助 MSPoweruser 維持編輯團隊的發展 阅读更多

HTC HD2 引腳排列 沒有人想到將 Windows Phone 7 發佈到 HTC HD2 這很容易,但在這篇文章中,一直在研究它的 Da_G,手裡拿著烙鐵和 JTAG 機器,證實這實際上是一項艱鉅的挑戰。

更多內容 他漂亮的技術職位 休息後:

是的,RustyGrom 幾乎涵蓋了它。 首先,它被稱為緊湊版的“CE”,這絕不是用詞不當。 該系統設計得盡可能緊湊(所有東西都有構建時開關,因此您可以關閉幾乎所有組件以實現非常“輕”的圖像)顯然,包括不存在的組件的驅動程序將是浪費空間,因為它們永遠不會被使用。 所以沒有包括在內。 在 PC 方面,BIOS 使用標準接口提供基本功能級別,因此創建通用驅動程序以將平台提升到該級別,並且可以從那裡加載特定於供應商的驅動程序。

如果您想將嵌入式設備安裝在台式計算機上並在其上加載 Windows 7,您可以從完全組裝好的計算機(視頻卡、主板、cpu、內存等)開始——打開它的電源。 它加載初始化基本硬件的 BIOS,並開始從硬盤驅動器加載其餘部分。 嵌入式設備加載了僅提供閃存讀/寫支持的 NAND XLDR。 然後,XLDR 將“EBOOT”或“IPL”加載到典型設備上的 ram 中。 HTC 不使用 EBOOT/IPL 模型(在這裡我們已經進一步脫離“標準”),而是將其拆分為 mARM AMSS(一個定制設計的 RtOS,加載和運行調製解調器 ARM CPU ) 和聲壓級。 一旦 AMSS 將 SPL 加載到 ram 中並執行它,SPL 就會初始化 aARM(應用 ARM CPU),進行各種檢查(我們是否處於更新模式?我們是否需要公開一個閃存接口來更新操作系統的其餘部分?做我們只是啟動操作系統並移到一邊?)

最後,您可以通過高度特定於設備的代碼,進入(稍微)更通用的 CE 內核/驅動程序,這些 CE 內核/驅動程序被 SPL 複製到 ram 中並執行(本機內核/XIP 分區)

那麼,CE7/WP7 與該型號有何不同? (這是我們現在在 CE5.x/WM6.x 中使用的模型) – mARM AMSS 提供了不同的接口和初始化程序。 這意味著來自我們可能移植的捐贈設備的任何 WP7 驅動程序都無法與我們當前的 AMSS 一起使用。 這反過來意味著不重新編寫驅動程序/內核或 AMSS 就無法啟動。

因此,為了再次將其與台式 PC 進行比較,我們需要為系統上的每個組件編寫一個 BIOS、一個硬件抽象層和一組驅動程序(可能很多驅動程序在其餘部分完成後就可以使用) )

Do I sound jaded yet? Yes, yes I am It’s probably a factor of 10 more complicated than I thought it would be initially.

這是需要連接的 JTAG 引腳輸出,順便說一句。 主板兩邊都有針腳,這也讓我很頭疼,因為我原本打算在 HD2 上安裝一個外部端口,這樣我就可以輕鬆地保持 JTAG 連接,但你基本上必須移除整個主板以保持可靠的連接,這實際上排除了在實時設備上運行它。

當然,Da_G 繼續在他的 HTC HD2 上工作(上面連接到 JTAG 的設備內部圖片),但人們確實想知道(這可能是褻瀆)Android 在 HTC HD2 上的進步,我們在接下來的 7 個月內仍然需要 Windows Phone 12 來阻止相關設備嗎?

請在下方告訴我們您的意見。

有關主題的更多資訊: HTC HD2, 軟體, Windows手機7的