circuitpython/atmel-samd/README.md
Scott Shawcroft 0c4f9b878a Enable REPL over USB.
All of the code was there except the linker was failing to clear the bss section because I added too many .zeros. The should have only been the exported globals that start with _ like _szero = .. Fixing that and turn on the usb transmit fixed everything.
2016-08-24 00:14:11 -07:00

58 lines
1.7 KiB
Markdown

# SAMD21x18
This port is intended to be a full featured MicroPython port for SAMD21x18 based
development boards including the Arduino Zero, Adafruit Feather M0 and Adafruit
M0 BLE.
## Building
The Makefile has the ability to build for a SAMD21x18, and by default
includes some start-up code and also enables a UART for communication. To
build:
make CROSS=1
It will build for the Arduino Zero by default. You may change it by setting
`BOARD`. For example:
make CROSS=1 BOARD=feather_m0_ble
Board names are the directory names in the `boards` folder.
## Deploying
### Arduino Bootloader
If your board has an existing Arduino bootloader on it then you can use bossac
to flash MicroPython. After building run:
tools/bossac_osx -e -w -v -b build-feather_m0_ble/firmware.bin
### No Bootloader via GDB
This method works for loading MicroPython onto the Arduino Zero via the
programming port rather than the native USB port.
Note: These instructions are tested on Mac OSX and will vary for different
platforms.
openocd -f ~/Library/Arduino15/packages/arduino/hardware/samd/1.6.6/variants/arduino_zero/openocd_scripts/arduino_zero.cfg
In another terminal from `micropython/atmel-samd`:
arm-none-eabi-gdb build-arduino_zero/firmware.elf
(gdb) tar ext :3333
...
(gdb) load
...
(gdb) monitor reset init
...
(gdb) continue
## Connecting
All boards are currently configured to work over USB rather than UART. To
connect to it from OSX do something like this:
screen /dev/tty.usbmodem142422 115200
You may not see a prompt immediately because it doesn't know you connected. To
get one either hit enter to get `>>>` or do CTRL-B to get the full header.