Datasheet

#include <util/delay.h>
you'll get an error that says
fatal error: util/delay.h: No such file or directory
#include <util/delay.h>
^
compilation terminated.
Error compiling.
In which case you can simply locate where the line is (the error will give you the file name
and line number) and 'wrap it' with #ifdef's so it looks like:
The above will also make sure that header file isn't included for other architectures
If the #include is in the arduino sketch itself, you can try just removing the line.
Bootloader Launching
For most other AVRs, clicking reset while plugged into USB will launch the bootloader
manually, the bootloader will time out after a few seconds. For the M0, you'll need to
double
click
the button. You will see a pulsing red LED to let you know you're in bootloader mode.
Once in that mode, it wont time out! Click reset again if you want to go back to launching
code
Aligned Memory Access
This is a little less likely to happen to you but it happened to me! If you're used to 8-bit
platforms, you can do this nice thing where you can typecast variables around. e.g.
uint8_t mybuffer[4];
float f = (float)mybuffer;
You can't be guaranteed that this will work on a 32-bit platform because mybuffer might not
be aligned to a 2 or 4-byte boundary. The ARM Cortex-M0 can only directly access data on
16-bit boundaries (every 2 or 4 bytes). Trying to access an odd-boundary byte (on a 1 or 3
#if !defined(ARDUINO_ARCH_SAM) && !defined(ARDUINO_ARCH_SAMD) && !defined(ESP8266) && !defined(ARDUINO_ARCH_STM32F2)
#include <util/delay.h>
#endif
© Adafruit Industries https://learn.adafruit.com/adafruit-feather-m0-bluefruit-le Page 51 of 238