Ubuntu Linux:
* forget the JTAG stuff
* install the latest dfu-util (and libusb)
$ gpg --verify dfu-util-0.9.tar.gz.md5.asc
$ tar -zxvf dfu-util-0.9.tar.gz
$ cd dfu-util-0.9
$ ./configure
...
configure: error: *** Required libusb-1.0 >= 1.0.0 not installed ***
$ sudo apt-get install libusb-1.0-0-dev
$ ./configure
$ make
$ sudo make install
$ dfu-util -V
dfu-util 0.9
* install the Arduino IDE (>= 1.6.7)
* install the Curie board in the IDE (Tools->Board -> Boards Manager)
(Note: Tools->Board will show a selected board so it doesn't look like a list of boards. Click on it anyway to see the list and the Boards Manager option)
The list of boards will then include "Arduino/Genuino 101".
As a side effect a hidden directory ~/.arduino15/ will be created. For dfu-util to work a udev rule must be set up. A shell script is included to do this, in
~/.arduino15/packages/Intel/tools/arduino101load/1.6.4+1.18/scripts/create_dfu_udev_rule
Execute that script (using sudo) and you'll be ready to flash. To do that, you have to reset the board and then run your dfu-util command within 5 seconds.
"The MASTER RESET is intended to reset both the cores of Curie chip, while RESET will only reset the sketch (though the software doesn't support that yet, so they both reset the whole board).
When pressing MASTER RESET the board will enter DFU and you should see an entry in your device manager similar to this one" (http://forum.arduino.cc/index.php?topic=369653.5;wap2)
When pressing MASTER RESET the board will enter DFU and you should see an entry in your device manager similar to this one" (http://forum.arduino.cc/index.php?topic=369653.5;wap2)
- minimum version of dfu-util required, and instructions for obtaining and installing
- the required udev rule
- required group memberships - my UID was a member of plugdev (from the old instructions) and dialout (required by Arduino IDE). But when I removed myself from those groups I was still able to flash so I guess they're not required
- "flash mode"
- if you press the master reset button, then wait > 5 sec, the flash will fail with message "No DFU capable USB device available"
- if you press the master reset and flash within 5 sec, it will work
- thereafter, you can flash at will, until you hit the master reset again
- so I would say there is a "flash" mode, or something like that, which you enter if you flash within 5 secs of a master reset
- in flash mode, if you press the plain reset, you do not have to flash within 5 seconds
- exit flash mode by pressing master reset (and not flashing)
- once in no-flash mode, the only way to flash is via the master reset button, the plain reset won't work that way
It should be possible to get started without installing the Arduino IDE, by using the script create_dfu_udev_rule:
#!/bin/bash
#
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root"
exit
fi
NAME=99-arduino-101.rules
echo >/etc/udev/rules.d/$NAME
echo \# Arduino 101 in DFU Mode >>/etc/udev/rules.d/$NAME
echo SUBSYSTEM==\"tty\", ENV{ID_REVISION}==\"8087\", ENV{ID_MODEL_ID}==\"0ab6\", MODE=\"0666\", ENV{ID_MM_DEVICE_IGNORE}=\"1\", ENV{ID_MM_CANDIDATE}=\"0\" >>/etc/udev/rules.d/$NAME
echo SUBSYSTEM==\"usb\", ATTR{idVendor}==\"8087\", ATTR{idProduct}==\"0aba\", MODE=\"0666\", ENV{ID_MM_DEVICE_IGNORE}=\"1\" >>/etc/udev/rules.d/$NAME
udevadm control --reload-rules
udevadm trigger
Intel firmware page: https://downloadcenter.intel.com/download/25832 (source available)
Intel firmware page: https://downloadcenter.intel.com/download/25832 (source available)
Thanks for sharing This is such a great resource that you are providing and you give it away for free. I love seeing blog that understand the value of providing a quality information for free. OOH media software Very nice share and keep on sharing
ReplyDelete