diff --git a/apps/Makefile.k64f b/apps/Makefile.k64f index 823e22f..44c4ceb 100755 --- a/apps/Makefile.k64f +++ b/apps/Makefile.k64f @@ -102,6 +102,8 @@ DHRY_DIR = $(CURDIR)/../../common/Dhrystone COREMARK_DIR = $(CURDIR)/../../common/CoreMark UMM_DIR = $(CURDIR)/../../common/umm INCLUDE_DIR = $(CURDIR)/../../include +LIB_DIR = $(CURDIR)/../../libraries/lib +LIB_INCLUDE_DIR= $(CURDIR)/../../libraries/include APP_INCLUDE_DIR= $(CURDIR)/../include # Working directory to build object files. @@ -135,7 +137,7 @@ OBJS := $(foreach src,$(SOURCES), $(BUILD_DIR)/$(src)) # CPPFLAGS = compiler options for C and C++ #CPPFLAGS = -Wall -g -Os -mthumb -ffunction-sections -fdata-sections -nostdlib -MMD $(OPTIONS) -DTEENSYDUINO=144 -DF_CPU=$(TEENSY_CORE_SPEED) CPPFLAGS += -Wall -g -mthumb -nostdlib -MMD $(OPTIONS) -DTEENSYDUINO=144 -DF_CPU=$(TEENSY_CORE_SPEED) -CPPFLAGS += -I. -I$(COMMON_DIR) -I$(FATFS_DIR) -I$(OSDIR) -I$(INCLUDE_DIR) -I$(APP_INCLUDE_DIR) -I$(COREPATH) -I$(COREMARK_DIR) -I$(DHRY_DIR) -I$(UMM_DIR) +CPPFLAGS += -I. -I$(COMMON_DIR) -I$(FATFS_DIR) -I$(OSDIR) -I$(INCLUDE_DIR) -I$(APP_INCLUDE_DIR) -I$(COREPATH) -I$(COREMARK_DIR) -I$(DHRY_DIR) -I$(UMM_DIR) # -I$(LIB_INCLUDE_DIR) CPPFLAGS += -D__K64F__ -D__APP__ -DDEBUG -D__SD_CARD__ -DOS_BASEADDR=$(OS_BASEADDR) -DOS_APPADDR=$(OS_APPADDR) CPPFLAGS += -mlong-calls # WARNING! This is needed as a bug in the compiler creates veneer wrappers which switch to ARM mode and not Thumb. ifeq (-nostdlib,$(findstring -nostdlib,$(LDFLAGS))) @@ -177,11 +179,11 @@ CFLAGS += -Os #LDFLAGS = -Os -Wl,--gc-sections -mthumb -ffreestanding -Wl,--defsym=OS_BASEADDR=$(OS_BASEADDR) -Wl,--defsym=OS_APPADDR=$(OS_APPADDR) #LDFLAGS = -nostdlib -nostartfiles -ffreestanding -Wl,--gc-sections -mthumb -Wl,--relax -Os -Wl,--defsym=OS_BASEADDR=$(OS_BASEADDR) -Wl,--defsym=OS_APPADDR=$(OS_APPADDR) #LDFLAGS = -nostdlib -nostartfiles -ffreestanding -mthumb -Wl,--relax -Os -Wl,--defsym=OS_BASEADDR=$(OS_BASEADDR) -Wl,--defsym=OS_APPADDR=$(OS_APPADDR) -LDFLAGS += -nostartfiles -ffreestanding -mthumb -Wl,--relax -Os -Wl,--defsym=OS_BASEADDR=$(OS_BASEADDR) -Wl,--defsym=OS_APPADDR=$(OS_APPADDR) +LDFLAGS += -nostartfiles -ffreestanding -mthumb -Wl,--relax -Os -Wl,--defsym=OS_BASEADDR=$(OS_BASEADDR) -Wl,--defsym=OS_APPADDR=$(OS_APPADDR) -L$(LIB_DIR) #LDFLAGS = -ffreestanding -Wl,--gc-sections -mthumb -Wl,--relax -Os -Wl,--defsym=OS_BASEADDR=$(OS_BASEADDR) -Wl,--defsym=OS_APPADDR=$(OS_APPADDR) # additional libraries to link -LIBS = -lm +LIBS += -lm # compiler options specific to teensy version ifeq ($(TEENSY), 30) diff --git a/apps/ed/Makefile b/apps/ed/Makefile index fea8899..318b5b0 100755 --- a/apps/ed/Makefile +++ b/apps/ed/Makefile @@ -48,11 +48,11 @@ ifeq ($(__K64F__),1) override STACKSIZE = 0x00000000 # Modules making up Kilo. - APP_C_SRC = $(APP_COMMON_DIR)/sysutils.c $(APP_COMMON_DIR)/ctypelocal.c + APP_C_SRC = #$(APP_COMMON_DIR)/sysutils.c $(APP_COMMON_DIR)/ctypelocal.c CFLAGS = CPPFLAGS = -D__HEAPADDR__=$(HEAPADDR) -D__HEAPSIZE__=$(HEAPSIZE) LDFLAGS = -nostdlib - LIBS = + LIBS = -lumansi-k64f -lumstdio-k64f else # Modules making up Kilo. APP_C_SRC = #$(APP_COMMON_DIR)/sysutils.c $(APP_COMMON_DIR)/ctypelocal.c @@ -62,7 +62,6 @@ else LIBS = -lumansi-zpu -limath-zpu endif - # Filter out the standard HEAP address and size, replacing with the ones required for this application. # Useful for sub-makes FILTER1 = $(filter-out $(filter HEAPADDR=%,$(MAKEFLAGS)), $(MAKEFLAGS)) diff --git a/apps/ed/ed.c b/apps/ed/ed.c index 16656b9..4216c10 100644 --- a/apps/ed/ed.c +++ b/apps/ed/ed.c @@ -54,21 +54,16 @@ #include #include #include "k64f_soc.h" - #define uint32_t __uint32_t - #define uint16_t __uint16_t - #define uint8_t __uint8_t - #define int32_t __int32_t - #define int16_t __int16_t - #define int8_t __int8_t + #include "../../libraries/include/ansi.h" + #include "../../libraries/include/ctype.h" #elif defined(__ZPU__) #include #include "zpu_soc.h" #include + #include #else #error "Target CPU not defined, use __ZPU__ or __K64F__" #endif -//#include -#include #include "interrupts.h" #include "ff.h" /* Declarations of FatFs API */ #include "diskio.h" diff --git a/apps/kilo/Makefile b/apps/kilo/Makefile index faab974..9800997 100755 --- a/apps/kilo/Makefile +++ b/apps/kilo/Makefile @@ -46,13 +46,13 @@ ifeq ($(__K64F__),1) override HEAPSIZE = 0x00033000 override STACKADDR = 0x20028000 override STACKSIZE = 0x00000000 - + # Modules making up Kilo. - APP_C_SRC = $(APP_COMMON_DIR)/sysutils.c $(APP_COMMON_DIR)/ctypelocal.c + APP_C_SRC = #$(APP_COMMON_DIR)/sysutils.c $(APP_COMMON_DIR)/ctypelocal.c CFLAGS = CPPFLAGS = -D__HEAPADDR__=$(HEAPADDR) -D__HEAPSIZE__=$(HEAPSIZE) LDFLAGS = -nostdlib - LIBS = + LIBS = -lumansi-k64f -lumstdio-k64f else # Modules making up Kilo. APP_C_SRC = #$(APP_COMMON_DIR)/sysutils.c $(APP_COMMON_DIR)/ctypelocal.c diff --git a/apps/kilo/kilo.c b/apps/kilo/kilo.c index 4831bcf..4b9ad2c 100644 --- a/apps/kilo/kilo.c +++ b/apps/kilo/kilo.c @@ -51,21 +51,16 @@ #include #include #include "k64f_soc.h" - #define uint32_t __uint32_t - #define uint16_t __uint16_t - #define uint8_t __uint8_t - #define int32_t __int32_t - #define int16_t __int16_t - #define int8_t __int8_t + #include "../../libraries/include/ansi.h" + #include "../../libraries/include/ctype.h" #elif defined(__ZPU__) #include #include "zpu_soc.h" #include + #include #else #error "Target CPU not defined, use __ZPU__ or __K64F__" #endif -//#include -#include #include "interrupts.h" #include "ff.h" /* Declarations of FatFs API */ #include "diskio.h" diff --git a/apps/mbasic/Makefile b/apps/mbasic/Makefile index 13a4f92..1daf126 100755 --- a/apps/mbasic/Makefile +++ b/apps/mbasic/Makefile @@ -47,14 +47,23 @@ override HEAPADDR = 0x2000C000 override HEAPSIZE = 0x0001BC00 override STACKADDR = 0x20027C00 override STACKSIZE = 0x00000400 -endif # Modules making up Mbasic. -APP_C_SRC = basic.c ed.c $(APP_COMMON_DIR)/sbrk.c $(APP_COMMON_DIR)/sysutils.c $(COMMON_DIR)/readline.c +APP_C_SRC = basic.c ed.c $(APP_COMMON_DIR)/sbrk.c $(COMMON_DIR)/readline.c $(APP_COMMON_DIR)/sysutils.c +UMM_C_SRC = +CFLAGS = -Os +CPPFLAGS = -D__HEAPADDR__=$(HEAPADDR) -D__HEAPSIZE__=$(HEAPSIZE) +LDFLAGS = +LIBS = +else +# Modules making up Mbasic. +APP_C_SRC = basic.c ed.c $(APP_COMMON_DIR)/sbrk.c $(COMMON_DIR)/readline.c $(APP_COMMON_DIR)/sysutils.c UMM_C_SRC = CFLAGS = -Os CPPFLAGS = -D__HEAPADDR__=$(HEAPADDR) -D__HEAPSIZE__=$(HEAPSIZE) LDFLAGS = +LIBS = +endif # Filter out the standard HEAP address and size, replacing with the ones required for this application. # Useful for sub-makes diff --git a/apps/tbasic/Makefile b/apps/tbasic/Makefile index 9cda5c1..cc93d8f 100755 --- a/apps/tbasic/Makefile +++ b/apps/tbasic/Makefile @@ -48,11 +48,11 @@ ifeq ($(__K64F__),1) override STACKSIZE = 0x00000000 # Modules making up BASIC. - APP_C_SRC = basic_main.c basic_editor.c basic_exectoks.c basic_expr.c basic_tokens.c basic_utils.c $(APP_COMMON_DIR)/sysutils.c + APP_C_SRC = basic_main.c basic_editor.c basic_exectoks.c basic_expr.c basic_tokens.c basic_utils.c CFLAGS = -Wno-write-strings -Wno-char-subscripts CPPFLAGS = -D__HEAPADDR__=$(HEAPADDR) -D__HEAPSIZE__=$(HEAPSIZE) LDFLAGS = -nostdlib - LIBS = + LIBS = -lumansi-k64f -lumstdio-k64f else override HEAPADDR = 0x0000E200 override HEAPSIZE = 0x00000D00 @@ -60,7 +60,7 @@ else override STACKSIZE = 0x00000000 # Modules making up BASIC. - APP_C_SRC = basic_main.c basic_editor.c basic_exectoks.c basic_expr.c basic_tokens.c basic_utils.c #$(APP_COMMON_DIR)/sysutils.c + APP_C_SRC = basic_main.c basic_editor.c basic_exectoks.c basic_expr.c basic_tokens.c basic_utils.c CFLAGS = -Wno-write-strings -Wno-char-subscripts CPPFLAGS = -D__HEAPADDR__=$(HEAPADDR) -D__HEAPSIZE__=$(HEAPSIZE) LDFLAGS = -nostdlib diff --git a/apps/tbasic/tbasic.c b/apps/tbasic/tbasic.c index fb8e7d8..c586c93 100755 --- a/apps/tbasic/tbasic.c +++ b/apps/tbasic/tbasic.c @@ -45,12 +45,6 @@ #include #include #include "k64f_soc.h" - #define uint32_t __uint32_t - #define uint16_t __uint16_t - #define uint8_t __uint8_t - #define int32_t __int32_t - #define int16_t __int16_t - #define int8_t __int8_t #elif defined(__ZPU__) #include #include "zpu_soc.h" diff --git a/common/umm/umm_malloc.c b/common/umm/umm_malloc.c index ee01b1b..efdd270 100644 --- a/common/umm/umm_malloc.c +++ b/common/umm/umm_malloc.c @@ -43,12 +43,12 @@ #include #include #include - #define uint32_t __uint32_t - #define uint16_t __uint16_t - #define uint8_t __uint8_t - #define int32_t __int32_t - #define int16_t __int16_t - #define int8_t __int8_t +// #define uint32_t __uint32_t +// #define uint16_t __uint16_t +// #define uint8_t __uint8_t +// #define int32_t __int32_t +// #define int16_t __int16_t +// #define int8_t __int8_t #elif defined(__ZPU__) #include #include diff --git a/libraries/Makefile b/libraries/Makefile index 916bbfe..c29a975 100755 --- a/libraries/Makefile +++ b/libraries/Makefile @@ -105,6 +105,7 @@ IMATH_OBJS = $(foreach src,$(IMATH_SRC), $(BUILD_DIR)/$(src)) CFLAGS = -I. -I$(UMLIBC_DIR)/include -I$(COMMON_DIR) -I$(INCLUDE_DIR) -I$(TEENSY35_DIR) ifeq ($(__ZPU__),) CFLAGS += -D__K64F__ + CFLAGS += -mlong-calls -mthumb -MMD -g -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 else CFLAGS += -D__ZPU__ endif diff --git a/libraries/lib/libimath2-k64f.a b/libraries/lib/libimath2-k64f.a index 7b3d03e..dc6b55a 100644 Binary files a/libraries/lib/libimath2-k64f.a and b/libraries/lib/libimath2-k64f.a differ diff --git a/libraries/lib/libumansi-k64f.a b/libraries/lib/libumansi-k64f.a index d74521f..809524f 100644 Binary files a/libraries/lib/libumansi-k64f.a and b/libraries/lib/libumansi-k64f.a differ diff --git a/libraries/lib/libummath-k64f.a b/libraries/lib/libummath-k64f.a index f7705b6..6265b14 100644 Binary files a/libraries/lib/libummath-k64f.a and b/libraries/lib/libummath-k64f.a differ diff --git a/libraries/lib/libummathf-k64f.a b/libraries/lib/libummathf-k64f.a index 0eee569..fee0d1a 100644 Binary files a/libraries/lib/libummathf-k64f.a and b/libraries/lib/libummathf-k64f.a differ diff --git a/libraries/lib/libumstdio-k64f.a b/libraries/lib/libumstdio-k64f.a index bbee0b7..888dfbd 100644 Binary files a/libraries/lib/libumstdio-k64f.a and b/libraries/lib/libumstdio-k64f.a differ