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 _______________________________________________ Hardwarehacking mailing list Hardwarehacking@blu.org http://lists.blu.org/mailman/listinfo/hardwarehacking