目前,微軟針對Windows IoT計划支持的硬件包括樹莓派2,Minnow Board MAX 和Galileo (Gen 1和Gen 2)。其中,Galileo (Gen 1和Gen 2)運行的是剪裁的Windows 8.1,而且官方聲明目前沒有對其升級到Windows 10 IoT的計划。所以,對於Windows 10 IoT,目前可選的硬件有樹莓派2和Minnow Board MAX。有關樹莓派2的Windows 10 IoT,可以參考葉帆的博客: 【Window 10 IoT - 1】Window 10系統安裝(樹莓派 Pi2)。
相比於Minnow Board MAX,樹莓派2擁有更大的用戶群,更好的性價比,和更廣的硬件社區支持率。但是,如果對於性能有要求的場景,也可以考慮Minnow Board MAX,畢竟,其核心是64位 Intel® Ato E38xx Series SoC(雖然目前Windows IoT也是32位的)。本文詳細介紹了Minnow Board MAX的Windows 10 IoT開發環境搭建過程。
1、硬件及環境
1.1 一台運行Windows 10 PC系統的電腦,本人使用的是Surface Pro 2,版本Windows 10 Pro Insider Preview Build 10122.
1.2 Minnow Board Max一塊
1.3 電源,包括Minnow Board MAX需要的5V直流電源,如果使用MicroHDMI轉接口,還需要准備MicroHDMI轉接口的電源。
1.4 Class 10 速度的8Gb Micro SD卡一張,速度更快容量更大的當然更好,用於Windows 10 IoT Core for Minnow Board的燒錄。
1.5 因為Minnow Board自帶MicroHDMI接口,所以,如果已經有HDMI接口的顯示器,請准備一個MicroHDMI轉HDMI的轉接頭和一根HDMI線。如果是VGA接口的顯示器,請准備請准備一個MicroHDMI轉HDMI的轉接頭和一個有源的HDMI轉VGA模塊。請注意,HDMI轉VGA模塊一定要使用有源的,無源的模塊可能導致無法正常顯示。
1.6 以太網線一根,用於Minnow Board Max的聯網與調試。
1.7 路由器一個,用於開發機與Minnow Board MAX的聯網。
1.8 USB鼠標和USB鍵盤各一個,用於Minnow Board Max的設置。
1.9 U盤一個,用於更新Minnow Board Max的固件。
2、Minnow Board Max硬件連接
2.1. 連接一個USB接口的鍵盤
2.2 將MicroHDMI轉HDMI接口的轉接頭插入2中,另一端連HDMI接口的顯示器,或者是連有源的HDMI轉VGA的模塊,再連接到VGA接口的顯示器。
2.3 連接網線到3口,網線的另一端接在與開發機相同網段的路由器上。
2.4 連接5V的直流電源,供電能力最好在3A左右。
2.5 MicroSD卡插槽。
3、更新Minnow Board Max固件
3.1 由於當前的Windows IoT Core只有32位的版本,所以,首先需要從Intel的官網上下載Minnow Board Max的最新固件,筆者寫稿時的最新版本是0.79。
3.2 將下載的zip文件解壓,然后拷貝所有.efi和.bin文件到FAT格式的U盤。
3.3 確保Minnow Board Max沒有連接任何的外部存儲設備(如SD卡),把包含.efi和.bin文件的U盤插入Minnow Board Max的USB接口。
3.4 根據2.1節的內容,連接USB接口的鍵盤;根據2.2節的內容,連接MicroHDMI接口的顯示模塊。檢查無誤后,給Minnow Board Max上電
3.5 如果一切正常,可以在顯示器上看到UEFI的命令行。之后,在命令行中輸入以下命令:
o fs0:
o .\MinnowBoard.MAX.FirmwareUpdateX64.efi _filename_.bin
例如:
o Shell> fs0:
o fs0:> .\MinnowBoard.MAX.FirmwareUpdateIA32.efi MinnowBoard.MAX.I32.079.R01.bin
如下圖所示:
注意:Minnow Board Max出廠默認自帶的是64位的固件,如果將其更新為32位的固件以后,下一次更新固件時,應該使用以下格式的命令:
o fs0:
o .\MinnowBoard.MAX.FirmwareUpdateIA32.efi _filename_.bin
3.6 之后,系統會更新固件,如下圖所示,且在固件更新完畢以后,自動關機。
4、燒寫Windows IoT Core 鏡像文件
4.1 使用LiveID注冊Windows Embedded Pre-Release Programs,在下載頁面中選擇“Windows 10 IoT Core Insider Preview Image for MinnowBoard MAX”,如下圖所示。
4.2 下載“Windows 10 IoT Core Insider Preview Image for MinnowBoard MAX”。解壓其中的.ffu文件到C盤根目錄,如下圖所示,以備后用。
4.3 將MicroSD卡插入讀卡器,並將讀卡器插入電腦,在命令行工具中,使用diskpart和list disk命令獲取MicroSD卡的PhysicalDrive屬性,如下圖所示。
筆者使用的電腦只有一個C盤,插入的讀卡器的盤符為Disk 1。
4.4 用管理員權限打開” Deployment and Imaging Tools Environment工具,如下圖所示,
定位到ffu文件所在的目錄,運行命令:
dism.exe /Apply-Image /ImageFile:flash.ffu /ApplyDrive:\\.\PhysicalDriveN /SkipPlatformCheck
其中,“PhysicalDriveN”中的“N”用實際的盤符號代替,筆者以C盤根目錄為例,如下圖所示。
燒寫鏡像完畢以后,原來的MicroSD卡變成了一個系統盤,盤符名稱為“MainOS”,而且容量也發生了變化,如下圖所示。
5、設置Minnow Board MAX的BIOS
5.1 將燒寫好系統的MicroSD卡插入Minnow Board MAX板子的MicroSD卡插槽,接入USB鍵盤和顯示接口。
5.2 給Minnow Board MAX上電,Boot時,選擇F2,進入BIOS設置。
5.3 依次選擇“Manager -> System Setup -> South Cluster Configuration -> LPSS & SCC Configuration”,該頁面設置如下,按F10保存更改:
- Set “LPSS & SCC Device Mode” to “ACPI Mode”
- Set “DDR50 Capability Support for SDCard” to “Disable”
- Set “ACPI Reporting MMC/SD As” to “Non-Removable”
頁面截圖如下:
5.4 導航到“Boot Mainenance Manager-> Boot Options > Change Boot Order”,更改Boot的順序,使得“EFI Misc Device”放在首位,按F10按鈕保存更改,如下圖所示:
然后退回到Boot頁面,重啟設備。第一次啟動會花費較多時間,啟動完成以后,進入的頁面如下:
同時,在Windows 10 PC上安裝並運行Windows IoT Core Watcher(在下載的MInnowBoardMAX壓縮包中,名稱為WindowsDeveloperProgramForIoT.msi),那么,該軟件的頁面上就可以看到板子的信息了。如下圖所示。
6、利用Power Shell連接Minnow Board MAX
6.1 在Windows 10 PC中,用管理員權限打開Windows PowerShell,如下圖所示:
6.2 在PS控制台輸入以下命令,確保PC機已經運行WinRM service:
· PS C:\> net start WinRM
6.3 在PS控制台輸入以下命令,設置目標機器為信任設備:
·
PS C:\> Set-Item WSMan:\localhost\Client\TrustedHosts -Value <machine-name or IP Address>
其中,<machine-name or IP Address>
用設備名稱或
IP
地址代替。
6.4 為了回避已經發現的客戶端的一個Bug,輸入以下命令:
·
PS C:\> remove-module psreadline –force
6.5
發起一個與
Windows IoT Core設備的Session,輸入以下命令:
·
PS C:\> Enter-PsSession -ComputerName <machine-name or IP Address> -Credential <machine-name or IP Address or localhost>\Administrator
其中的
<machine-name or IP Address>
用設備名稱或
IP
地址代替。
在彈出的對話框中,輸入默認的密鑰:p@ssw0rd。

之后,就可以等待建立與客戶端的連接了,如下圖所示。

至此,針對Minnow Board 的Windows IoT開發環境搭建已經完成,其過程與樹莓派相比,稍微有些復雜,主要是涉及到了固件的更新和Boot的設置。其他過程與樹莓派類似。
參考鏈接:
1. MBM Get Started:http://ms-iot.github.io/content/win10/SetupMBM.htm
2. Using PowerShell to connect and configure a device running Windows IoT Core:http://ms-iot.github.io/content/win10/samples/PowerShell.htm