Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
samd21:bootloader [2020/12/30 19:20]
admin [... with a Raspberry Pi]
samd21:bootloader [2020/12/30 21:15] (current)
admin [... with a Segger J-Link Programmer]
Line 5: Line 5:
 ==== ... with a Raspberry Pi ==== ==== ... with a Raspberry Pi ====
  
-One has to install OpenOCD on a Raspberry Pi:\\+One has to install OpenOCD on a Raspberry Pi (RaspbianBuster):\\
 Update and install some tools: Update and install some tools:
-  sudo apt-get update +  sudo apt-get update 
-  sudo apt-get install git autoconf libtool make pkg-config libusb-1.0-0 libusb-1.0-0-dev htop+  § sudo apt-get install git autoconf libtool make pkg-config libusb-1.0-0 libusb-1.0-0-dev htop
 Download OpenOCD from [[http://openocd.zylin.com/#/admin/projects/openocd]]: Download OpenOCD from [[http://openocd.zylin.com/#/admin/projects/openocd]]:
-  git clone http://openocd.zylin.com/openocd+  git clone http://openocd.zylin.com/openocd
 Compile: Compile:
-  cd openocd-code +  cd openocd-code 
-  ./bootstrap +  ./bootstrap 
-  ./configure --enable-sysfsgpio --enable-bcm2835gpio +  ./configure --enable-sysfsgpio --enable-bcm2835gpio 
-  make +  make 
-  sudo make install +  sudo make install 
-List of Interfaces: +List all Interfaces: 
-  cd /usr/local/share/openocd/scripts/interface +  cd /usr/local/share/openocd/scripts/interface 
-  ls +  ls 
-Make a folder and download the bootloader+Make a Folder and Download the Bootloader
-  cd ~ +  cd ~ 
-  mkdir bootloader +  mkdir bootloader 
-  cd bootloader +  cd bootloader 
-  wget https://github.com/arduino/ArduinoCore-samd/raw/master/bootloaders/zero/samd21_sam_ba.bin+  wget https://github.com/arduino/ArduinoCore-samd/raw/master/bootloaders/zero/samd21_sam_ba.bin
 Make a Configuration File: Make a Configuration File:
-  nano openocd.cfg+  nano openocd.cfg
 and add: and add:
   source [find interface/raspberrypi2-native.cfg]   source [find interface/raspberrypi2-native.cfg]
Line 52: Line 52:
   reset   reset
   shutdown   shutdown
 +
 +The GPIO pin numbers can be set here or in the raspberrypi2-native.cfg file. To do so change in:
 +  $ sudo nano /usr/local/share/openocd/scripts/interface/raspberrypi2-native.cfg
 +the following lines:
 +  bcm2835gpio_swd_nums 25 24
 +  bcm2835gpio_trst_num 7
 +  bcm2835gpio_srst_num 18
  
 Connecting the SAMD21 Board: Connecting the SAMD21 Board:
Line 64: Line 71:
  
 ==== ... with a Segger J-Link Programmer ==== ==== ... with a Segger J-Link Programmer ====
 +**UNDER CONSTRUCTION !**
  
 and [[https://github.com/adafruit/Adafruit_Adalink|Adalink ARM CPU Tool]]\\ and [[https://github.com/adafruit/Adafruit_Adalink|Adalink ARM CPU Tool]]\\
Line 81: Line 89:
  
 [[https://github.com/Seeed-Studio/ArduinoCore-samd/blob/master/bootloaders/XIAOM0/update-bootloader-XIAO_m0-v3.7.0-33-g90ff611-dirty.bin|Seeeduino XIAO Bootloader]]\\ [[https://github.com/Seeed-Studio/ArduinoCore-samd/blob/master/bootloaders/XIAOM0/update-bootloader-XIAO_m0-v3.7.0-33-g90ff611-dirty.bin|Seeeduino XIAO Bootloader]]\\
 +This bootloader bever worked for me!\\
  
 ---- ----
Line 86: Line 95:
  
 [[https://learn.adafruit.com/programming-microcontrollers-using-openocd-on-raspberry-pi/compiling-openocd|Programming Microcontrollers using OpenOCD on a Raspberry Pi by Lady Ada]]\\ [[https://learn.adafruit.com/programming-microcontrollers-using-openocd-on-raspberry-pi/compiling-openocd|Programming Microcontrollers using OpenOCD on a Raspberry Pi by Lady Ada]]\\
 +
 +[[https://embeddedcomputing.weebly.com/seeeduino-xiao-m0.html|Seeeduino Xiao M0​ by Embedded Computing]]\\
  
 [[https://forum.seeedstudio.com/t/how-to-unbrick-a-dead-xiao-using-raspberry-pi-guide-openocd/253990|How to Unbrick a Dead XIAO Using Raspberry Pi by John Doe]]\\ [[https://forum.seeedstudio.com/t/how-to-unbrick-a-dead-xiao-using-raspberry-pi-guide-openocd/253990|How to Unbrick a Dead XIAO Using Raspberry Pi by John Doe]]\\
 +
 +[[http://openocd.org/doc/html/Flash-Commands.html|OpenOCD - Flash Commands]]\\
  
 ---- ----