Skip to content

Commit 559434a

Browse files
committed
atmel-samd: Support floats.
1 parent 594ff41 commit 559434a

File tree

2 files changed

+25
-4
lines changed

2 files changed

+25
-4
lines changed

atmel-samd/Makefile

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,27 @@ INC += -Iboards/$(BOARD)/
7171
INC += -I$(BUILD)
7272

7373
ifeq ($(CROSS), 1)
74-
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
74+
CFLAGS_CORTEX_M0 = \
75+
-mthumb \
76+
-mabi=aapcs-linux \
77+
-mcpu=cortex-m0plus \
78+
-msoft-float \
79+
-mfloat-abi=soft \
80+
-fsingle-precision-constant \
81+
-Wdouble-promotion \
82+
-D__SAMD21G18A__ \
83+
-DUSB_DEVICE_PRODUCT_ID=0x024D \
84+
-DUSB_DEVICE_VENDOR_ID=0x4123 \
85+
-DBOARD=USER_BOARD \
86+
-ffunction-sections \
87+
-fdata-sections \
88+
-fshort-enums \
89+
-D ARM_MATH_CM0PLUS=true \
90+
-DSYSTICK_MODE \
91+
-DEXTINT_CALLBACK_MODE=true \
92+
-DUDD_ENABLE \
93+
-DUSART_CALLBACK_MODE=true \
94+
-DUSB_DEVICE_LPM_SUPPORT
7595
CFLAGS = $(INC) -Wall -Werror -ansi -std=gnu99 -nostdlib $(CFLAGS_CORTEX_M0) $(COPT)
7696
else
7797
CFLAGS = -m32 $(INC) -Wall -Werror -ansi -std=gnu99 $(COPT)
@@ -87,8 +107,9 @@ endif
87107
LIBS =
88108
ifeq ($(CROSS), 1)
89109
LIBGCC_FILE_NAME = $(shell $(CC) $(CFLAGS) -print-libgcc-file-name)
90-
LDFLAGS = -Lasf/thirdparty/CMSIS/Lib/GCC/ -L $(dir $(LIBGCC_FILE_NAME)) -nostdlib -T $(LD_FILE) -Map=$@.map --cref --gc-sections
91-
LIBS += -larm_cortexM0l_math -lgcc
110+
LIBM_FILE_NAME = $(shell $(CC) $(CFLAGS) -print-file-name=libm.a)
111+
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
112+
LIBS += -larm_cortexM0l_math -lm -lgcc -lc
92113
else
93114
LD = gcc
94115
LDFLAGS = -m32 -Wl,-Map=$@.map,--cref

atmel-samd/mpconfigport.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
#define MICROPY_MODULE_FROZEN_MPY (1)
5252
#define MICROPY_CPYTHON_COMPAT (0)
5353
#define MICROPY_LONGINT_IMPL (MICROPY_LONGINT_IMPL_NONE)
54-
#define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_NONE)
54+
#define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_FLOAT)
5555

5656
#define MICROPY_PY_MACHINE (1)
5757
#define MICROPY_MODULE_WEAK_LINKS (1)

0 commit comments

Comments
 (0)