aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Shawcroft <scott@chickadee.tech>2016-08-31 13:37:43 -0700
committerScott Shawcroft <scott@chickadee.tech>2016-08-31 13:37:43 -0700
commit559434afcae38ce02f476b53f022f8a95b04784f (patch)
treea7aeb0f57d7fe6bd1da24bc676cebe357432a417
parent594ff413f41df727c7137a3b4aa5f659e23b9a72 (diff)
atmel-samd: Support floats.v1.8.3-61-g559434a
-rw-r--r--atmel-samd/Makefile27
-rw-r--r--atmel-samd/mpconfigport.h2
2 files changed, 25 insertions, 4 deletions
diff --git a/atmel-samd/Makefile b/atmel-samd/Makefile
index 9e02d7f73..f57f837cf 100644
--- a/atmel-samd/Makefile
+++ b/atmel-samd/Makefile
@@ -71,7 +71,27 @@ INC += -Iboards/$(BOARD)/
INC += -I$(BUILD)
ifeq ($(CROSS), 1)
-CFLAGS_CORTEX_M0 = -mthumb -mabi=aapcs-linux -mcpu=cortex-m0plus -fsingle-precision-constant -Wdouble-promotion -D__SAMD21G18A__ -DUSB_DEVICE_PRODUCT_ID=0x024D -DUSB_DEVICE_VENDOR_ID=0x4123 -DBOARD=USER_BOARD -ffunction-sections -fdata-sections -fshort-enums -D ARM_MATH_CM0PLUS=true -DSYSTICK_MODE -DEXTINT_CALLBACK_MODE=true -DUDD_ENABLE -DUSART_CALLBACK_MODE=true -DUSB_DEVICE_LPM_SUPPORT
+CFLAGS_CORTEX_M0 = \
+ -mthumb \
+ -mabi=aapcs-linux \
+ -mcpu=cortex-m0plus \
+ -msoft-float \
+ -mfloat-abi=soft \
+ -fsingle-precision-constant \
+ -Wdouble-promotion \
+ -D__SAMD21G18A__ \
+ -DUSB_DEVICE_PRODUCT_ID=0x024D \
+ -DUSB_DEVICE_VENDOR_ID=0x4123 \
+ -DBOARD=USER_BOARD \
+ -ffunction-sections \
+ -fdata-sections \
+ -fshort-enums \
+ -D ARM_MATH_CM0PLUS=true \
+ -DSYSTICK_MODE \
+ -DEXTINT_CALLBACK_MODE=true \
+ -DUDD_ENABLE \
+ -DUSART_CALLBACK_MODE=true \
+ -DUSB_DEVICE_LPM_SUPPORT
CFLAGS = $(INC) -Wall -Werror -ansi -std=gnu99 -nostdlib $(CFLAGS_CORTEX_M0) $(COPT)
else
CFLAGS = -m32 $(INC) -Wall -Werror -ansi -std=gnu99 $(COPT)
@@ -87,8 +107,9 @@ endif
LIBS =
ifeq ($(CROSS), 1)
LIBGCC_FILE_NAME = $(shell $(CC) $(CFLAGS) -print-libgcc-file-name)
-LDFLAGS = -Lasf/thirdparty/CMSIS/Lib/GCC/ -L $(dir $(LIBGCC_FILE_NAME)) -nostdlib -T $(LD_FILE) -Map=$@.map --cref --gc-sections
-LIBS += -larm_cortexM0l_math -lgcc
+LIBM_FILE_NAME = $(shell $(CC) $(CFLAGS) -print-file-name=libm.a)
+LDFLAGS = -Lasf/thirdparty/CMSIS/Lib/GCC/ -L $(dir $(LIBGCC_FILE_NAME)) -L $(dir $(LIBM_FILE_NAME)) -nostdlib -T $(LD_FILE) -Map=$@.map --cref --gc-sections
+LIBS += -larm_cortexM0l_math -lm -lgcc -lc
else
LD = gcc
LDFLAGS = -m32 -Wl,-Map=$@.map,--cref
diff --git a/atmel-samd/mpconfigport.h b/atmel-samd/mpconfigport.h
index 4142767e2..c4a0199be 100644
--- a/atmel-samd/mpconfigport.h
+++ b/atmel-samd/mpconfigport.h
@@ -51,7 +51,7 @@
#define MICROPY_MODULE_FROZEN_MPY (1)
#define MICROPY_CPYTHON_COMPAT (0)
#define MICROPY_LONGINT_IMPL (MICROPY_LONGINT_IMPL_NONE)
-#define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_NONE)
+#define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_FLOAT)
#define MICROPY_PY_MACHINE (1)
#define MICROPY_MODULE_WEAK_LINKS (1)