[HH] Intel Galileo

Tom Metro tmetro+hhacking at gmail.com
Thu Jan 16 16:38:45 EST 2014


Thanks to Brian for his nice presentation on the Intel Galileo
development board.

Back in November I posted about this board:
http://www.mail-archive.com/hardwarehacking@blu.org/msg01046.html

and raised a few questions:

> So Arduino compatible? Looking at the evaluation board schematic, which
> includes a block diagram (also appears in Galileo data sheet below):
> https://communities.intel.com/docs/DOC-21822
> 
> I'm not seeing a microcontroller for the Arduino-compatible
> functionality. Are they implementing it through emulation in the main
> CPU? (Looks like they use I/O expanders hanging off of an I2C bus to
> implement GPIO and PWM.)

I still haven't seen any official statement on this, but evidence does
seem to be supporting that they are using software emulation. One bit of
evidence for this is the way you can drop a 'system' command into an
Arduino sketch, and have it execute a Linux command on the main CPU.
While not impossible, if they were shipping off the sketch to a separate
microcontroller (or dedicated microcontroller core in the SoC), that
would be trickier to pull off.

Also notable that in the almost 1000 page Quark SoC data sheet:
https://communities.intel.com/servlet/JiveServlet/downloadBody/21828-102-2-25120/329676_QuarkDatasheet.pdf

there is no mention of "arduino" or "microcontroller", so clearly not a
microcontroller core on the die. ("microcontroller" does appear once,
but in the context of talking about the I2C protocol.)

This distinguishes this Arduino/Linux hybrid solution from ones we've
seen in the past, which have used physically separate, dedicated
microcontrollers on the board to implement the Arduino compatible portion.


After the meeting I chatted with Brian a bit about what mechanisms Intel
has provided to bridge the Arduino and Linux world. Aside from the
previously mentioned 'system' command, he wasn't aware of any that had
been exposed. Brian speculated that the Galileo IDE might be making use
of Galileo-specific libraries for things like the Ethernet interface
when it compiles the sketch. So in theory looking at the source to those
libraries might expose a lower layer API that offers greater access to
the Galileo hardware.

I get that Intel wants to make the Galileo developer friendly by
providing the familiar and easy to use Arduino environment, but unless
they have documented ways to expand the functionality on the Arduino
side, the Galileo won't be a compelling solution for someone looking for
an Arduino development experience. The system command is a start, but it
is a coarse mechanism.

 -Tom



More information about the Hardwarehacking mailing list