diff --git a/nrf/Makefile b/nrf/Makefile index 83ed917c52..1b0a7c655b 100644 --- a/nrf/Makefile +++ b/nrf/Makefile @@ -90,7 +90,17 @@ CFLAGS += -Os -DNDEBUG LDFLAGS += -Os endif -LIBS += \ +LIBS = \ + +ifeq ($(MCU_VARIANT), nrf52) +LIBM_FILE_NAME = $(shell $(CC) $(CFLAGS) -print-file-name=libm.a) +LIBC_FILE_NAME = $(shell $(CC) $(CFLAGS) -print-file-name=libc.a) +LIBGCC_FILE_NAME = $(shell $(CC) $(CFLAGS) -print-libgcc-file-name) + +LIBS += -L $(dir $(LIBM_FILE_NAME)) -lm +LIBS += -L $(dir $(LIBC_FILE_NAME)) -lc +LIBS += -L $(dir $(LIBGCC_FILE_NAME)) -lgcc +endif SRC_LIB = $(addprefix lib/,\ libc/string0.c \ diff --git a/nrf/mpconfigport.h b/nrf/mpconfigport.h index 4c437f0232..e90c5a4ccd 100644 --- a/nrf/mpconfigport.h +++ b/nrf/mpconfigport.h @@ -45,7 +45,12 @@ #define MICROPY_REPL_AUTO_INDENT (1) #define MICROPY_ENABLE_SOURCE_LINE (0) #define MICROPY_LONGINT_IMPL (MICROPY_LONGINT_IMPL_MPZ) +#if NRF51 #define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_NONE) +#else +#define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_FLOAT) +#endif + #define MICROPY_OPT_COMPUTED_GOTO (0) #define MICROPY_OPT_CACHE_MAP_LOOKUP_IN_BYTECODE (0) #define MICROPY_OPT_MPZ_BITWISE (0)