So I haven't get the free board yet, but Microsoft added support for people that already has or purchases a Galileo Board.
The new image they offer is compatible with Intel's latest firmware for the board.
https://ms-iot.github.io/content/IBoughtAGalileo.htmYou need to register to download the files.
I'm running on Windows 7 so other than having to install a Windows 8 application to make the image it was a piece of cake.
Only thing needed was a 32GB class 10 microSD card (but you can use a 16GB one instead). I have a USB to microSD adapter so I can inspect the content of the boot disk in Win7 and add programs, or just deploy it from the debugger.
I was writing updates in the Buy/Sell/Wanted topic, but this belongs here instead, so I'm starting this thread with some of that content in there and adding more here.
The previous thread is:
https://www.eevblog.com/forum/buysellwanted/free-intel-galileo-board-from-microsoft/msg500527/#msg500527The only thing I don't have as per their instructions is a USB to Ethernet adapter to hook the Galileo via Ethernet directly to a USB port, but it works fine if you connect it to your Hub.
Took me around 30 minutes, maybe a bit longer to get the firmware updated and the windows image burned into the microSD card booted and I was able to telnet to it from my Win7 machine
Actually I can telnet to it from my Android Transformer Prime with keyboard dock.
I already downloaded the free Visual Studio Express 2013 as per their instructions:
https://ms-iot.github.io/content/SetupPC.htmAs well as setting up the Galileo after updating the firmware and making the windows image as per their instructions as well:
https://ms-iot.github.io/content/SetupGalileo.htmYesterday I didn't get the Galileo Watcher program to show the device but I could access it by IP address, today it shows fine and I didn't have to modify the host table or anything.
I followed their blinky example, by using their provided VS Express 2013 template
https://ms-iot.github.io/content/HelloBlinky.htmand even if the code generated was slightly different than the one shown in that link it produced everything and I was able to deploy and debug the little app:
Here is the code the template produced:
// Main.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "arduino.h"
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;
// Helper function for logging to debug output and the console
void CustomLogging(char* str)
{
OutputDebugStringA(str); // for VS Output
printf(str); // for commandline output
}
int _tmain(int argc, _TCHAR* argv[])
{
return RunArduinoSketch();
}
void setup()
{
// TODO: Add your code here
CustomLogging("Hello Blinky!\n");
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
void loop()
{
// TODO: Add your code here
CustomLogging("LED ON\n");
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
CustomLogging("LED OFF\n");
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
I also tried to see if the QueryPerformanceCounter windows call worked and it did based on some ~14MHz clock.
But since it's an x86 chip then I did try to embed assembler to get the actual CPU time stamp counter and it works as well.
//
// Read Timestamp Counter
//
inline void GetTimeStampCounter(__int64 *timeStampCounter)
{
DWORD dwLow, dwHigh;
_asm
{
RDTSC // 0F 31 RDTSC Read time-stamp counter into EDX:EAX.
mov dwLow, eax // Get Low Timestamp
mov dwHigh, edx // Get High Timestamp
}
*timeStampCounter = dwHigh;
*timeStampCounter = *timeStampCounter << 32;
*timeStampCounter |= dwLow;
}
It averages to about 405300000 cycles per second, so it's not really at 400MHz CPU it's a bit higher.
This is all that is running by default:
C:\windows\system32>tlist -v
0 32 0 System Process
Command Line:
0 32 4 System
Command Line:
0 32 180 smss.exe
Command Line:
0 32 260 csrss.exe
Command Line:
[0] 0 32 288 wininit.exe
Command Line: wininit.exe
1 32 296 csrss.exe
Command Line:
[0] 1 32 312 winlogon.exe
Command Line: winlogon.exe
0 32 332 services.exe
Command Line:
[0] 0 32 344 lsass.exe Svcs: SamSs
Command Line: C:\windows\system32\lsass.exe
[0] 0 32 420 svchost.exe Svcs: BrokerInfrastructure,DcomLaunch,Power,SystemEventsBroker
Command Line: C:\windows\system32\svchost.exe -k DcomLaunch
[0] 0 32 456 svchost.exe Svcs: RpcEptMapper,RpcSs
Command Line: C:\windows\system32\svchost.exe -k RPCSS
[0] 0 32 536 svchost.exe Svcs: LanmanServer,ProfSvc,Usertoken
Command Line: C:\windows\system32\svchost.exe -k netsvcs
[0] 0 32 564 svchost.exe Svcs: Dhcp,lmhosts
Command Line: C:\windows\System32\svchost.exe -k LocalServiceNetworkRestricted
[0] 0 32 580 svchost.exe Svcs: nsi
Command Line: C:\windows\system32\svchost.exe -k LocalService
[0] 0 32 604 svchost.exe Svcs: CryptSvc,Dnscache,LanmanWorkstation
Command Line: C:\windows\system32\svchost.exe -k NetworkService
[0] 0 32 692 svchost.exe Svcs: Bootsh
Command Line: C:\windows\system32\svchost.exe -k Bootshsvc
[0] 0 32 708 svchost.exe Svcs: CoreUIRegistrar
Command Line: C:\windows\system32\svchost.exe -k CoreUI
[0] 0 32 744 cmd.exe
Command Line: C:\windows\system32\cmd.exe /K C:\Windows\System32\Boot\synctime.cmd
[0] 0 32 752 msvsmon.exe
Command Line: C:\Tools\RemoteDebugger\msvsmon.exe /silent /nostatus /nosecuritywarn /nofirewallwarn /noclrwarn
[0] 0 32 760 Galileo_eboot.exe
Command Line: C:\Windows\System32\Galileo_eboot.exe
[0] 0 32 776 httpsrv.exe
Command Line: httpsrv.exe http://+:80/
[0] 0 32 784 ftpd.exe
Command Line: ftpd.exe
[0] 0 32 792 telnetd.exe
Command Line: telnetd.exe "logonuitext -c cmd.exe" 23
[0] 0 32 800 mwstartnet.exe
Command Line: mwstartnet.exe
[0] 0 32 844 msvsmon.exe
Command Line: C:\Tools\RemoteDebugger\msvsmon.exe /CHILDSERVER f8 "+:4018" {D3C4A7EE-BF0A-4DFA-A528-37F82D32C36D} 0x0 f4 ec e8 f0 /silent+ /servicemode-
[0] 0 32 924 cmd.exe
Command Line: cmd.exe
[0] 0 32 1084 tlist.exe
Command Line: tlist -v
It does have an http server running and this is what it shows:
Test Web server running on MinWin
task list
file list
memory statistics
Task list:
mintasklist
Image Name PID Services
========================= ====== =============================================
System Idle Process 0 N/A
System 4 N/A
unknown 180 N/A
unknown 260 N/A
wininit.exe 288 N/A 142439165
unknown 296 N/A
winlogon.exe 312 N/A 946704075
unknown 332 N/A
lsass.exe 344 N/A 3688591984
svchost.exe 420 N/A 728549736
svchost.exe 456 N/A 240216553
svchost.exe 536 N/A 299939892
svchost.exe 564 N/A 534471125
svchost.exe 580 N/A 70027273
svchost.exe 604 N/A 317419388
svchost.exe 692 N/A 59986282
svchost.exe 708 N/A 47981723
cmd.exe 744 N/A 69157825
msvsmon.exe 752 N/A 667937796
Galileo_eboot.exe 760 N/A 2899972115
httpsrv.exe 776 N/A 75800204
ftpd.exe 784 N/A 30306579
telnetd.exe 792 N/A 374316189
mwstartnet.exe 800 N/A 61796899
msvsmon.exe 844 N/A 124821234
cmd.exe 924 N/A 113322671
mintasklist.exe 1892 N/A 30138456
File list doesn't work.
memory statistics:
memstat
34 percent of memory is in use.
There are 239 total Mbytes of physical memory.
There are 155 free Mbytes of physical memory.
There are 1263 total Mbytes of paging file.
There are 1183 free Mbytes of paging file.
There are 2047 total Mbytes of virtual memory.
There are 2042 free Mbytes of virtual memory.
There are 0 free Mbytes of extended memory.
The onboard LED project pretty much does the same other than with a built in led and it uses Sleep instead of delays.
Next I'm going to try the 16x2LCD project:
https://ms-iot.github.io/content/16x2LCD.htmWith this module I got from china for $4:
http://www.wvshare.com/product/LCD1602-3.3V-blue.htmThat I got with an assortment of parts:
I'm pretty impressed so far with what this pentium class SoC can do. The chip itself and variations go for under $20 quantity one
http://www.findchips.com/search/intel%20quarkhttp://www.mouser.com/Semiconductors/Integrated-Circuits-ICs/_/N-6j73k?Keyword=intel+quark&FS=True