How many times may a bootloader be burn? [solved] Answer=150k

I intend to use Arduino IDE (high level C++), Zerynth (Python) and Atmel Studio (low level C++, i.e. without Arduino layer, and assembler). This means 2 different bootloaders and no bootloader at all.

All this on the same MKR1000 board. I apparently managed to burn bootloaders without the need of ISP, probably works only or MKR boards (cf this thread). I write "apparently" because I'm only 99% sure of what happened, and I want to reproduce what I did to be completely sure.

Whatever, here are my questions :

  • Is the bootloader in the same memory than the sketches?
  • If no, how many times may we reflash a bootloader?

I think that the answer to (1) is "yes" and the answer to (2) is thus "a lot", but I'm a newbie in the field, so I'd rather know what I'm walking into.

The datasheet for the processor used in the MKR1000 board will have that inforamtion.

Look in the datasheet for something like 'flash endurance'

  • Yes. The samd bootloader resides at the beginning of the same flash memory that your sketch uses.
  • Therefore, it has the same flash endurance. High, but not impossible to use up. 10,000 I think.

I think I found the information :

Arduino MKR1000, Tech Specs tab: Microcontroller SAMD21 Cortex-M0+ 32bit low power ARM MCU

Adafruit SAMD21, page 968, Table 36-40. Flash Endurance and Data Retention: typical cycle endurance = 150k (min = 25k).

Thanks for the help.