首页 >> 在Intel Galileo上运行Windows?微软物联网开发程序来帮你
在Intel Galileo上运行Windows?微软物联网开发程序来帮你
来源:  时间:2015-03-26
分享到:


若要在开发板上运行Windows操作系统,我首先联想到的开发板,不外乎是MinnowBoard及GizmoBoard,两个板子都可以跑x86操作系统,而且可以连接键盘、鼠标及屏幕。

如今Intel发型了Galileo这块开发板,不仅可以运行Windows,而且还免费,自然让我眼睛一亮。比起MinnowBoard MAX或其他板子,只能下载微软兼容硬件(Microsoft Embedded)90天试用版,Galileo显然更加吸引人。

不过,Galileo不支持一般显示界面,内存也只有256MB,因此Windows操作系统难免较阳春。可以确定的是,它有免费的Windows兼容硬件开发版本,就像准备给小平板的Windows版,都是免费的。

少了操作界面,Windows操作系统会是什么模样呢?这很像是DOS,瞬间将我们拉回到PC刚发布的年代(不过它并不是DOS,输入的命令提示是CMD.EXE,而非COMMAND.COM)。另一个让你会觉得回到过去年代的特色是:你必须借由另一台电脑远程登录(telnet),才能进行命令提示。你可能会说:这也太古老了吧!是的没错,要古老就古老到底吧,你可以用cool-retro-term或Cathode远程登录。

要设置Galileo运行Windows,需先在Windows PC运行Visual Studio(免费版本也无所谓)。微软建造物联网时,已经在Windows与Arduino/Wiring函数库之间建立通讯,所以你会用Visual C++对着Arduino API编程。它其实很像Arduino代码(以下Arduino脚本程序没有的部分以粗体表示):

   #**include "stdafx.h"**

   #**include "arduino.h"**

   **int _tmain(int argc, _TCHAR* argv[])**

   **{**

   **returnRunArduinoSketch();**

   **}**

   int led =13;// 链接LED的引脚

   void setup()

   {

     pinMode(led, OUTPUT);// 将此引脚设置为OUTPUT,如此一来便能点亮LED

   }

   //此循环会不断重复执行

   void loop()

   {

     digitalWrite(led, LOW);// 将电压设为LOW以关闭LED

   Log(L"LED OFF\n");

     delay(1000);// 等候一秒

     digitalWrite(led, HIGH);// 将电压设为HIGH以点亮LED

   Log(L"LED ON\n");

     delay(1000);// 等候一秒

   }

微软并非只是简化Windows,转成一个可以在Galileo执行的画面;其实微软一直有针对Windows做改良,好让Makers更方便开发。例如,微软推出的“Lighting”功能,即是重新设计Windows,好让GPIO速度更快。某位使用者回馈一件表示,这些改良让Windows驱动的Galileo,表现与在Linux执行的Intel GPIO不分轩轾。

每次只要谈到微软和Maker社区的关系,多少难免批评声。毕竟Maker的精神是:“如果你不能破解它,你就不能算是真的拥有它。”然而,我觉得那些在玩非开源硬件的Maker能够理解我的立场。我深信开放必定是未来发展的趋势,即使是出现一丝朝向开放发展的迹象,我都感到振奋。

若你想在Galileo上试试Windows,你需要一台可以运行Visual Studio的Windows PC、一片Galileo 1或Galileo 2,以及相关操作指南。