今天你们已经被winhec刷屏了,原本不想写这篇了,但看了全部的文章,你们关注的都是windows 10的那些新功能,小米win10刷机,联想千元手机,小娜啥的。对于keynote上第二部分 Don Box 的演讲部分你们只字未提,这实在对不起广大的开发人员。那些都是都是给媒体嚼舌根,造舆论的;因此我仍是给你们念叨一下真正有价值的东西。php
说实话,博主一直搞软件开发的,和硬件的关系仅限于高中和大学假期在中关村攒机的经历(固然还有给女神修电脑,这个谁没干过呢?)。为啥我一个搞软件的要来参加硬件大会?其实呢?我不是搞软件的,是搞软件工程的。软件和软件工程有啥不一样呢?你能够这样理解,搞软件是淘金,搞软件工程是卖牛仔裤,我作的是如何开发软件,专一的是工具,方法,效率,自动化等等。因此,我来winhec的目的是想看看怎样可以简化,优化硬件开发的过程。html
和北京的雾霾天比起来,清晨深圳空气中传来的是阵阵大海味道和春天的丝丝温暖。
git
碧绿的棕榈树后面就是本次winhec会议的会场,深圳罗湖君悦酒店;够逼格,听说参加winhec不是报名,不是买票,而必须是微软邀请的。github
Windows 10给你们带来的不只仅是PC,平板和手机;更重要的IoT开发平台。而须要开发IoT就须要开发板。今天的winhec上微软公布了三块重要能够用于windows 10 IoT开发的主板。windows
更细节的配置看下图,这里还多了一块。微信
你们能够到 http://www.msdn.microsoft.com/hardwaredevboard 了解更多信息。框架
这几块开发板的主要区别工具
- Shark Cove
○ 只支持x86 32位应用,
○ 基于Intel Atom处理器的Windows或Android平板。
○ 售价:299美金
○ 官网:http://www.sharkscove.org/post
- MinowBoard Max,
○ 支持x64位应用
○ 基于Intel Atom处理器,适合进行驱动开发和创客应用
○ 售价:单核板 99美金, 双核板 199美金
○ 官网:http://www.minnowboard.org/meet-minnowboard-max/开发工具
- Raspberry Pi2
○ 4核 ARM处理器,主要用于创客应用
○ 能够跑Linux和Windows
○ 售价:35美金
○ 官网:http://www.raspberrypi.org/raspberry-pi-2-on-sale/
- Qualcomm DragonBoard 410C
○ 高通snapdragon 400处理器
○ 自带Wi-Fi,蓝牙和GPS
○ 适合驱动开发,创客应用,能够跑Windows, Android和Linux
○ 支持1080p HD视频输出,和H.264视频处理能力
○ 售价:不详
○ 官网:https://developer.qualcomm.com/mobile-development/development-devices/dragonboard/410c
不用我多说了,高通的这个410C很是之强大。但稍微思考一下,你会发现这几块板子的定位不一样,各有所长。树莓派有最好的社区支持,高通的硬件强大,应该是里面最抢眼的两个了。
开发板的应用场景主要有两个:1) 给硬件厂商开发本身的硬件和驱动程序提供开发平台;2)给创客们(makers)提供创新和尝试的平台。微软给出的这几块开发板基本上覆盖了市面上能看到的重要处理器和平台,配合windows 10的通用性,应该能够在这两个应用场景上知足开发人员的全部需求了。
有了统一的操做系统和开发板,咱们还须要开发工具能够支持完整的应用开发周期,这就是本次winhec keynote上带给你们的另一个重要信息。
此次轮到Don Box这位大神出场了,今天winhec的刷屏信息都集中在Terry Myerson上了,对此博主很不满意。也许你还不知道他是谁,可是你必定知道COM,知道SOAP。那么你应该知道Don Box,具体信息你们能够看看如下这篇文章:http://www.techcn.com.cn/index.php?doc-view-146094.html
Don Box的演讲才是今天winhec上最精彩的部分
什么是通用驱动?若是你进行过Windows App或Windows Phone的开发,那么你必定知道通用应用(Universal App)。是的,通用驱动就是能够在全部运行Windows 10的PC,平板,手机和IoT设备上运行的基于同一套代码的通用驱动程序(Universal Driver)。这意味这只要是目标平台支持的硬件,你都没必要为这个硬件平台单独开发驱动程序,同一套代码,支持链接到你的不一样设备。(固然,这是个子集,并非全部的驱动均可以作成通用的。)
微软的开源之路才刚刚开始,今天的GitHub上已经能够clone到这个驱动程序框架了
框架代码
https://github.com/Microsoft/Windows-driver-frameworks
样例代码
https://github.com/Microsoft/Windows-driver-samples
通用驱动程序入门
https://msdn.microsoft.com/library/windows/hardware/dn941241(v=vs.85).aspx
下面是现场演示,同一套代码在以上提到的几块开发板上运行。
从图片看的不是太清楚,下面这段视频能够说明,当感应到光照时,不一样的开发板使用一样的驱动程序做出了一样的响应。
http://v.qq.com/page/n/t/a/n0149aze9ta.html
使用FFU进行部署
使用FFU能够把操做系统,驱动程序,应用程序所有打包,并建立能够直接部署到目标硬件的 image。在这个image中包含了分区信息。能够经过USB同时刷入8台设备,或者写入存储设备(如SD卡);所谓的线刷和卡刷。
如今,你应该能够理解为啥在你们已经被winhec刷屏的状况下还要连夜写下这篇博文。做为开发人员,你是否是已经等不及在你的小米上刷上windows 10了?是否是等不及装上Visual Studio 社区版,clone一份WDF,搞一块开发板,开始你的IoT之旅?
好吧福利来了,明天,每一位参加winhec的参会者都会得到一块MinowBoard Max。
晚上还有幸和Don Box,Terry Myerson和来自华为,Bosch,Intel的众多专家一块儿闭门交流。而做为硬件MVP,微软送出的开发板不只仅是一块。
谢谢微软MVP项目组的Celine,来自windows开发团队Asobo,和另外两位MVP守斌和施炯。今天学到了不少。
欢迎关注本博客微信订阅号 anb-io。每周推送内容,有技术也有生活,和你一块儿作一个有情怀的程序猿。