Windows 10 IoT Serials 1 - 针对Minnow Board MAX的Windows 10 IoT开发环境搭建
目前,微软针对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
Windows 10 IoT Serials 1 - 针对Minnow Board MAX的Windows 10 IoT开发环境搭建的更多相关文章
- Scala学习1————scala开发环境搭建(windows 10)
Scala开发环境搭建 先讲几点我学习scala的目的或者原因吧: JVM在企业中的霸主地位,Scala也是JVM上的语言,很有可能未来会从Java过度到Scala也不是不可能. 先进的函数式编程和面 ...
- 基于WDF的PCI/PCIe接口卡Windows驱动程序(1)-WDF概述及开发环境搭建
原文出处:http://www.cnblogs.com/jacklu/p/4619110.html 本科毕业设计是这方面的工作,所以想开几篇博客来介绍使用WDF开发PCI/PCIe接口卡的驱动程序方法 ...
- 大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建
大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建 大数据应用之Windows平台Hbase客户端Eclipse环境搭建-Java版 作者:张子良 版权所有,转载请注明出处 引子 ...
- Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】
http://blog.csdn.net/xiefu5hh/article/details/51707529 Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例[附 ...
- win10 + VS2010 + OpenCV2.4.10重编译OpenCV开发环境搭建
win10 + VS2010 + OpenCV2.4.10重编译OpenCV开发环境搭建 重编译的优点:能够调试的时候看OpenCV的源码. 重编译要得到的东西:Debug版本号和Release版本号 ...
- [Flutter] Windows平台Flutter开发环境搭建(Andorid Studio)
前两天网友在群里说起了Flutter,就了解了一下,在手机上跑了它的demo,直接就被打动了. 虽然网上有很多教程,但真正开始的时候,还是会碰到很多坑.下面详细的讲解Flutter + Android ...
- XE6移动开发环境搭建之IOS篇(7):在Mac OSX 10.8中安装XE6的PAServer(有图有真相)
XE6移动开发环境搭建之IOS篇(7):在Mac OSX 10.8中安装XE6的PAServer(有图有真相) 2014-08-22 21:06 网上能找到的关于Delphi XE系列的移动开发环境的 ...
- ubuntu-10.10嵌入式开发环境搭建【转】
本文转载自:http://blog.csdn.net/zjhsucceed_329/article/details/8036781 版权声明:本文为博主原创文章,未经博主允许不得转载. ubuntu- ...
- Qt开发环境搭建 - Windows + VS2010 + VS插件
Qt 开发环境搭建 - Windows+VS2010+VS插件 1.Qt在Windows平台下的三种开发环境 方案 编辑器 编译器 调试器 一 Qt Creator MinGW GDB 二 Qt Cr ...
随机推荐
- php上传功能集后缀名判断和随机命名
form.php <html> <head> <meta http-equiv="content-type" content="text/h ...
- table-cell实现宽度自适应布局
利用table-cell可以实现宽度自适应布局. table-cell有一些比较好用的属性,比如垂直居中,自适应高度宽度等,为元素设置table-cell布局之后,元素的margin失效,paddin ...
- hibernate笔记--基于主键的单(双)向的一对一映射关系
上一节介绍的基于外键的一对一映射关系中,在Person表中有一个外键列idCard_id,对应的idCard表的主键id,至于基于主键的一对一映射关系,就是指Person表中抛弃了idcard_id这 ...
- OpenFlow消息
☞Openflow消息总共分为三大类: 1.Controller‐to‐Switch 控制器至交换机消息此类消息由控制器主动发出 Features 用来获取交换机特性 Con ...
- Solr学习总结(三)Solr web 管理后台
前面讲到了Solr的安装,按道理,这次应该讲讲.net与数据库的内容,C#如何操作Solr索引等.不过我还是想先讲一些基础的内容,比如solr查询参数如何使用,各个参数都代表什么意思? 还有solr ...
- 关于Javascript作用域及作用域链的总结
本文是根据以下文章以及<Javascript高级程序设计(第三版)>第四章相关内容总结的. 1.Javascript作用域原理,地址:http://www.laruence.com/200 ...
- 让你分分钟学会Javascript中的闭包
Javascript中的闭包 前面的话: 闭包,是 javascript 中重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,你很难从定义去理解它 ...
- Struts2 源码分析——DefaultActionInvocation类的执行action
本章简言 上一章讲到关于拦截器的机制的知识点,让我们对拦截器有了一定的认识.我们也清楚的知道在执行用户action类实例之前,struts2会先去执行当前action类对应的拦截器.而关于在哪里执行a ...
- 为 Web 设计师准备的 20 款 CSS3 工具
1.CSS3 Generator 2. Border Radius 3. CSS3 Maker 4. CSS3 Transforms 5. CSS3 Drop shadow generator 6. ...
- C#使用Log4Net记录日志
当你在开发程序的时候, 调试(debugging)和日志(logging)都是非常重要的工作.在应用中使用日志主要有三个目的 l 监视代码中的变量的变化情况,把数据周期性地记录到文件中供其它应用进行 ...