This is an old revision of the document!


OpenOCD & Raspberry Pi


On a Raspberry Pi following the openOCD manual by Lady Ada.

Install:

$ sudo apt-get install git autoconf libtool make pkg-config libusb-1.0-0 libusb-1.0-0-dev htop

Git clone:

$ git clone http://openocd.zylin.com/openocd
$ cd openocd/

Configure & Install:

$ ./bootstrap 
$ ./configure --enable-sysfsgpio --enable-bcm2835gpio
$ make
$ sudo make install

Check Interfaces:

$ cd /usr/local/share/openocd/scripts/interface/
$ ls

New Folder:

$ cd ~
$ mkdir bootloader
$ cd bootloader

Download the Bootloader:

$ wget https://github.com/arduino/ArduinoCore-samd/raw/master/bootloaders/zero/samd21_sam_ba.bin
$ wget https://github.com/Seeed-Studio/ArduinoCore-samd/blob/master/bootloaders/XIAOM0/bootloader-XIAO_m0-v3.7.0-33-g90ff611-dirty.bin
$ wget "https://github.com/arduino/ArduinoCore-samd/blob/master/bootloaders/mkrzero/samd21_sam_ba_arduino_mkrzero.hex"

Make your Config File:

$ nano openocd.cfg

Add:

$ sudo openocd -f openocd.cfg

If needed change the Raspberry Pi interface file:

$ sudo nano /usr/local/share/openocd/scripts/interface/raspberrypi2-native.cfg
$ sudo nano /usr/local/share/openocd/scripts/interface/raspberrypi3-native.cfg

HEX files

Pinout

Arduino MKR ZERO

Seeeduino XIAO

SAMD21 M0-Mini


Programming Adapter

These Adapter are made with Super Glue and Pogo Pins.

Seeeduino XIAO Adapter

3.3V is take from the regular pins.

SAMD21 M0-Mini Adapter

Power and ground is connected over the regular pins.