Commit Graph

73 Commits

Author SHA1 Message Date
Scott Shawcroft
d189a3f3cf atmel-samd: Support auto-reset based on USB write activity.
It will soft-reboot micropython after a burst of writes to the
file system. This means that after you save files on your computer
they will be automatically rerun.

This can be disabled in the build by unsetting AUTORESET_TIMER in
mpconfigboard.h.

Using the REPL will also prevent the soft resets until you reset
with CTRL-D manually.
2016-10-25 18:36:37 -07:00
Scott Shawcroft
b7768a74a7 atmel-samd: Fix file system init.
Adding the USB write protection prevented file system reset from
working. Since it happens before USB start we temporarily set the
volume to writeable and then set it back to read-only before USB is
started.
2016-10-25 15:13:43 -07:00
Scott Shawcroft
8b1526e95e atmel-samd: Add a heap based cache for writing to flash.
The code will fallback to the flash scratch space when the GC
cannot allocate us enough memory.
2016-10-21 15:44:09 -07:00
Scott Shawcroft
46f6f9f899 atmel-samd: Start USB at the end so storage is initialized. 2016-10-21 15:44:09 -07:00
Scott Shawcroft
306c921ed1 atmel-samd: Rework mass storage interaction with underlying block
storage to use micropython's VFS interface.

This makes mass storage work with any VFS implementation rather
than a single one.
2016-10-21 15:36:59 -07:00
Tony DiCola
903bc8d04e atmel-samd: Implement time.ticks_ms function using SysTick timer, add global interrupt enable/disable functions. 2016-10-13 04:59:43 +00:00
Scott Shawcroft
6986aa9aa2 atmel-samd: Change the FAT label so the board shows up as MICROPYTHON. 2016-10-10 12:17:11 -07:00
Scott Shawcroft
284d3414e1 atmel-samd: Make UART REPL Arduino Zero specific. Most will use USB REPL. 2016-10-07 15:06:07 -07:00
Scott Shawcroft
42f6ba04a2 atmel-samd: Update the Micro Trace Buffer to have better defines.
Same as README.md here: https://github.com/adafruit/gdb-micro-trace-buffer
2016-10-05 18:42:02 -07:00
Scott Shawcroft
7e08347d5c atmel-samd: Support composite CDC and mass storage USB device.
Be careful to not use the flash file system while using mass storage
because both pieces of code attempting to change the fs can corrupt it.
2016-10-05 11:07:29 -07:00
Scott Shawcroft
1fa4c20c27 atmel-samd: Add Micro Trace Buffer support to the debug build.
The Micro Trace Buffer records the history of the pc and can be used
to debug hard faults even when the stack trace is useless.
2016-10-04 16:13:33 -07:00
Scott Shawcroft
eda33385e6 atmel-samd: Correct the stack_top pointer used in garbage collection.
Without this fix the gc will consider a large, random section of memory
and it may never finish.
2016-09-22 18:24:06 -07:00
Scott Shawcroft
bbeed82378 atmel-samd: Run boot.py and main.py at startup and soft reboot. 2016-09-22 13:56:26 -07:00
Scott Shawcroft
0f4f4c7544 atmel-samd: Add sys, fix import and increase the size of the heap. 2016-09-19 16:56:42 -07:00
Scott Shawcroft
7fd84e93f4 atmel-samd: Support raw repl and soft reset to support ampy.
Closes #1. Also adds TX and RX led support on the Arduino Zero.
2016-09-15 17:01:19 -07:00
Scott Shawcroft
09be96a6aa atmel/samd: Add filesystem support. 64k is stored in flash. 2016-09-02 17:00:30 -07:00
Scott Shawcroft
eff137a5f5 atmel/samd: Support CTRL-C on USB. This won't escape native code but it will cause Python code to stop. 2016-08-31 00:11:56 -07:00
Scott Shawcroft
b883a15d82 atmel-samd: Rename module classes so they don't conflict with names from ASF. 2016-08-28 00:02:05 -07:00
Scott Shawcroft
3cb4938c63 atmel-samd: Support Digital IO pins.
Also bumps up the heap size.
2016-08-24 17:38:08 -07:00
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
Scott Shawcroft
9485634d41 Add support for REPL on Arduino Zero through EDBG via UART. 2016-08-23 16:47:53 -07:00
Scott Shawcroft
8f26d181c3 Blinking the LED works. Clocks should be set up correctly.
Everything works fine without USB being plugged in but faults (I think) when USB is plugged in. This is switched away from the USB code from the bootloader onto the USB code thats generated by Atmel Studio using the high level classes from ASF.
2016-08-22 23:53:11 -07:00
Scott Shawcroft
a5f6cb3c57 Compiled and linked SAMD21x18 version successfully. 2016-08-22 23:53:10 -07:00