Skip to content

Commit 6df99b5

Browse files
dhalberttannewt
authored andcommitted
Merge 2.1.0 changes into master.
1 parent 1c97b7f commit 6df99b5

29 files changed

Lines changed: 137 additions & 128 deletions

File tree

atmel-samd/Makefile

Lines changed: 45 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -101,11 +101,9 @@ else
101101
# -finline-limit can shrink the image size.
102102
# -finline-limit=80 or so is similar to not having it on.
103103
# There is no simple default value, though.
104-
ifeq ($(FLASH_IMPL),internal_flash.c)
105-
ifeq ($(CHIP_FAMILY), samd21)
106-
### TODO(dhalbert): disable for now; breaks things in 3.0.0 build(e.g. deinit checking is disabled)
107-
# CFLAGS += -finline-limit=19
108-
endif
104+
ifdef INTERNAL_FLASH_FILESYSTEM
105+
## Not currently needed
106+
## CFLAGS += -finline-limit=50
109107
endif
110108
CFLAGS += -flto
111109
endif
@@ -151,18 +149,19 @@ CFLAGS += -DMICROPY_MODULE_FROZEN_MPY
151149
CFLAGS += -Wno-error=lto-type-mismatch
152150
endif
153151

154-
#LIBM_FILE_NAME = $(shell $(CC) $(CFLAGS) -print-file-name=libm.a)
155152
LDFLAGS = $(CFLAGS) -nostartfiles -fshort-enums -Wl,-nostdlib -Wl,-T,$(LD_FILE) -Wl,-Map=$@.map -Wl,-cref -Wl,-gc-sections -specs=nano.specs
156153
LIBS := -lgcc -lc
157154

155+
# Use toolchain libm if we're not using our own.
156+
ifndef INTERNAL_LIBM
157+
LIBS += -lm
158+
endif
158159

159160
ifeq ($(CHIP_FAMILY), samd21)
160161
LDFLAGS += -mthumb -mcpu=cortex-m0plus -Lasf/thirdparty/CMSIS/Lib/GCC/
161-
LIBS := -lm $(LIBS) # -larm_cortexM0l_math
162162
BOOTLOADER_SIZE := 0x2000
163163
else ifeq ($(CHIP_FAMILY), samd51)
164164
LDFLAGS += -mthumb -mcpu=cortex-m4
165-
LIBS := -lm $(LIBS)
166165
BOOTLOADER_SIZE := 0x4000
167166
endif
168167

@@ -220,7 +219,6 @@ SRC_C = \
220219
tick.c \
221220
usb.c \
222221
usb_mass_storage.c \
223-
$(FLASH_IMPL) \
224222
bindings/samd/__init__.c \
225223
boards/$(BOARD)/board.c \
226224
boards/$(BOARD)/pins.c \
@@ -235,7 +233,17 @@ SRC_C = \
235233
lib/utils/sys_stdio_mphal.c \
236234
lib/libc/string0.c \
237235
lib/mp-readline/readline.c \
238-
# freetouch/adafruit_ptc.c \
236+
# freetouch/adafruit_ptc.c
237+
238+
# Choose which flash filesystem impl to use.
239+
# (Right now INTERNAL_FLASH_FILESYSTEM and SPI_FLASH_FILESYSTEM are mutually exclusive.
240+
# But that might not be true in the future.)
241+
ifdef INTERNAL_FLASH_FILESYSTEM
242+
SRC_C += internal_flash.c
243+
endif
244+
ifdef SPI_FLASH_FILESYSTEM
245+
SRC_C += spi_flash.c
246+
endif
239247

240248
SRC_COMMON_HAL = \
241249
board/__init__.c \
@@ -270,6 +278,30 @@ SRC_COMMON_HAL = \
270278
usb_hid/__init__.c \
271279
usb_hid/Device.c
272280

281+
ifdef INTERNAL_LIBM
282+
SRC_LIBM = $(addprefix lib/,\
283+
libm/math.c \
284+
libm/fmodf.c \
285+
libm/nearbyintf.c \
286+
libm/ef_sqrt.c \
287+
libm/kf_rem_pio2.c \
288+
libm/kf_sin.c \
289+
libm/kf_cos.c \
290+
libm/kf_tan.c \
291+
libm/ef_rem_pio2.c \
292+
libm/sf_sin.c \
293+
libm/sf_cos.c \
294+
libm/sf_tan.c \
295+
libm/sf_frexp.c \
296+
libm/sf_modf.c \
297+
libm/sf_ldexp.c \
298+
libm/asinfacosf.c \
299+
libm/atanf.c \
300+
libm/atan2f.c \
301+
)
302+
endif
303+
304+
273305
# These don't have corresponding files in each port but are still located in
274306
# shared-bindings to make it clear what the contents of the modules are.
275307
SRC_BINDINGS_ENUMS = \
@@ -306,6 +338,9 @@ OBJ = $(PY_O) $(SUPERVISOR_O) $(addprefix $(BUILD)/, $(SRC_C:.c=.o))
306338
OBJ += $(addprefix $(BUILD)/, $(SRC_ASF:.c=.o))
307339
OBJ += $(addprefix $(BUILD)/, $(SRC_COMMON_HAL_EXPANDED:.c=.o))
308340
OBJ += $(addprefix $(BUILD)/, $(SRC_SHARED_MODULE_EXPANDED:.c=.o))
341+
ifdef INTERNAL_LIBM
342+
OBJ += $(addprefix $(BUILD)/, $(SRC_LIBM:.c=.o))
343+
endif
309344

310345
SRC_QSTR += $(SRC_C) $(SRC_SUPERVISOR) $(SRC_COMMON_HAL_EXPANDED) $(SRC_SHARED_MODULE_EXPANDED) $(STM_SRC_C)
311346

atmel-samd/boards/arduino_zero/mpconfigboard.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ LD_FILE = boards/samd21x18-bootloader.ld
22
USB_VID = 0x2341
33
USB_PID = 0x824D
44

5-
FLASH_IMPL = internal_flash.c
5+
INTERNAL_FLASH_FILESYSTEM = 1
66

77
CHIP_VARIANT = SAMD21G18A
88
CHIP_FAMILY = samd21

atmel-samd/boards/circuitplayground_express/mpconfigboard.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
#define MICROPY_HW_BOARD_NAME "Adafruit CircuitPlayground Express"
44
#define MICROPY_HW_MCU_NAME "samd21g18"
55

6+
// Don't allow touch on A0 (PA02), because it's connected to the speaker.
7+
#define PA02_NO_TOUCH (true)
8+
69
// Salae reads 12mhz which is the limit even though we set it to the safer 8mhz.
710
#define SPI_FLASH_BAUDRATE (8000000)
811

atmel-samd/boards/circuitplayground_express/mpconfigboard.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ LD_FILE = boards/samd21x18-bootloader-crystalless.ld
22
USB_VID = 0x239A
33
USB_PID = 0x8019
44

5-
#FLASH_IMPL = spi_flash.c
6-
FLASH_IMPL = internal_flash.c
5+
#SPI_FLASH_FILESYSTEM = 1
6+
INTERNAL_FLASH_FILESYSTEM = 1
77

88
CHIP_VARIANT = SAMD21G18A
99
CHIP_FAMILY = samd21

atmel-samd/boards/feather_m0_adalogger/mpconfigboard.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ LD_FILE = boards/samd21x18-bootloader.ld
22
USB_VID = 0x239A
33
USB_PID = 0x8015
44

5-
FLASH_IMPL = internal_flash.c
5+
INTERNAL_FLASH_FILESYSTEM = 1
66

77
CHIP_VARIANT = SAMD21G18A
88
CHIP_FAMILY = samd21

atmel-samd/boards/feather_m0_basic/mpconfigboard.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ LD_FILE = boards/samd21x18-bootloader.ld
22
USB_VID = 0x239A
33
USB_PID = 0x8015
44

5-
FLASH_IMPL = internal_flash.c
5+
INTERNAL_FLASH_FILESYSTEM = 1
66

77
CHIP_VARIANT = SAMD21G18A
88
CHIP_FAMILY = samd21

atmel-samd/boards/feather_m0_express/mpconfigboard.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ LD_FILE = boards/samd21x18-bootloader.ld
22
USB_VID = 0x239A
33
USB_PID = 0x801b
44

5-
#FLASH_IMPL = spi_flash.c
6-
FLASH_IMPL = internal_flash.c
5+
#SPI_FLASH_FILESYSTEM = 1
6+
INTERNAL_FLASH_FILESYSTEM = 1
77

88
CHIP_VARIANT = SAMD21G18A
99
CHIP_FAMILY = samd21

atmel-samd/boards/gemma_m0/mpconfigboard.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ LD_FILE = boards/samd21x18-bootloader.ld
22
USB_VID = 0x239A
33
USB_PID = 0x801D
44

5-
FLASH_IMPL = internal_flash.c
5+
INTERNAL_FLASH_FILESYSTEM = 1
66

77
CHIP_VARIANT = SAMD21E18A
88
CHIP_FAMILY = samd21

atmel-samd/boards/metro_m0_express/mpconfigboard.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ LD_FILE = boards/samd21x18-bootloader.ld
22
USB_VID = 0x239A
33
USB_PID = 0x8014
44

5-
#FLASH_IMPL = spi_flash.c
6-
FLASH_IMPL = internal_flash.c
5+
#SPI_FLASH_FILESYSTEM = 1
6+
INTERNAL_FLASH_FILESYSTEM = 1
77

88
CHIP_VARIANT = SAMD21G18A
99
CHIP_FAMILY = samd21

atmel-samd/boards/metro_m4_express/mpconfigboard.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ LD_FILE = boards/samd51x19-bootloader.ld
22
USB_VID = 0x239A
33
USB_PID = 0x8015
44

5-
#FLASH_IMPL = spi_flash.c
6-
FLASH_IMPL = internal_flash.c
5+
#SPI_FLASH_FILESYSTEM = 1
6+
INTERNAL_FLASH_FILESYSTEM = 1
77

88
CHIP_VARIANT = SAMD51J19A
99
CHIP_FAMILY = samd51

0 commit comments

Comments
 (0)