-
-
Notifications
You must be signed in to change notification settings - Fork 8.3k
Add new port to Microchip SAMD microcontrollers #4863
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Thank you for the first steps in that direction. It would be also a nice implementation for the new Arduino Nano 33 IoT board ... any plans in this direction? |
Great news! I'll try to add the board files for the Adafruit pygamer (ATSAMD51) |
It's straightforward to support the SAMD21 part of that board, but supporting the esp32 WiFi coprocessor is a lot more effort, and there are currently no plans for that. |
support for the esp32 wifi coproc is here https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI but it does not fit in the low memory of the '21 at this time! |
Cool, thanks for the link! |
Repository https://github.com/Microsoft/uf2 commit 19615407727073e36d81bf239c52108ba92e7660
Initially supporting SAMD21 and SAMD51.
@dpgeorge, I added the Adafruit pygamer board:
Would you accept a pull request ? I'll work on a display driver now. |
Yes |
This adds basic support for SAMD21 and SAMD51 microcontrollers under the
ports/samd/
directory.Boards that are supported are Adafruit Trinket M0 and ItsyBitsy M4 Express. A USB REPL is available, as well as a UART REPL. Firmware size is around 100k with big-ints enabled, and floats enabled on the M4 Express.
CMSIS header files are provided by the new asf4 submodule (and only CMSIS headers are used from there).
The USB driver is provided by the tinyusb project, which is added as a submodule as well.
The bootloader on the supported Adafruit boards is UF2, and a tool is added to build UF2 files (direct from upstream https://github.com/Microsoft/uf2). Deployment must be done manually by entering the bootloader (double-tap the RST button), mounting the board's drive and then copying over
firmware.uf2
.