什么是基於ARM的Windows
https://docs.microsoft.com/zh-cn/windows/uwp/porting/apps-on-arm
基於ARM的Windows指代運行在由ARM架構處理器驅動的PC之上的Windows版本。
ARM CPU體系結構的節能特性允許這些PC擁有全天的電池壽命和對移動數據網絡的集成支持。這些PC還提供了強大的應用程序兼容性,並允許你以未修改的形式運行現有x86 Win32應用程序。
常用術語
ARM
,通常指代運行了基於ARM64處理器的Windows桌面版本的現代PCARM32
,通常指代運行了基於32位ARM處理器的Windows桌面版本的現代PC
主要優勢
Windows 11/10 ARM電腦可幫助你隨時隨地繼續工作.
-
始終連接到Internet。通過手機數據連接,只要獲得手機網絡信號就可以上網-就像使用手機上網一樣。當你在辦公室中、在家中或在你信任的另一個WLAN網絡附近時,可以連接到WLAN以節省手機網絡數據流量並繼續工作。大多數Windows ARM電腦都允許進行手機網絡數據連接。
-
電池使用時間超過一整天。耗電量比其他電腦少,即使持續使用一個日常工作日或上課日,它的電源也不會耗盡,也不必為尋找插座接通電源而擔心。如果你使用電腦是為了娛樂和休閑,則播放存儲在電腦上的視頻可達數小時之久,中途無需給電池充電。
-
開機迅速。不使用電腦時,只需像在手機上一樣按下電源按鈕即可關閉屏幕。當你取出電腦並重新打開時,它會立即打開。你可以利用課間、會議期間或其他活動中的瑣碎時間來完成你想做的工作,不必浪費時間等待電腦啟動。
應用體驗
CES 2022:借助高通公司新的驍龍8cx第三代和7c+第三代計算平台,Windows on Arm PC生態系統得到發展
在2022年國際消費電子展之前,高通公司擴大了其產品組合,推出了驍龍8cx第三代計算平台,旨在為高端超薄和無風扇筆記本電腦提供頂級性能和非凡體驗。公司還推出了驍龍7c+第三代計算平台,以強大的5G連接和先進的AI體驗加強入門級Windows PC生態系統。
這兩個平台都利用智能互聯技術實現了PC體驗的現代化,並重新定義了移動計算。
驍龍8cx第三代標志着全球首個5納米Windows PC平台。先進的5納米工藝節點與其他優化措施相結合,極大地提高了高通公司Kryo CPU的性能,同時保持與上一代相似的功耗,使效率達到了新的水平。
適用於Windows的Snapdragon開發者套件
從微軟訂購
Snapdragon開發者工具包。為由Snapdragon驅動的設備開發和測試Windows on ARM64應用程序。
您准備好將您的Windows應用程序移植到ARM上了嗎?
Windows版Snapdragon開發者套件以迷你PC的形式提供了Snapdragon®計算平台的功能和用戶體驗。該套件專為在Arm上運行和測試而設計,是高通技術公司(QTI)與微軟合作的最新產品。(QTI)與微軟合作的最新產品。用它來測試您移植到由Snapdragon驅動並運行Windows 10的Always On Always Connected PC(ACPCs)的應用程序。
宏碁、惠普、聯想、微軟和三星等OEM廠商在由Snapdragon驅動的ARM設備上銷售Windows 10。除了越來越多的生產力和IT管理產品被移植到Snapdragon上,Visual C++編譯器和ARM64庫從Visual Studio 15.9開始就可以使用。您還可以找到許多常用的開源開發工具的原生ARM64版本,用於重新編譯、優化和測試您的應用程序。
通過該工具包,您可以開發出廣泛的功能,這些功能推動了Snapdragon在移動計算領域的突出地位。
- 高通公司®AI引擎
- 高通公司® Hexagon™ Vector eXtensions
- 海克斯康張量加速器
- 高通Aqstic™音頻編解碼器和高通Aqstic智能揚聲器放大器
- 高通公司® aptX™音頻技術
- 支持HDR的4K 30 FPS視頻捕獲和視頻播放
- 具有14位圖像信號處理的高通Spectra™ 255圖像信號處理器
- 高通公司®處理器安全性
- 高通公司®內容保護
隨着更多搭載Snapdragon的Windows設備的上市,Snapdragon開發者套件是一種經濟有效的方式,可以啟動您的開發工作。
開發資源
開源軟件
一些開源的開發工具可以對ARM64上的Windows提供本地支持。
編譯器
- LLVM,用於Windows 10 on ARM的LLVM版本允許開發人員構建應用程序以在ARM處理器上原生運行。該二進制文件包括一個編譯器、鏈接器和編譯器庫,可以從GitHub上的LLVM項目下載。
- MinGW和GCC
框架
- Chromium框架,用於Windows on ARM的本地Chromium構建可以wollyss.org下載,並為使用所有Windows on ARM設備的人提供熟悉的網絡瀏覽體驗。Chromium嵌入式框架(CEF)也被移植到了ARM64設備上,開發者可以使用這個開源框架將Chromium網絡瀏覽器嵌入他們的應用程序中。
- .NET 5.0框架,.Net是一個由微軟開發的軟件框架,旨在被大多數為Windows平台創建的新應用程序所使用。[.Net 5.0版本]+(https://devblogs.microsoft.com/dotnet/announcing-net-5-0/)帶來了對ARM64設備的支持。
- gstreamer,是一個開源的多媒體框架,設計用於各種操作系統和硬件結構,包括Windows和64位ARM設備。
- FFMPEG庫,FFmpeg是一個跨平台的多媒體框架,旨在記錄、轉換和流傳音頻和視頻。FFmpeg被設計成可以在各種操作系統和機器架構上編譯和運行,包括ARM設備上的Windows。
工具、編輯器、庫和更多
- Visual Studio Code是一個源代碼編輯器,可以在你的桌面上運行。有用於Windows和Linux的64位ARM版本。它支持各種編程和腳本語言。它還支持運行時環境,如.NET和Unity。
- WiX安裝器。WiX是一套支持ARM64的構建工具,幫助開發者構建Windows安裝包。
- WSL/WSL2。ARM上的Windows 10包括Windows Subsystem for Linux 2(WSL 2)。WSL 2使用虛擬化技術來運行一個完整的Linux內核。WSL 2還可以運行用於應用開發的容器,與WSL 1相比,它提供了更快的文件I/O,對於那些希望在Linux環境中開發應用的軟件開發人員來說,這是一個很好的起點。
- Electron是一個使用JavaScript、HTML和CSS構建跨平台桌面應用程序的框架。現在你可以用Electron 6.0.8或更高版本為ARM上的Windows 10構建你的應用程序。
- OpenVPN,開發人員可以使用OpenVPN在路由或橋接配置和遠程訪問設施中創建安全的點對點或站點對站點的連接。你可以在這里找到下載Windows ARM64安裝程序的說明。
- Boost是一個可移植的C++源碼庫集合,實現了包括ARM64在內的各種CPU架構的操作,反映並擴展了C++11及以后版本中定義的標准接口。
這些工具和其他工具的ARM版本意味着您可以開發在ARM64環境下原生運行的應用程序,如Snapdragon®計算平台上的Windows。
微軟生態
應用程序的兼容性
如果您是驍龍系統Windows的新手,請看看微軟為開發者提供的大量文檔,從Windows 10 on ARM應用程序和體驗開始。
開發和移植到ARM
許多消費者應用程序和商業解決方案都是針對 ARM 編譯的,並可在Windows的Snapdragon上原生運行。
- 為ARM64編譯桌面應用程序,仿真足以讓許多應用程序無縫運行,而且x86 64位應用程序的仿真目前正在Windows Insider中進行預覽(從build 21277開始)。盡管如此,將您的應用程序編譯為ARM/ARM64仍可確保您的用戶享受原生性能,如視頻《構建ARM64 Win32 C++應用程序》中所示。
- 為ARM64編譯UWP應用程序,x86 32位應用程序可以在Snapdragon上的Windows中模擬運行,幾乎不需要修改。這包括經典的桌面應用程序和UWP(通用Windows平台)應用程序。為了獲得最佳性能,請使用應用包架構和Visual Studio 15.9或更高版本添加一個包,為ARM64編譯您的應用。當用戶將您的應用從微軟商店安裝到Windows on Snapdragon設備上時,如果ARM/ARM64版本可用,則會自動安裝。
- x86內核模式驅動程序和用戶模式驅動程序框架(UMDF)不能被模擬。您必須按照使用WDK構建ARM64驅動程序中的步驟,為ARM64編譯它們。
- Visual C++ Redistributable軟件包,該包安裝了Visual C++庫的運行時組件。它目前可用於x64、ARM64和x86架構(搜索 "redistributable")。
調試和故障排除
在大多數情況下,您可以使用Visual Studio或WinDbg來調試Snapdragon上Windows的應用程序和驅動程序,就像您調試其他Windows模塊一樣。
- ARM64,了解在ARM64和Windows on Snapdragon上進行調試時應使用的工具和版本。
- 調試仿真問題。當仿真的x86 32位應用程序在Windows on Snapdragon上不能正常運行時,請查閱微軟關於x86桌面應用程序故障排除的文檔。例如,禁用動態代碼生成的應用程序將無法正常運行。如果您的應用程序試圖鈎住Windows組件或將其DLL加載到Windows進程中,您將需要重新編譯這些DLL以匹配系統架構(ARM64)。一個相關的資源是ARM上的程序兼容性故障排除器。
- UWP應用程序。如果您的ARM32或ARM64 UWP應用程序在ARM上不能正常工作,請查閱ARM UWP應用程序的故障排除。
- 報告問題。對於開發過程中反復崩潰等問題,請收集完整的崩潰轉儲,然后將轉儲和細節發送給我們。一定要收集 "完整的內存轉儲",通常存儲為
C:\Windows\memory.dmp
。
學習資源
在Snapdragon®平台上開發Windows的入門知識
在ARM上開發UWP應用程序的基礎知識
使用Visual Studio進行開發
為ARM64和ARM64EC准備開發環境
驍龍平台Windows的現代(連接)待機模式
現代待機的用例,以及實施和測試