在微控制板上執行Windows  微軟物聯網開發程式辦得到

十二月 24, 2014
Facebook
Twitter
若要在微控制板上執行Windows作業系統,我首先聯想到的開發板,不外乎是MinnowBoard (有興趣的人,點此下載PDF說明書) Gizmo Board,兩個板子都可以跑x86作業系統,而且可以連接鍵盤、滑鼠及螢幕。
如今Intel 發行了Galileo這塊開發板,不僅可以執行Windows,而且還免費,自然讓我眼睛一亮。比起MinnowBoard MAX或其他板子,只能下載微軟相容硬體(Microsoft Embedded 90天試用版,Galileo顯然更加吸引人。

不過,Galileo不支援一般顯示介面,記憶體也只有256 MB,因此Windows作業系統難免較陽春。可以確定的是,它有免費的Windows相容硬體開發版本,就像專門給小平板的Windows版,都是免費的(連結)。

少了使用者介面,Windows作業系統會是否什麼模樣呢?這很像是DOS,瞬間將我們拉回到PC剛發跡的年代 (不過它並不是DOS,輸入的命令提示是CMD.EXE,而非COMMAND.COM)。另一個讓你會覺得回到過去年代的特色是:你必須藉由另一臺電腦遠端登入(telnet),才能進行命令提示。你可能會說:這也太古早了吧!是的沒錯,要古早就古早到底吧,你可以用cool-retro-termCathode遠端登入。

要設定Galileo執行Windows,須先在Windows PC執行Visual Studio (免費版本也無所謂)。微軟建置物聯網時,已經在WindowsArduino/Wiring函式庫之間建立通訊,所以你會用Visual C++對著ArduinoAPI編寫程式。它其實很像Arduino程式碼(以下Arduino腳本程式碼沒有的部分,以粗體表示):

#include “stdafx.h”
#include “arduino.h”

int _tmain(int argc, _TCHAR* argv[])
{
  return RunArduinoSketch();
}

int led = 13;  // 連接LED的腳位

void setup()
{
  pinMode(led, OUTPUT); // 將此腳位設置為OUTPUT,如此一來便能點亮LED
}

// 此迴圈會不斷重複執行
void loop()
{
  digitalWrite(led, LOW);    // 將電壓設為LOW以關閉LED
  Log(L”LED OFFn”);
  delay(1000);               // 等候一秒
  digitalWrite(led, HIGH);    // 將電壓設為HIGH以點亮LED
  Log(L”LED ONn”);
  delay(1000);               // 等候一秒
}


微軟並非只是精簡化Windows,轉成一個可以在Galileo執行的畫面;其實微軟一直有在針對Windows做改良,好讓Makers更方便做事。例如,微軟推出的「Lightning」功能,即是重新設計Windows,好讓GPIO 速度更快。某位使用者回饋意見表示,這些改良Windows驅動的Galileo,表現與在Linux執行的Intel GPIO不分軒輊。

每次只要談到微軟和Maker社群的關係,多少難免批評聲浪。畢竟Maker的精神是:「果你不能破解你就不算是真的擁有它」然而,我覺得那些在玩非開放原始碼硬體的Maker能夠理解我的立場。我深信開放必定是未來發展的趨勢,即使是出現一絲朝向開放發展的跡象,我都感到振奮。

若你想在Galileo上試試Windows,你需要一臺可以執行Visual StudioWindows PC、一片Galileo 1Galileo2,以及相關操作指示

Picture

BRIAN JEPSON
我是個修補工匠,技術總算已經達到修好東西比破壞來得多。我不在修修補補的時候,泰半在替Maker Media編輯書籍。 bjepson@makermedia.com

(譯:謝孟達)
[原文]


Social media & sharing icons powered by UltimatelySocial