circuitpython/ports/atmel-samd
Jeff Epler 510890b207
Enable squeezing property storage in flash
.. and enable it on atmel-samd and raspberrypi. On trinket_m0 this saves
96 net bytes of flash. There are 216 bytes actually saved by reducing
the flash storage size of the property descriptors, but added code in
several paths takes back over half of the 'raw savings'.

By organizing the "get-only" and "get-set" (but no delete) properties
each in a different section, we can represent then more efficiently.

Testing performed: that a get-only property can still be gotten but
can't be set or deleted; that a get-set property can sill be gotten or
set but can't be deleted.  Tested on pygamer.

Because this requires linker file support, I only enabled it on two of
the ports.
2022-05-03 08:48:53 -05:00
..
asf4@84f56af132 update submodules to merge commits 2020-09-14 17:22:30 -05:00
asf4_conf Merge pull request #4716 from tyomitch/main 2021-05-08 08:47:29 -05:00
bindings/samd Make MP_PROPERTY_GETTER / _GETSET fully declare the property 2022-05-03 08:48:53 -05:00
boards Enable squeezing property storage in flash 2022-05-03 08:48:53 -05:00
common-hal Bound PulseIn start indexes to maxlen. 2022-04-28 02:28:34 +00:00
freetouch@b6859a349e
modules run code formatting script 2021-03-15 19:27:36 +05:30
peripherals@d3b20192cf improve SAMD audio DMA 2021-08-21 14:34:37 -04:00
sd_mmc codeformat: Fix filename matching 2021-04-30 10:48:08 -05:00
supervisor Preserve ticks for displays across VMs 2022-04-27 20:06:47 -04:00
tools run code formatting script 2021-03-15 19:27:36 +05:30
.gitattributes
.gitignore
audio_dma.c fix SAMD21 PDMIn DMA event use 2021-10-19 13:18:14 -04:00
audio_dma.h fix SAMD21 PDMIn DMA event use 2021-10-19 13:18:14 -04:00
background.c Remove OSError(0) and old network modules 2021-07-21 17:33:40 -07:00
background.h supervisor: factor supervisor_background_tasks from sundry ports 2020-07-15 11:49:44 -05:00
eic_handler.c working samd deep sleep timealarm and pinalarm (sketchy) 2021-09-29 11:44:15 -06:00
eic_handler.h reworked fake sleep. functional for pin and time 2021-10-09 11:44:10 -06:00
fatfs_port.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
ld_defines.c modifications by pre-commit 2021-03-15 18:11:00 -05:00
Makefile Fix SAMD51 builds on GCC11.2 2022-03-08 10:41:34 -08:00
mpconfigport.h Add two space saving knobs 2021-08-31 13:02:34 -07:00
mpconfigport.mk Enable squeezing property storage in flash 2022-05-03 08:48:53 -05:00
mphalport.c rework auto-reload delay logic 2022-03-11 14:03:04 -05:00
mphalport.h modifications by pre-commit 2021-03-15 18:11:00 -05:00
qstrdefsport.h Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
README.rst docs: Improve 5.0.x <-> main branch doc linkrot 2020-06-14 11:12:35 -05:00
reset.c Add some NORETURN attributes 2020-09-28 18:55:56 -05:00
reset.h Add some NORETURN attributes 2020-09-28 18:55:56 -05:00
samd_peripherals_config.h
shared_timers.c Reset timers separate from pwmio 2021-08-11 09:58:31 -07:00
shared_timers.h Reset timers separate from pwmio 2021-08-11 09:58:31 -07:00
timer_handler.c modifications by pre-commit 2021-03-15 18:11:00 -05:00
timer_handler.h Reset timers separate from pwmio 2021-08-11 09:58:31 -07:00

SAMD21 and SAMD51
==================

This port supports many development boards that utilize SAMD21 and SAMD51 chips. See
https://circuitpython.org/downloads for all supported boards.


Building
--------

For build instructions see this guide: https://learn.adafruit.com/building-circuitpython/


Debugging
---------

For debugging instructions see this guide: https://learn.adafruit.com/debugging-the-samd21-with-gdb


Port Specific modules
---------------------

.. toctree::
    ../../shared-bindings/samd/index