diff --git a/tests/C/test_malloc/Makefile b/tests/C/malloc_test/Makefile similarity index 57% rename from tests/C/test_malloc/Makefile rename to tests/C/malloc_test/Makefile index 656ba6c..f761442 100644 --- a/tests/C/test_malloc/Makefile +++ b/tests/C/malloc_test/Makefile @@ -1,15 +1,15 @@ -TARGET = test_malloc +TARGET = malloc_test -TARGET_ARCH=riscv32 +TARGET_ARCH = riscv32 CC = riscv32-unknown-elf-gcc # compiling flags here -CFLAGS = -Wall -I. -O0 -static --specs=nosys.specs +CFLAGS = -Wall -I. -O0 -static -march=rv32imac -mabi=ilp32 --specs=nosys.specs -LINKER = riscv32-unknown-linux-gnu-gcc +LINKER = riscv32-unknown-elf-gcc # linking flags here -LDFLAGS = -I. --entry main -L/opt/riscv/riscv32-unknown-elf/lib/ -T ld_script.ld +LDFLAGS = -I. -static LIBS = $(EXTRA_LIBS) @@ -24,19 +24,19 @@ LIBDIR = -L. SOURCES := $(wildcard $(SRCDIR)/*.c) INCLUDES := $(wildcard $(INCDIR)/*.h) OBJECTS := $(SOURCES:$(SRCDIR)/%.c=$(OBJDIR)/%.o) + rm = rm -f $(BINDIR)/$(TARGET): $(OBJECTS) -# $(LINKER) $(OBJECTS) $(LDFLAGS) $(LIBS) $(LIBDIR) -o $@ - riscv32-unknown-elf-objdump -d $< > dump - objcopy -Oihex $< $(TARGET).hex -# @echo "Linking complete!" + $(LINKER) $(CFLAGS) $(LDFLAGS) $(LIBS) $(LIBDIR) $(OBJECTS) -o $@ + riscv32-unknown-elf-objdump -d $@ > dump + riscv32-unknown-elf-objcopy -Oihex $@ $(TARGET).hex + @echo "Linking complete!" $(OBJECTS): $(OBJDIR)/%.o : $(SRCDIR)/%.c @echo "Compiling "$<" ..." -# $(CC) $(CFLAGS) $(INCDIR) -c $< -o $@ - $(CC) $(CFLAGS) $(INCDIR) $< -o $@ + $(CC) $(CFLAGS) $(INCDIR) -c $< -o $@ @echo "Done!" .PHONY: clean @@ -46,5 +46,5 @@ clean: .PHONY: remove remove: clean - @$(rm) $(BINDIR)/$(TARGET) + @$(rm) $(BINDIR)/$(TARGET) $(OBJECTS) @echo "Executable removed!" diff --git a/tests/C/malloc_test/helper_functions.c b/tests/C/malloc_test/helper_functions.c new file mode 100644 index 0000000..18efcba --- /dev/null +++ b/tests/C/malloc_test/helper_functions.c @@ -0,0 +1,35 @@ +#include +#include + + +#define TRACE (*(unsigned char *)0x40000000) +int _read(int file, char* ptr, int len) { + return 0; +} + +int _close(int fd){ + return 0; +} + +int _fstat_r(int fd) { + return 0; +} + +int _lseek_r(struct _reent *ptr, FILE *fp, long offset, int whence){ + return 0; +} + +int _isatty_r(struct _reent *ptr, int fd) { + return 0; +} + +int _write(int file, const char *ptr, int len) { + int x; + + for (x = 0; x < len; x++) { + TRACE = *ptr++; + } + + return (len); +} + diff --git a/tests/C/malloc_test/malloc_test b/tests/C/malloc_test/malloc_test new file mode 100755 index 0000000..3e29984 Binary files /dev/null and b/tests/C/malloc_test/malloc_test differ diff --git a/tests/C/test_malloc/test_malloc.c b/tests/C/malloc_test/malloc_test.c similarity index 70% rename from tests/C/test_malloc/test_malloc.c rename to tests/C/malloc_test/malloc_test.c index 8344d6d..88f7b29 100644 --- a/tests/C/test_malloc/test_malloc.c +++ b/tests/C/malloc_test/malloc_test.c @@ -2,45 +2,9 @@ #include #include #include -#include -#include #define BUFFER_SIZE (512) -#define TRACE (*(unsigned char *)0x40000000) -extern int errno; - -int _write(int file, const char *ptr, int len) { - int x; - - for (x = 0; x < len; x++) { - TRACE = *ptr++; - } - - return (len); -} - -int _read (int file, char *ptr, int len) { - return 0; -} - -int _close (int file) { - errno = EBADF; - return -1; -} - -int _fstat (int file, struct stat *st) { - st->st_mode = S_IFCHR; - return 0; -} - -int _isatty (int file) { - return 1; -} - -int _lseek (int file, int offset, int whence) { - return 0; -} int main(void) { uint16_t *buffA, *buffB;