forked from jappel/VersaMCU
Add UF2 bootloader for USB firmware flashing
Vendored and trimmed from microsoft/uf2-samdx1, adapted to the actual ATSAMD21G17D (128 KiB flash / 16 KiB RAM), fixing the flash/RAM-size mismatch that the previously commented-out SAM-BA bootloader target had (it assumed a 256 KiB SAMD21G18A). Builds as a standalone PlatformIO environment (bootloader/platformio.ini), no python2/make dependency. Compiles clean, fits in the 8 KiB bootloader region (7292/8192 bytes). Not yet flashed/verified on real hardware.
This commit is contained in:
parent
ce5db617a1
commit
de52b57041
143 changed files with 69119 additions and 0 deletions
32
bootloader/include/board_config.h
Normal file
32
bootloader/include/board_config.h
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
/*
|
||||
* Board config for the VersaPad v2 UF2 bootloader.
|
||||
* Adapted from Microsoft uf2-samdx1 boards/gemma_m0/board_config.h
|
||||
* (closest upstream template: crystalless ATSAMD21, same USB_VID).
|
||||
*/
|
||||
#ifndef BOARD_CONFIG_H
|
||||
#define BOARD_CONFIG_H
|
||||
|
||||
#define CRYSTALLESS 1
|
||||
|
||||
#define VENDOR_NAME "Custom"
|
||||
#define PRODUCT_NAME "VersaPad v2"
|
||||
#define VOLUME_LABEL "VERSABOOT"
|
||||
#define INDEX_URL "https://git.jappel.io/jappel/VersaMCU"
|
||||
#define BOARD_ID "SAMD21G17D-VersaPad-v2"
|
||||
|
||||
/* Same VID as the app firmware (platformio.ini), distinct PID so the
|
||||
* bootloader enumerates as a different USB device than the app. */
|
||||
#define USB_VID 0x239A
|
||||
#define USB_PID 0x0011
|
||||
|
||||
/* No plain GPIO status LED on this board, only a WS2812 chain on PB22.
|
||||
* The bootloader's LED_PIN code just toggles a digital output, that would
|
||||
* not drive WS2812 correctly, so leave it undefined for now. */
|
||||
//#define LED_PIN
|
||||
//#define LED_TX_PIN
|
||||
//#define LED_RX_PIN
|
||||
|
||||
//#define BOARD_RGBLED_CLOCK_PIN
|
||||
//#define BOARD_RGBLED_DATA_PIN
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue