目前,微软针对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硬件连接
![clip_image001 clip_image001]()
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
如下图所示:
![clip_image003 clip_image003]()
注意:Minnow Board Max出厂默认自带的是64位的固件,如果将其更新为32位的固件以后,下一次更新固件时,应该使用以下格式的命令:
o fs0:
o .\MinnowBoard.MAX.FirmwareUpdateIA32.efi _filename_.bin
3.6 之后,系统会更新固件,如下图所示,且在固件更新完毕以后,自动关机。
![clip_image005 clip_image005]()
4、烧写Windows IoT Core 镜像文件
4.1 使用LiveID注册Windows Embedded Pre-Release Programs,在下载页面中选择“Windows 10 IoT Core Insider Preview Image for MinnowBoard MAX”,如下图所示。
![clip_image007 clip_image007]()
4.2 下载“Windows 10 IoT Core Insider Preview Image for MinnowBoard MAX”。解压其中的.ffu文件到C盘根目录,如下图所示,以备后用。
![clip_image009 clip_image009]()
4.3 将MicroSD卡插入读卡器,并将读卡器插入电脑,在命令行工具中,使用diskpart和list disk命令获取MicroSD卡的PhysicalDrive属性,如下图所示。
![clip_image011 clip_image011]()
笔者使用的电脑只有一个C盘,插入的读卡器的盘符为Disk 1。
4.4 用管理员权限打开” Deployment and Imaging Tools Environment工具,如下图所示,
![clip_image013 clip_image013]()
定位到ffu文件所在的目录,运行命令:
dism.exe /Apply-Image /ImageFile:flash.ffu /ApplyDrive:\\.\PhysicalDriveN /SkipPlatformCheck
其中,“PhysicalDriveN”中的“N”用实际的盘符号代替,笔者以C盘根目录为例,如下图所示。
![clip_image015 clip_image015]()
烧写镜像完毕以后,原来的MicroSD卡变成了一个系统盘,盘符名称为“MainOS”,而且容量也发生了变化,如下图所示。
![clip_image017 clip_image017]()
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”
页面截图如下:
![clip_image018 clip_image018]()
5.4 导航到“Boot Mainenance Manager-> Boot Options > Change Boot Order”,更改Boot的顺序,使得“EFI Misc Device”放在首位,按F10按钮保存更改,如下图所示:
![clip_image019 clip_image019]()
然后退回到Boot页面,重启设备。第一次启动会花费较多时间,启动完成以后,进入的页面如下:
![clip_image021 clip_image021]()
同时,在Windows 10 PC上安装并运行Windows IoT Core Watcher(在下载的MInnowBoardMAX压缩包中,名称为WindowsDeveloperProgramForIoT.msi),那么,该软件的页面上就可以看到板子的信息了。如下图所示。
![clip_image023 clip_image023]()
6、利用Power Shell连接Minnow Board MAX
6.1 在Windows 10 PC中,用管理员权限打开Windows PowerShell,如下图所示:
![clip_image025 clip_image025]()
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
,如需转载请自行联系原作者