Merge remote-tracking branch 'adafruit/master' into oserror-with-filename

This commit is contained in:
Dan Halbert 2020-02-04 17:08:50 -05:00
commit 280e20adbe
26 changed files with 229 additions and 137 deletions

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-01-29 17:27-0800\n"
"POT-Creation-Date: 2020-02-03 23:41-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -1845,7 +1845,7 @@ msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
msgstr ""
#: shared-bindings/displayio/Palette.c
msgid "color buffer must be a buffer or int"
msgid "color buffer must be a buffer, tuple, list, or int"
msgstr ""
#: shared-bindings/displayio/Palette.c

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-01-29 17:27-0800\n"
"POT-Creation-Date: 2020-02-03 23:41-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -1821,7 +1821,7 @@ msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
msgstr ""
#: shared-bindings/displayio/Palette.c
msgid "color buffer must be a buffer or int"
msgid "color buffer must be a buffer, tuple, list, or int"
msgstr ""
#: shared-bindings/displayio/Palette.c

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-01-29 17:27-0800\n"
"POT-Creation-Date: 2020-02-03 23:41-0500\n"
"PO-Revision-Date: 2018-07-27 11:55-0700\n"
"Last-Translator: Pascal Deneaux\n"
"Language-Team: Sebastian Plamauer, Pascal Deneaux\n"
@ -1849,8 +1849,8 @@ msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
msgstr "Farbpuffer muss 3 Bytes (RGB) oder 4 Bytes (RGB + pad byte) sein"
#: shared-bindings/displayio/Palette.c
msgid "color buffer must be a buffer or int"
msgstr "Farbpuffer muss ein Puffer oder ein int sein"
msgid "color buffer must be a buffer, tuple, list, or int"
msgstr ""
#: shared-bindings/displayio/Palette.c
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
@ -2853,7 +2853,6 @@ msgstr ""
#~ msgid "C-level assert"
#~ msgstr "C-Level Assert"
#, c-format
#~ msgid "Can not use dotstar with %s"
#~ msgstr "Kann dotstar nicht mit %s verwenden"
@ -3167,17 +3166,18 @@ msgstr ""
#~ "Sie laufen im abgesicherten Modus, was bedeutet, dass etwas Unerwartetes "
#~ "passiert ist.\n"
#, c-format
#~ msgid "buf is too small. need %d bytes"
#~ msgstr "buf ist zu klein. brauche %d Bytes"
#~ msgid "buffer too long"
#~ msgstr "Buffer zu lang"
#, c-format
#~ msgid "byteorder is not an instance of ByteOrder (got a %s)"
#~ msgstr "byteorder ist keine Instanz von ByteOrder (%s erhalten)"
#~ msgid "color buffer must be a buffer or int"
#~ msgstr "Farbpuffer muss ein Puffer oder ein int sein"
#~ msgid "expected a DigitalInOut"
#~ msgstr "erwarte DigitalInOut"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-01-29 17:27-0800\n"
"POT-Creation-Date: 2020-02-03 23:41-0500\n"
"PO-Revision-Date: 2018-07-27 11:55-0700\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -1821,7 +1821,7 @@ msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
msgstr ""
#: shared-bindings/displayio/Palette.c
msgid "color buffer must be a buffer or int"
msgid "color buffer must be a buffer, tuple, list, or int"
msgstr ""
#: shared-bindings/displayio/Palette.c

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-01-29 17:27-0800\n"
"POT-Creation-Date: 2020-02-03 23:41-0500\n"
"PO-Revision-Date: 2018-07-27 11:55-0700\n"
"Last-Translator: \n"
"Language-Team: @sommersoft, @MrCertainly\n"
@ -1825,7 +1825,7 @@ msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
msgstr ""
#: shared-bindings/displayio/Palette.c
msgid "color buffer must be a buffer or int"
msgid "color buffer must be a buffer, tuple, list, or int"
msgstr ""
#: shared-bindings/displayio/Palette.c

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-01-29 17:27-0800\n"
"POT-Creation-Date: 2020-02-03 23:41-0500\n"
"PO-Revision-Date: 2018-08-24 22:56-0500\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -1850,8 +1850,8 @@ msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
msgstr "color buffer debe ser 3 bytes (RGB) ó 4 bytes (RGB + pad byte)"
#: shared-bindings/displayio/Palette.c
msgid "color buffer must be a buffer or int"
msgstr "color buffer deber ser un buffer o un int"
msgid "color buffer must be a buffer, tuple, list, or int"
msgstr ""
#: shared-bindings/displayio/Palette.c
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
@ -2853,7 +2853,6 @@ msgstr "paso cero"
#~ "Intento de allocation de heap cuando la VM de MicroPython no estaba "
#~ "corriendo.\n"
#, c-format
#~ msgid "Can not use dotstar with %s"
#~ msgstr "No se puede usar dotstar con %s"
@ -3194,14 +3193,12 @@ msgstr "paso cero"
#~ msgid "bad GATT role"
#~ msgstr "mal GATT role"
#, c-format
#~ msgid "buf is too small. need %d bytes"
#~ msgstr "buf es demasiado pequeño. necesita %d bytes"
#~ msgid "buffer too long"
#~ msgstr "buffer demasiado largo"
#, c-format
#~ msgid "byteorder is not an instance of ByteOrder (got a %s)"
#~ msgstr "byteorder no es instancia de ByteOrder (encontarmos un %s)"
@ -3223,6 +3220,9 @@ msgstr "paso cero"
#~ msgid "characteristics includes an object that is not a Characteristic"
#~ msgstr "characteristics incluye un objeto que no es una Characteristica"
#~ msgid "color buffer must be a buffer or int"
#~ msgstr "color buffer deber ser un buffer o un int"
#~ msgid "either pos or kw args are allowed"
#~ msgstr "ya sea pos o kw args son permitidos"
@ -3312,11 +3312,9 @@ msgstr "paso cero"
#~ msgid "unknown config param"
#~ msgstr "parámetro config desconocido"
#, c-format
#~ msgid "unknown format code '%c' for object of type 'float'"
#~ msgstr "codigo format desconocido '%c' para el typo de objeto 'float'"
#, c-format
#~ msgid "unknown format code '%c' for object of type 'str'"
#~ msgstr "codigo format desconocido '%c' para objeto de tipo 'str'"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-01-29 17:27-0800\n"
"POT-Creation-Date: 2020-02-03 23:41-0500\n"
"PO-Revision-Date: 2018-12-20 22:15-0800\n"
"Last-Translator: Timothy <me@timothygarcia.ca>\n"
"Language-Team: fil\n"
@ -1861,8 +1861,8 @@ msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
msgstr "color buffer ay dapat na 3 bytes (RGB) o 4 bytes (RGB + pad byte)"
#: shared-bindings/displayio/Palette.c
msgid "color buffer must be a buffer or int"
msgstr "color buffer ay dapat buffer or int"
msgid "color buffer must be a buffer, tuple, list, or int"
msgstr ""
#: shared-bindings/displayio/Palette.c
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
@ -3176,6 +3176,9 @@ msgstr "zero step"
#~ msgid "can't set STA config"
#~ msgstr "hindi makuha ang STA config"
#~ msgid "color buffer must be a buffer or int"
#~ msgstr "color buffer ay dapat buffer or int"
#~ msgid "either pos or kw args are allowed"
#~ msgstr "pos o kw args ang pinahihintulutan"
@ -3254,11 +3257,9 @@ msgstr "zero step"
#~ msgid "unknown config param"
#~ msgstr "hindi alam na config param"
#, c-format
#~ msgid "unknown format code '%c' for object of type 'float'"
#~ msgstr "hindi alam ang format code '%c' sa object na ang type ay 'float'"
#, c-format
#~ msgid "unknown format code '%c' for object of type 'str'"
#~ msgstr ""
#~ "hindi alam ang format ng code na '%c' para sa object ng type ay 'str'"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-01-29 17:27-0800\n"
"POT-Creation-Date: 2020-02-03 23:41-0500\n"
"PO-Revision-Date: 2019-04-14 20:05+0100\n"
"Last-Translator: Pierrick Couturier <arofarn@arofarn.info>\n"
"Language-Team: fr\n"
@ -1884,9 +1884,8 @@ msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
msgstr "le tampon de couleur doit faire 3 octets (RVB) ou 4 (RVB + pad byte)"
#: shared-bindings/displayio/Palette.c
#, fuzzy
msgid "color buffer must be a buffer or int"
msgstr "le tampon de couleur doit être un tampon ou un entier 'int'"
msgid "color buffer must be a buffer, tuple, list, or int"
msgstr ""
#: shared-bindings/displayio/Palette.c
#, fuzzy
@ -2903,7 +2902,6 @@ msgstr "'step' nul"
#~ msgstr ""
#~ "Tentative d'allocation de tas alors que la VM MicroPython ne tourne pas.\n"
#, c-format
#~ msgid "Can not use dotstar with %s"
#~ msgstr "Impossible d'utiliser 'dotstar' avec %s"
@ -3253,14 +3251,12 @@ msgstr "'step' nul"
#~ msgid "bad GATT role"
#~ msgstr "mauvais rôle GATT"
#, c-format
#~ msgid "buf is too small. need %d bytes"
#~ msgstr "'buf' est trop petit. Besoin de %d octets"
#~ msgid "buffer too long"
#~ msgstr "tampon trop long"
#, c-format
#~ msgid "byteorder is not an instance of ByteOrder (got a %s)"
#~ msgstr "'byteorder' n'est pas une instance de ByteOrder (reçu un %s)"
@ -3283,6 +3279,10 @@ msgstr "'step' nul"
#~ msgstr ""
#~ "'characteristics' inclut un objet qui n'est pas une 'Characteristic'"
#, fuzzy
#~ msgid "color buffer must be a buffer or int"
#~ msgstr "le tampon de couleur doit être un tampon ou un entier 'int'"
#~ msgid "either pos or kw args are allowed"
#~ msgstr "soit 'pos', soit 'kw' est permis en argument"
@ -3368,11 +3368,9 @@ msgstr "'step' nul"
#~ msgid "unknown config param"
#~ msgstr "paramètre de config. inconnu"
#, c-format
#~ msgid "unknown format code '%c' for object of type 'float'"
#~ msgstr "code de format '%c' inconnu pour un objet de type 'float'"
#, c-format
#~ msgid "unknown format code '%c' for object of type 'str'"
#~ msgstr "code de format '%c' inconnu pour un objet de type 'str'"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-01-29 17:27-0800\n"
"POT-Creation-Date: 2020-02-03 23:41-0500\n"
"PO-Revision-Date: 2018-10-02 16:27+0200\n"
"Last-Translator: Enrico Paganin <enrico.paganin@mail.com>\n"
"Language-Team: \n"
@ -1862,8 +1862,8 @@ msgstr ""
"il buffer del colore deve esseer di 3 byte (RGB) o 4 byte (RGB + pad byte)"
#: shared-bindings/displayio/Palette.c
msgid "color buffer must be a buffer or int"
msgstr "il buffer del colore deve essere un buffer o un int"
msgid "color buffer must be a buffer, tuple, list, or int"
msgstr ""
#: shared-bindings/displayio/Palette.c
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
@ -2870,7 +2870,6 @@ msgstr "zero step"
#~ msgid "C-level assert"
#~ msgstr "assert a livello C"
#, c-format
#~ msgid "Can not use dotstar with %s"
#~ msgstr "dotstar non può essere usato con %s"
@ -3166,6 +3165,9 @@ msgstr "zero step"
#~ msgid "can't set STA config"
#~ msgstr "impossibile impostare le configurazioni della STA"
#~ msgid "color buffer must be a buffer or int"
#~ msgstr "il buffer del colore deve essere un buffer o un int"
#~ msgid "either pos or kw args are allowed"
#~ msgstr "sono permesse solo gli argomenti pos o kw"
@ -3241,12 +3243,10 @@ msgstr "zero step"
#~ msgid "unknown config param"
#~ msgstr "parametro di configurazione sconosciuto"
#, c-format
#~ msgid "unknown format code '%c' for object of type 'float'"
#~ msgstr ""
#~ "codice di formattazione '%c' sconosciuto per oggetto di tipo 'float'"
#, c-format
#~ msgid "unknown format code '%c' for object of type 'str'"
#~ msgstr "codice di formattazione '%c' sconosciuto per oggetto di tipo 'str'"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-01-29 17:27-0800\n"
"POT-Creation-Date: 2020-02-03 23:41-0500\n"
"PO-Revision-Date: 2019-05-06 14:22-0700\n"
"Last-Translator: \n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -1826,7 +1826,7 @@ msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
msgstr ""
#: shared-bindings/displayio/Palette.c
msgid "color buffer must be a buffer or int"
msgid "color buffer must be a buffer, tuple, list, or int"
msgstr ""
#: shared-bindings/displayio/Palette.c

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-01-29 17:27-0800\n"
"POT-Creation-Date: 2020-02-03 23:41-0500\n"
"PO-Revision-Date: 2019-03-19 18:37-0700\n"
"Last-Translator: Radomir Dopieralski <circuitpython@sheep.art.pl>\n"
"Language-Team: pl\n"
@ -1829,8 +1829,8 @@ msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
msgstr "bufor kolorów musi nieć 3 bajty (RGB) lub 4 bajty (RGB + wypełnienie)"
#: shared-bindings/displayio/Palette.c
msgid "color buffer must be a buffer or int"
msgstr "bufor kolorów musi być typu buffer lub int"
msgid "color buffer must be a buffer, tuple, list, or int"
msgstr ""
#: shared-bindings/displayio/Palette.c
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
@ -2816,7 +2816,6 @@ msgstr "zerowy krok"
#~ msgid "Attempted heap allocation when MicroPython VM not running.\n"
#~ msgstr "Próba alokacji pamięci na stercie gdy VM nie działa.\n"
#, c-format
#~ msgid "Can not use dotstar with %s"
#~ msgstr "Nie można używać dotstar z %s"
@ -3035,11 +3034,9 @@ msgstr "zerowy krok"
#~ msgid "bad GATT role"
#~ msgstr "zła rola GATT"
#, c-format
#~ msgid "buf is too small. need %d bytes"
#~ msgstr "buf zbyt mały. Wymagane %d bajtów"
#, c-format
#~ msgid "byteorder is not an instance of ByteOrder (got a %s)"
#~ msgstr "byteorder musi być typu ByteOrder (jest %s)"
@ -3047,6 +3044,9 @@ msgstr "zerowy krok"
#~ msgstr ""
#~ "charakterystyki zawierają obiekt, który nie jest typu Characteristic"
#~ msgid "color buffer must be a buffer or int"
#~ msgstr "bufor kolorów musi być typu buffer lub int"
#~ msgid "interval not in range 0.0020 to 10.24"
#~ msgstr "przedział poza zakresem 0.0020 do 10.24"
@ -3068,11 +3068,9 @@ msgstr "zerowy krok"
#~ msgid "timeout >100 (units are now seconds, not msecs)"
#~ msgstr "timeout > 100 (jednostkami są sekundy)"
#, c-format
#~ msgid "unknown format code '%c' for object of type 'float'"
#~ msgstr "zły kod foratowania '%c' dla obiektu typu 'float'"
#, c-format
#~ msgid "unknown format code '%c' for object of type 'str'"
#~ msgstr "zły kod formatowania '%c' dla obiektu typu 'str'"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-01-29 17:27-0800\n"
"POT-Creation-Date: 2020-02-03 23:41-0500\n"
"PO-Revision-Date: 2018-10-02 21:14-0000\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -1842,7 +1842,7 @@ msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
msgstr ""
#: shared-bindings/displayio/Palette.c
msgid "color buffer must be a buffer or int"
msgid "color buffer must be a buffer, tuple, list, or int"
msgstr ""
#: shared-bindings/displayio/Palette.c

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: circuitpython-cn\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-01-29 17:27-0800\n"
"POT-Creation-Date: 2020-02-03 23:41-0500\n"
"PO-Revision-Date: 2019-04-13 10:10-0700\n"
"Last-Translator: hexthat\n"
"Language-Team: Chinese Hanyu Pinyin\n"
@ -1839,8 +1839,8 @@ msgstr ""
"yánsè huǎnchōng qū bìxū wèi 3 zì jié (RGB) huò 4 zì jié (RGB + pad zì jié)"
#: shared-bindings/displayio/Palette.c
msgid "color buffer must be a buffer or int"
msgstr "yánsè huǎnchōng qū bìxū shì huǎnchōng qū huò zhěngshù"
msgid "color buffer must be a buffer, tuple, list, or int"
msgstr ""
#: shared-bindings/displayio/Palette.c
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
@ -2829,7 +2829,6 @@ msgstr "líng bù"
#~ msgid "Attempted heap allocation when MicroPython VM not running.\n"
#~ msgstr "MicroPython VM wèi yùnxíng shí chángshì duī fēnpèi.\n"
#, c-format
#~ msgid "Can not use dotstar with %s"
#~ msgstr "Wúfǎ yǔ dotstar yīqǐ shǐyòng %s"
@ -3091,17 +3090,18 @@ msgstr "líng bù"
#~ msgid "bad GATT role"
#~ msgstr "zǒng xiédìng de bùliáng juésè"
#, c-format
#~ msgid "buf is too small. need %d bytes"
#~ msgstr "huǎnchōng tài xiǎo. Xūyào%d zì jié"
#, c-format
#~ msgid "byteorder is not an instance of ByteOrder (got a %s)"
#~ msgstr "zì jié bùshì zì jié xù shílì (yǒu %s)"
#~ msgid "characteristics includes an object that is not a Characteristic"
#~ msgstr "tèxìng bāokuò bùshì zìfú de wùtǐ"
#~ msgid "color buffer must be a buffer or int"
#~ msgstr "yánsè huǎnchōng qū bìxū shì huǎnchōng qū huò zhěngshù"
#~ msgid "expected a DigitalInOut"
#~ msgstr "qídài de DigitalInOut"
@ -3132,11 +3132,9 @@ msgstr "líng bù"
#~ msgid "too many arguments"
#~ msgstr "tài duō cānshù"
#, c-format
#~ msgid "unknown format code '%c' for object of type 'float'"
#~ msgstr "lèixíng 'float' duìxiàng wèizhī de géshì dàimǎ '%c'"
#, c-format
#~ msgid "unknown format code '%c' for object of type 'str'"
#~ msgstr "lèixíng 'str' duìxiàng wèizhī de géshì dàimǎ '%c'"

View File

@ -26,11 +26,11 @@
# Select the board to build for.
ifeq ($(BOARD),)
$(error You must provide a BOARD parameter)
$(error You must provide a BOARD parameter)
else
ifeq ($(wildcard boards/$(BOARD)/.),)
$(error Invalid BOARD specified)
endif
ifeq ($(wildcard boards/$(BOARD)/.),)
$(error Invalid BOARD specified)
endif
endif
# If the build directory is not given, make it reflect the board name.
@ -80,19 +80,16 @@ INC += -I../../supervisor/shared/usb
#Debugging/Optimization
ifeq ($(DEBUG), 1)
CFLAGS += -ggdb
# You may want to enable these flags to make setting breakpoints easier.
CFLAGS += -fno-inline -fno-ipa-sra
CFLAGS += -ggdb
# You may want to enable these flags to make setting breakpoints easier.
CFLAGS += -fno-inline -fno-ipa-sra
else
CFLAGS += -Os -DNDEBUG
CFLAGS += -ggdb
# TODO: Test with -flto
### CFLAGS += -flto
CFLAGS += -Os -DNDEBUG
CFLAGS += -ggdb
# TODO: Test with -flto
### CFLAGS += -flto
endif
ifndef BOOTLOADER_OFFSET
BOOTLOADER_OFFSET := 0x8000000
endif
C_DEFS = -DMCU_PACKAGE=$(MCU_PACKAGE) -DUSE_HAL_DRIVER -DUSE_FULL_LL_DRIVER -D$(CMSIS_MCU)
@ -115,6 +112,22 @@ CFLAGS += \
# TODO: check this
CFLAGS += -D__START=main
#need both command and valid file to use uf2 bootloader
ifndef LD_FILE
ifneq ($(and $(UF2_BOOTLOADER),$(LD_BOOT)),)
LD_FILE = $(LD_BOOT)
BOOTLOADER_OFFSET = $(UF2_OFFSET)
CFLAGS += -DUF2_BOOTLOADER_ENABLED
else
LD_FILE = $(LD_DEFAULT)
endif
endif
# Add bootloader specific items
ifndef BOOTLOADER_OFFSET
BOOTLOADER_OFFSET := 0x8000000
endif
LDFLAGS = $(CFLAGS) -fshort-enums -Wl,-nostdlib -Wl,-T,$(LD_FILE) -Wl,-Map=$@.map -Wl,-cref -Wl,-gc-sections -specs=nano.specs
LIBS := -lgcc -lc
@ -210,12 +223,12 @@ SRC_S = \
boards/startup_$(MCU_SUB_VARIANT).s
SRC_COMMON_HAL_EXPANDED = $(addprefix shared-bindings/, $(SRC_COMMON_HAL)) \
$(addprefix shared-bindings/, $(SRC_BINDINGS_ENUMS)) \
$(addprefix common-hal/, $(SRC_COMMON_HAL))
$(addprefix shared-bindings/, $(SRC_BINDINGS_ENUMS)) \
$(addprefix common-hal/, $(SRC_COMMON_HAL))
SRC_SHARED_MODULE_EXPANDED = $(addprefix shared-bindings/, $(SRC_SHARED_MODULE)) \
$(addprefix shared-module/, $(SRC_SHARED_MODULE)) \
$(addprefix shared-module/, $(SRC_SHARED_MODULE_INTERNAL))
$(addprefix shared-module/, $(SRC_SHARED_MODULE)) \
$(addprefix shared-module/, $(SRC_SHARED_MODULE_INTERNAL))
ifneq ($(FROZEN_MPY_DIR),)

View File

@ -5,9 +5,9 @@
/* Specify the memory areas */
MEMORY
{
FLASH (rx) : ORIGIN = 0x08010000, LENGTH = 512K - 64K /* entire flash */
FLASH_ISR (rx) : ORIGIN = 0x08010000, LENGTH = 64K
FLASH_TEXT (rx) : ORIGIN = 0x08020000, LENGTH = 384K /* sector 4 is 64K, sectors 5,6,7 are 128K */
FLASH (rx) : ORIGIN = 0x08010000, LENGTH = 512K - 64K /* entire flash, sans bootloader region */
FLASH_ISR (rx) : ORIGIN = 0x08010000, LENGTH = 64K /* sector 4 */
FLASH_TEXT (rx) : ORIGIN = 0x08020000, LENGTH = 384K /* sectors 5,6,7 are 128K */
RAM (xrw) : ORIGIN = 0x20000194, LENGTH = 96K - 0x194
}

View File

@ -0,0 +1,107 @@
/*
GNU linker script for STM32F405 with bootloader
Based on Micropython
*/
/* Specify the memory areas */
MEMORY
{
FLASH (rx) : ORIGIN = 0x08010000, LENGTH = 1024K - 64K /* entire flash, sans bootloader region */
FLASH_ISR (rx) : ORIGIN = 0x08010000, LENGTH = 64K /* sector 0 */
FLASH_TEXT (rx) : ORIGIN = 0x08020000, LENGTH = 1024K - 64K - 64K /* sectors 5+ */
CCMRAM (xrw) : ORIGIN = 0x10000000, LENGTH = 64K
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K
}
/* produce a link error if there is not this amount of RAM for these sections */
_minimum_stack_size = 2K;
_minimum_heap_size = 16K;
/* Define the top end of the stack. The stack is full descending so begins just
above last byte of RAM. Note that EABI requires the stack to be 8-byte
aligned for a call. */
_estack = ORIGIN(RAM) + LENGTH(RAM);
/* RAM extents for the garbage collector */
_ram_start = ORIGIN(RAM);
_ram_end = ORIGIN(RAM) + LENGTH(RAM);
ENTRY(Reset_Handler)
/* define output sections */
SECTIONS
{
/* The startup code goes first into FLASH */
.isr_vector :
{
. = ALIGN(4);
KEEP(*(.isr_vector)) /* Startup code */
/* This first flash block is 16K annd the isr vectors only take up
about 400 bytes. Micropython pads this with files, but this didn't
work with the size of Circuitpython's ff object. */
. = ALIGN(4);
} >FLASH_ISR
/* The program code and other data goes into FLASH */
.text :
{
. = ALIGN(4);
*(.text*) /* .text* sections (code) */
*(.rodata*) /* .rodata* sections (constants, strings, etc.) */
/* *(.glue_7) */ /* glue arm to thumb code */
/* *(.glue_7t) */ /* glue thumb to arm code */
. = ALIGN(4);
_etext = .; /* define a global symbol at end of code */
} >FLASH_TEXT
/* used by the startup to initialize data */
_sidata = LOADADDR(.data);
/* This is the initialized data section
The program executes knowing that the data is in the RAM
but the loader puts the initial values in the FLASH (inidata).
It is one task of the startup to copy the initial values from FLASH to RAM. */
.data :
{
. = ALIGN(4);
_sdata = .; /* create a global symbol at data start; used by startup code in order to initialise the .data section in RAM */
*(.data*) /* .data* sections */
. = ALIGN(4);
_edata = .; /* define a global symbol at data end; used by startup code in order to initialise the .data section in RAM */
} >RAM AT> FLASH_TEXT
/* Uninitialized data section */
.bss :
{
. = ALIGN(4);
_sbss = .; /* define a global symbol at bss start; used by startup code */
*(.bss*)
*(COMMON)
. = ALIGN(4);
_ebss = .; /* define a global symbol at bss end; used by startup code and GC */
} >RAM
/* this is to define the start of the heap, and make sure we have a minimum size */
.heap :
{
. = ALIGN(4);
. = . + _minimum_heap_size;
. = ALIGN(4);
} >RAM
/* this just checks there is enough RAM for the stack */
.stack :
{
. = ALIGN(4);
. = . + _minimum_stack_size;
. = ALIGN(4);
} >RAM
.ARM.attributes 0 : { *(.ARM.attributes) }
}

View File

@ -1,39 +1,29 @@
/*
GNU linker script for STM32F401 with bootloader (from Meowbit Micropython)
Doesn't work:
Traceback (most recent call last):
File "../../tools/build_memory_info.py", line 64, in <module>
regions[region] = int(eval(space))
File "<string>", line 1, in <module>
NameError: name 'FLASH_ISR' is not defined
GNU linker script for STM32F405 via Micropython
*/
/* Specify the memory areas */
/* FLASH_FS (rx) : ORIGIN = 0x08020000, LENGTH = 128K */
/* sectors 5 128K */
MEMORY
{
FLASH (rx) : ORIGIN = 0x08010000, LENGTH = 512K - 64K /* entire flash */
FLASH_ISR (rx) : ORIGIN = 0x08010000, LENGTH = 64K /* sector 4, sec 0~3 reserved for booloader */
FLASH_TEXT (rx) : ORIGIN = 0x08020000, LENGTH = 384K /* sectors 5, 6,7 are 128K */
RAM (xrw) : ORIGIN = 0x20000194, LENGTH = 96K - 0x194
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1024K /* entire flash */
FLASH_ISR (rx) : ORIGIN = 0x08000000, LENGTH = 16K /* sector 0 */
FLASH_TEXT (rx) : ORIGIN = 0x08004000, LENGTH = 1008K /* sectors 0-7*/
CCMRAM (xrw) : ORIGIN = 0x10000000, LENGTH = 64K
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K
}
/* produce a link error if there is not this amount of RAM for these sections */
_minimum_stack_size = 2K;
_minimum_heap_size = 16K;
/* Define the stack. The stack is full descending so begins just above last byte
of RAM. Note that EABI requires the stack to be 8-byte aligned for a call. */
_estack = ORIGIN(RAM) + LENGTH(RAM) - _estack_reserve;
_sstack = _estack - 16K; /* tunable */
/* Define tho top end of the stack. The stack is full descending so begins just
above last byte of RAM. Note that EABI requires the stack to be 8-byte
aligned for a call. */
_estack = ORIGIN(RAM) + LENGTH(RAM);
/* RAM extents for the garbage collector */
_ram_start = ORIGIN(RAM);
_ram_end = ORIGIN(RAM) + LENGTH(RAM);
_heap_start = _ebss; /* heap starts just after statically allocated memory */
_heap_end = _sstack;
ENTRY(Reset_Handler)
@ -47,25 +37,8 @@ SECTIONS
KEEP(*(.isr_vector)) /* Startup code */
/* This first flash block is 16K annd the isr vectors only take up
about 400 bytes. So we pull in a couple of object files to pad it
out. */
. = ALIGN(4);
/* NOTE: If you update the list of files contained in .isr_vector,
then be sure to also update smhal/Makefile where it forcibly
builds each of these files with -Os */
*/ff.o(.text*)
*/vfs_fat_*.o(.text*)
*/py/formatfloat.o(.text*)
*/py/parsenum.o(.text*)
*/py/mpprint.o(.text*)
*/py/compile.o(.text*)
*/py/objset.o(.text*)
*/py/mpz.o(.text*)
*/py/vm.o(.text*)
about 400 bytes. Micropython pads this with files, but this didn't
work with the size of Circuitpython's ff object. */
. = ALIGN(4);
} >FLASH_ISR
@ -130,3 +103,5 @@ SECTIONS
.ARM.attributes 0 : { *(.ARM.attributes) }
}

View File

@ -40,6 +40,11 @@
#define SPI_FLASH_SCK_PIN (&pin_PB03)
#define SPI_FLASH_CS_PIN (&pin_PA15)
// Bootloader only
#ifdef UF2_BOOTLOADER_ENABLED
#define BOARD_VTOR_DEFER //Leave VTOR relocation to bootloader
#endif
#define DEFAULT_I2C_BUS_SCL (&pin_PB06)
#define DEFAULT_I2C_BUS_SDA (&pin_PB07)

View File

@ -14,6 +14,9 @@ MCU_VARIANT = stm32f4
MCU_SUB_VARIANT = stm32f405xx
MCU_PACKAGE = 64
CMSIS_MCU = STM32F405xx
LD_FILE = boards/STM32F405.ld
TEXT0_ADDR = 0x08000000
TEXT1_ADDR = 0x08010000
# Default includes filesystem, but uses external flash
LD_DEFAULT = boards/STM32F405_default.ld
LD_BOOT = boards/STM32F405_boot.ld # UF2 boot option
UF2_OFFSET = 0x8010000

View File

@ -20,4 +20,5 @@ MCU_SUB_VARIANT = stm32f401xe
MCU_PACKAGE = 64
CMSIS_MCU = STM32F401xE
LD_FILE = boards/STM32F401_boot.ld
# LD_FILE = boards/STM32F401_fs.ld #use for internal flash
# LD_FILE = boards/STM32F401_fs.ld # use for internal flash

View File

@ -15,5 +15,4 @@ MCU_SUB_VARIANT = stm32f411xe
MCU_PACKAGE = 48
CMSIS_MCU = STM32F411xE
LD_FILE = boards/STM32F411VETx_FLASH.ld
TEXT0_ADDR = 0x08000000
TEXT1_ADDR = 0x08020000

View File

@ -12,6 +12,5 @@ MCU_VARIANT = stm32f4
MCU_SUB_VARIANT = stm32f405xx
MCU_PACKAGE = 64
CMSIS_MCU = STM32F405xx
LD_FILE = boards/STM32F405.ld
TEXT0_ADDR = 0x08000000
TEXT1_ADDR = 0x08010000
LD_FILE = boards/STM32F405_fs.ld

View File

@ -18,5 +18,4 @@ MCU_SUB_VARIANT = stm32f411xe
MCU_PACKAGE = 48
CMSIS_MCU = STM32F411xE
LD_FILE = boards/STM32F411VETx_FLASH.ld
TEXT0_ADDR = 0x08000000
TEXT1_ADDR = 0x08020000

View File

@ -13,5 +13,4 @@ MCU_SUB_VARIANT = stm32f411xe
MCU_PACKAGE = 100
CMSIS_MCU = STM32F411xE
LD_FILE = boards/STM32F411VETx_FLASH.ld
TEXT0_ADDR = 0x08000000
TEXT1_ADDR = 0x08020000

View File

@ -18,6 +18,5 @@ MCU_SUB_VARIANT = stm32f412zx
MCU_PACKAGE = 144
CMSIS_MCU = STM32F412Zx
LD_FILE = boards/STM32F412ZGTx_FLASH.ld
TEXT0_ADDR = 0x08000000
TEXT1_ADDR = 0x08020000