Compare commits
3 Commits
Author | SHA1 | Date |
---|---|---|
Fabiank | 61032b66c9 | |
Fabiank | 0bc3a93db9 | |
Fabiank | 75c247c0a6 |
81
Make.rules
81
Make.rules
|
@ -1,81 +0,0 @@
|
||||||
|
|
||||||
ARCH=riscv64-unknown-elf
|
|
||||||
GNU_DIR=$(HOME)/riscv/riscv/
|
|
||||||
GNU_BIN=$(GNU_DIR)/bin
|
|
||||||
|
|
||||||
|
|
||||||
CC=$(GNU_BIN)/$(ARCH)-gcc
|
|
||||||
CXX=$(GNU_BIN)/$(ARCH)-g++
|
|
||||||
AS=$(GNU_BIN)/$(ARCH)-as
|
|
||||||
LD=$(GNU_BIN)/$(ARCH)-ld
|
|
||||||
OBJCOPY=$(GNU_BIN)/$(ARCH)-objcopy
|
|
||||||
OBJDUMP=$(GNU_BIN)/$(ARCH)-objdump
|
|
||||||
SIZE=$(GNU_BIN)/$(ARCH)-size
|
|
||||||
AR=$(GNU_BIN)/$(ARCH)-ar
|
|
||||||
RANLIB=$(GNU_BIN)/$(ARCH)-ranlib
|
|
||||||
|
|
||||||
|
|
||||||
CFLAGS+=-ffreestanding
|
|
||||||
CFLAGS+=-fno-pic
|
|
||||||
CFLAGS+=-march=rv32i -mabi=ilp32
|
|
||||||
CFLAGS+= -g
|
|
||||||
|
|
||||||
|
|
||||||
LDFLAGS+=-nostdlib
|
|
||||||
LDFLAGS+=-Wl,-Ttext=0x00000000
|
|
||||||
|
|
||||||
# see: https://github.com/riscv/riscv-gcc/issues/120
|
|
||||||
#LDFLAGS+=-Wl,--no-relax
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ASFLAGS+=$(CFLAGS)
|
|
||||||
CXXFLAGS+=$(CFLAGS)
|
|
||||||
|
|
||||||
CLEAN_DIRS=$(SUBDIRS:%=clean-%)
|
|
||||||
ALL_DIRS=$(SUBDIRS:%=all-%)
|
|
||||||
|
|
||||||
OBJDUMPFLAGS+=-Mnumeric,no-aliases
|
|
||||||
|
|
||||||
.PHONY: all clean world $(CLEAN_DIRS) $(ALL_DIRS)
|
|
||||||
|
|
||||||
|
|
||||||
%.bin : %
|
|
||||||
$(OBJCOPY) $< -O binary $@
|
|
||||||
|
|
||||||
%.lst : %
|
|
||||||
$(OBJDUMP) $(OBJDUMPFLAGS) -dr --disassemble-all $< > $<.lst
|
|
||||||
|
|
||||||
% : %.o
|
|
||||||
$(LINK.cc) $(LDFLAGS) -o $@ $^ $(LDLIBS)
|
|
||||||
$(SIZE) -x -A $@
|
|
||||||
|
|
||||||
%.s: %.c
|
|
||||||
$(COMPILE.c) -S -o $@ $<
|
|
||||||
|
|
||||||
%.s: %.cc
|
|
||||||
$(COMPILE.cc) -S -o $@ $<
|
|
||||||
|
|
||||||
%.o: %.c
|
|
||||||
$(COMPILE.c) -o $@ $<
|
|
||||||
|
|
||||||
%.o: %.cc
|
|
||||||
$(COMPILE.cc) -o $@ $<
|
|
||||||
|
|
||||||
%.srec: %
|
|
||||||
$(OBJCOPY) $< -O srec $@
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
all:: $(ALL_DIRS)
|
|
||||||
|
|
||||||
clean:: $(CLEAN_DIRS)
|
|
||||||
|
|
||||||
$(ALL_DIRS)::
|
|
||||||
$(MAKE) -C $(@:all-%=%) all
|
|
||||||
|
|
||||||
$(CLEAN_DIRS)::
|
|
||||||
$(MAKE) -C $(@:clean-%=%) clean
|
|
||||||
|
|
||||||
world:: clean all
|
|
27
Makefile
27
Makefile
|
@ -1,27 +0,0 @@
|
||||||
TOP=./
|
|
||||||
include $(TOP)/Make.rules
|
|
||||||
|
|
||||||
LDLIBS=
|
|
||||||
#CFLAGS+=-O0 -g
|
|
||||||
# CFLAGS+=-Og -ggdb3
|
|
||||||
CFLAGS+=-O0 -ggdb3
|
|
||||||
|
|
||||||
LDFLAGS+=-Wl,--no-relax
|
|
||||||
LDFLAGS+=-Wl,-Ttext=0x80000000,-Tdata=0x80010000
|
|
||||||
# LDFLAGS+=-T murax_128k_ram.ld
|
|
||||||
|
|
||||||
PROGS=prog prog.bin prog.lst
|
|
||||||
|
|
||||||
all:: $(PROGS)
|
|
||||||
|
|
||||||
prog: _crt0.o _rvmain.o myfunc.o
|
|
||||||
$(LINK.cc) -o $@ $^ $(LDLIBS)
|
|
||||||
$(SIZE) -A -x $@
|
|
||||||
|
|
||||||
clean::
|
|
||||||
rm -f $(PROGS) *.o *.s *.lst *.bin *.srec *.dis
|
|
||||||
|
|
||||||
.PHONY: run
|
|
||||||
run: prog.bin
|
|
||||||
../../../src/rvddt -l0x3000 -f prog.bin
|
|
||||||
|
|
16
_rvmain.cpp
16
_rvmain.cpp
|
@ -1,16 +0,0 @@
|
||||||
#include <stdio.h>
|
|
||||||
size_t strlen(const char *str) {
|
|
||||||
size_t len = 0;
|
|
||||||
while (*str++) {
|
|
||||||
len++; }
|
|
||||||
return len;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
int main () {
|
|
||||||
const char *string = "Piotrek";
|
|
||||||
size_t length = strlen(string);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue