URL
https://opencores.org/ocsvn/neorv32/neorv32/trunk
Subversion Repositories neorv32
Compare Revisions
- This comparison shows the changes necessary to convert path
/neorv32/trunk/sw/example
- from Rev 17 to Rev 19
- ↔ Reverse comparison
Rev 17 → Rev 19
/blink_led/makefile
36,29 → 36,25
|
|
# ***************************************************************************** |
# USER CONFIGURATION |
# USER CONFIGURATION (use default if not set by user) |
# ***************************************************************************** |
# Compiler effort |
EFFORT = -Os |
EFFORT ?= -Os |
|
# User's application sources (add additional files here) |
APP_SRC = $(wildcard *.c) |
APP_SRC ?= $(wildcard *.c) |
|
# User's application include folders (don't forget the '-I' before each entry) |
APP_INC = -I . |
APP_INC ?= -I . |
|
# Compiler toolchain (use default if not set by user) |
# Compiler toolchain |
RISCV_TOOLCHAIN ?= riscv32-unknown-elf |
|
# CPU architecture and ABI |
MARCH = -march=rv32i |
MABI = -mabi=ilp32 |
MARCH ?= -march=rv32i |
MABI ?= -mabi=ilp32 |
|
# Path to runtime c library (use default if not set by user) |
LIBC_PATH ?= $(dir $(shell which $(CC)))../$(RISCV_TOOLCHAIN)/lib/libc.a |
LIBGCC_PATH ?= $(dir $(shell which $(CC)))../lib/gcc/$(RISCV_TOOLCHAIN)/*/libgcc.a |
|
# Relative or absolute path to the NEORV32 home folder (use default if not set by user) |
# Relative or absolute path to the NEORV32 home folder |
NEORV32_HOME ?= ../../.. |
# ***************************************************************************** |
|
113,7 → 109,6
# ----------------------------------------------------------------------------- |
# compiler tools |
CC = $(RISCV_TOOLCHAIN)-gcc |
LD = $(RISCV_TOOLCHAIN)-ld |
OBJDUMP = $(RISCV_TOOLCHAIN)-objdump |
OBJCOPY = $(RISCV_TOOLCHAIN)-objcopy |
SIZE = $(RISCV_TOOLCHAIN)-size |
121,23 → 116,14
# NEORV32 executable image generator |
IMAGE_GEN = $(NEORV32_EXG_PATH)/image_gen |
|
# Compiler flags |
CC_OPTS = $(MARCH) $(MABI) $(EFFORT) -Wall -ffunction-sections -fdata-sections -lm |
# Compiler & linker flags |
CC_OPTS = $(MARCH) $(MABI) $(EFFORT) -Wall -ffunction-sections -fdata-sections -nostartfiles |
CC_OPTS += -Wl,--gc-sections -lm -lc -lgcc -lc |
|
# Linker flags |
LD_OPTS = $(EFFORT) --gc-sections |
|
# User flags for additional config |
# User flags for additional configuration |
USER_FLAGS = |
CC_OPTS += $(USER_FLAGS) |
|
# Use embedded RISC-V CPU extension? |
ifeq (,$(findstring rv32e,$(MARCH))) |
CC_OPTS += |
else |
CC_OPTS += -D__RISCV_EMBEDDED_CPU__ |
endif |
|
# ----------------------------------------------------------------------------- |
# Host native compiler |
# ----------------------------------------------------------------------------- |
166,7 → 152,7
|
# Link object files and show memory utilization |
main.elf: $(OBJ) |
@$(LD) $(LD_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/neorv32.ld $(OBJ) $(LIBC_PATH) $(LIBGCC_PATH) -o $@ |
@$(CC) $(CC_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/neorv32.ld $(OBJ) -o $@ |
@echo "Memory utilization:" |
@$(SIZE) main.elf |
|
212,7 → 198,7
# Compile and install bootloader |
bootloader: bootloader_crt0.elf $(OBJ) $(IMAGE_GEN) |
@set -e |
@$(LD) $(LD_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/bootloader_neorv32.ld $(OBJ) $(LIBC_PATH) $(LIBGCC_PATH) -o bootloader.elf |
@$(CC) $(CC_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/bootloader_neorv32.ld $(OBJ) -o bootloader.elf |
@echo "Memory utilization:" |
@$(SIZE) bootloader.elf |
@$(OBJDUMP) -D -S -z bootloader.elf > bootloader.s |
237,8 → 223,6
@echo "NEORV32_HOME: $(NEORV32_HOME)" |
@echo "---------------- Check: $(CC) ----------------" |
@$(CC) -v |
@echo "---------------- Check: $(LD) ----------------" |
@$(LD) -V |
@echo "---------------- Check: $(OBJDUMP) ----------------" |
@$(OBJDUMP) -V |
@echo "---------------- Check: $(OBJCOPY) ----------------" |
247,7 → 231,7
@$(SIZE) -V |
@echo "---------------- Check: NEORV32 image_gen ----------------" |
@$(IMAGE_GEN) -help |
@echo "---------------- Check: native gcc ----------------" |
@echo "---------------- Check: Native GCC ----------------" |
@$(CC_X86) -v |
@echo |
@echo "Toolchain check OK" |
276,17 → 260,17
@echo "---------------- Info: RISC-V Toolchain ----------------" |
@echo "Toolchain: $(RISCV_TOLLCHAIN)" |
@echo "CC: $(CC)" |
@echo "LD: $(LD)" |
@echo "OBJDUMP: $(OBJDUMP)" |
@echo "OBJCOPY: $(OBJCOPY)" |
@echo "SIZE: $(SIZE)" |
@echo "---------------- Info: C Lib ----------------" |
@echo "CLIB: $(LIBC_PATH)" |
@echo "GCCLIB: $(LIBGCC_PATH)" |
@echo "---------------- Info: Libraries ----------------" |
@echo "LIBGCC:" |
@$(CC) -print-libgcc-file-name |
@echo "SEARCH-DIRS:" |
@$(CC) -print-search-dirs |
@echo "---------------- Info: Flags ----------------" |
@echo "CC_OPTS: $(CC_OPTS)" |
@echo "LD_OPTS: $(LD_OPTS)" |
@echo "---------------- Info: Host Native GCC ----------------" |
@echo "---------------- Info: Host Native GCC Flags ----------------" |
@echo "CC_X86: $(CC_X86)" |
|
|
/coremark/makefile
36,29 → 36,25
|
|
# ***************************************************************************** |
# USER CONFIGURATION |
# USER CONFIGURATION (use default if not set by user) |
# ***************************************************************************** |
# Compiler effort |
EFFORT = -Os |
EFFORT ?= -Os |
|
# User's application sources (add additional files here) |
APP_SRC = $(wildcard *.c) |
APP_SRC ?= $(wildcard *.c) |
|
# User's application include folders (don't forget the '-I' before each entry) |
APP_INC = -I . |
APP_INC ?= -I . |
|
# Compiler toolchain (use default if not set by user) |
# Compiler toolchain |
RISCV_TOOLCHAIN ?= riscv32-unknown-elf |
|
# CPU architecture and ABI |
MARCH = -march=rv32i |
MABI = -mabi=ilp32 |
MARCH ?= -march=rv32i |
MABI ?= -mabi=ilp32 |
|
# Path to runtime c library (use default if not set by user) |
LIBC_PATH ?= $(dir $(shell which $(CC)))../$(RISCV_TOOLCHAIN)/lib/libc.a |
LIBGCC_PATH ?= $(dir $(shell which $(CC)))../lib/gcc/$(RISCV_TOOLCHAIN)/*/libgcc.a |
|
# Relative or absolute path to the NEORV32 home folder (use default if not set by user) |
# Relative or absolute path to the NEORV32 home folder |
NEORV32_HOME ?= ../../.. |
# ***************************************************************************** |
|
113,7 → 109,6
# ----------------------------------------------------------------------------- |
# compiler tools |
CC = $(RISCV_TOOLCHAIN)-gcc |
LD = $(RISCV_TOOLCHAIN)-ld |
OBJDUMP = $(RISCV_TOOLCHAIN)-objdump |
OBJCOPY = $(RISCV_TOOLCHAIN)-objcopy |
SIZE = $(RISCV_TOOLCHAIN)-size |
121,23 → 116,14
# NEORV32 executable image generator |
IMAGE_GEN = $(NEORV32_EXG_PATH)/image_gen |
|
# Compiler flags |
CC_OPTS = $(MARCH) $(MABI) $(EFFORT) -Wall -ffunction-sections -fdata-sections -lm |
# Compiler & linker flags |
CC_OPTS = $(MARCH) $(MABI) $(EFFORT) -Wall -ffunction-sections -fdata-sections -nostartfiles |
CC_OPTS += -Wl,--gc-sections -lm -lc -lgcc -lc |
|
# Linker flags |
LD_OPTS = $(EFFORT) --gc-sections |
|
# User flags for additional config |
# User flags for additional configuration |
USER_FLAGS = |
CC_OPTS += $(USER_FLAGS) |
|
# Use embedded RISC-V CPU extension? |
ifeq (,$(findstring rv32e,$(MARCH))) |
CC_OPTS += |
else |
CC_OPTS += -D__RISCV_EMBEDDED_CPU__ |
endif |
|
# ----------------------------------------------------------------------------- |
# Host native compiler |
# ----------------------------------------------------------------------------- |
166,7 → 152,7
|
# Link object files and show memory utilization |
main.elf: $(OBJ) |
@$(LD) $(LD_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/neorv32.ld $(OBJ) $(LIBC_PATH) $(LIBGCC_PATH) -o $@ |
@$(CC) $(CC_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/neorv32.ld $(OBJ) -o $@ |
@echo "Memory utilization:" |
@$(SIZE) main.elf |
|
212,7 → 198,7
# Compile and install bootloader |
bootloader: bootloader_crt0.elf $(OBJ) $(IMAGE_GEN) |
@set -e |
@$(LD) $(LD_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/bootloader_neorv32.ld $(OBJ) $(LIBC_PATH) $(LIBGCC_PATH) -o bootloader.elf |
@$(CC) $(CC_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/bootloader_neorv32.ld $(OBJ) -o bootloader.elf |
@echo "Memory utilization:" |
@$(SIZE) bootloader.elf |
@$(OBJDUMP) -D -S -z bootloader.elf > bootloader.s |
237,8 → 223,6
@echo "NEORV32_HOME: $(NEORV32_HOME)" |
@echo "---------------- Check: $(CC) ----------------" |
@$(CC) -v |
@echo "---------------- Check: $(LD) ----------------" |
@$(LD) -V |
@echo "---------------- Check: $(OBJDUMP) ----------------" |
@$(OBJDUMP) -V |
@echo "---------------- Check: $(OBJCOPY) ----------------" |
247,7 → 231,7
@$(SIZE) -V |
@echo "---------------- Check: NEORV32 image_gen ----------------" |
@$(IMAGE_GEN) -help |
@echo "---------------- Check: native gcc ----------------" |
@echo "---------------- Check: Native GCC ----------------" |
@$(CC_X86) -v |
@echo |
@echo "Toolchain check OK" |
276,17 → 260,17
@echo "---------------- Info: RISC-V Toolchain ----------------" |
@echo "Toolchain: $(RISCV_TOLLCHAIN)" |
@echo "CC: $(CC)" |
@echo "LD: $(LD)" |
@echo "OBJDUMP: $(OBJDUMP)" |
@echo "OBJCOPY: $(OBJCOPY)" |
@echo "SIZE: $(SIZE)" |
@echo "---------------- Info: C Lib ----------------" |
@echo "CLIB: $(LIBC_PATH)" |
@echo "GCCLIB: $(LIBGCC_PATH)" |
@echo "---------------- Info: Libraries ----------------" |
@echo "LIBGCC:" |
@$(CC) -print-libgcc-file-name |
@echo "SEARCH-DIRS:" |
@$(CC) -print-search-dirs |
@echo "---------------- Info: Flags ----------------" |
@echo "CC_OPTS: $(CC_OPTS)" |
@echo "LD_OPTS: $(LD_OPTS)" |
@echo "---------------- Info: Host Native GCC ----------------" |
@echo "---------------- Info: Host Native GCC Flags ----------------" |
@echo "CC_X86: $(CC_X86)" |
|
|
/cpu_test/main.c
108,6 → 108,11
} cpu_systime; |
|
|
// reset performance counter |
neorv32_cpu_set_minstret(0); |
neorv32_cpu_set_mcycle(0); |
|
|
// check if UART unit is implemented at all |
if (neorv32_uart_available() == 0) { |
return 0; |
255,43 → 260,8
#endif |
|
|
// ---------------------------------------------------------- |
// Test counter CSR access for mcycle[h] |
// ---------------------------------------------------------- |
neorv32_uart_printf("MCYCLE[H]: "); |
cnt_test++; |
|
neorv32_cpu_csr_write(CSR_MCYCLE, 0x1BCD1234); |
neorv32_cpu_csr_write(CSR_MCYCLEH, 0x00034455); |
|
if (((neorv32_cpu_csr_read(CSR_MCYCLE) & 0xffff0000L) == 0x1BCD0000) && |
(neorv32_cpu_csr_read(CSR_MCYCLEH) == 0x00034455)) { |
test_ok(); |
} |
else { |
test_fail(); |
} |
|
|
// ---------------------------------------------------------- |
// Test counter CSR access for minstret[h] |
// ---------------------------------------------------------- |
neorv32_uart_printf("MINSTRET[H]: "); |
cnt_test++; |
|
neorv32_cpu_csr_write(CSR_MINSTRET, 0x11224499); |
neorv32_cpu_csr_write(CSR_MINSTRETH, 0x00090011); |
|
if (((neorv32_cpu_csr_read(CSR_MINSTRET) & 0xffff0000L) == 0x11220000) && |
(neorv32_cpu_csr_read(CSR_MINSTRETH) == 0x00090011)) { |
test_ok(); |
} |
else { |
test_fail(); |
} |
|
|
// ---------------------------------------------------------- |
// Test time[h] (must be == MTIME) |
// ---------------------------------------------------------- |
neorv32_uart_printf("TIME[H]: "); |
807,9 → 777,9
} |
} |
|
neorv32_uart_printf("Min granularity (0x%x): ", pmp_test_g); |
neorv32_uart_printf("Min granularity: "); |
if (i < 29) { |
neorv32_uart_printf("%u bytes per region\n", (uint32_t)(1 << (i+1+2))); |
neorv32_uart_printf("%u bytes per region (0x%x)\n", (uint32_t)(1 << (i+1+2)), pmp_test_g); |
} |
else { |
neorv32_uart_printf("2^%u bytes per region\n", i+1+2); |
909,8 → 879,19
// ---------------------------------------------------------- |
// Final test reports |
// ---------------------------------------------------------- |
neorv32_uart_printf("\n\nTests: %i\nOK: %i\nFAIL: %i\n\n", cnt_test, cnt_ok, cnt_fail); |
union { |
uint64_t uint64; |
uint32_t uint32[sizeof(uint64_t)/2]; |
} exe_instr, exe_cycles; |
|
exe_cycles.uint64 = neorv32_cpu_get_cycle(); |
exe_instr.uint64 = neorv32_cpu_get_instret(); |
|
neorv32_uart_printf("\n\nExecuted instructions: 0x%x_%x\n", exe_instr.uint32[1], exe_instr.uint32[0]); |
neorv32_uart_printf( "Clock cycles: 0x%x_%x\n", exe_cycles.uint32[1], exe_cycles.uint32[0]); |
|
neorv32_uart_printf("\nTests: %i\nOK: %i\nFAIL: %i\n\n", cnt_test, cnt_ok, cnt_fail); |
|
// final result |
if (cnt_fail == 0) { |
neorv32_uart_printf("TEST OK!\n"); |
/cpu_test/makefile
36,29 → 36,25
|
|
# ***************************************************************************** |
# USER CONFIGURATION |
# USER CONFIGURATION (use default if not set by user) |
# ***************************************************************************** |
# Compiler effort |
EFFORT = -Os |
EFFORT ?= -Os |
|
# User's application sources (add additional files here) |
APP_SRC = $(wildcard *.c) |
APP_SRC ?= $(wildcard *.c) |
|
# User's application include folders (don't forget the '-I' before each entry) |
APP_INC = -I . |
APP_INC ?= -I . |
|
# Compiler toolchain (use default if not set by user) |
# Compiler toolchain |
RISCV_TOOLCHAIN ?= riscv32-unknown-elf |
|
# CPU architecture and ABI |
MARCH = -march=rv32i |
MABI = -mabi=ilp32 |
MARCH ?= -march=rv32i |
MABI ?= -mabi=ilp32 |
|
# Path to runtime c library (use default if not set by user) |
LIBC_PATH ?= $(dir $(shell which $(CC)))../$(RISCV_TOOLCHAIN)/lib/libc.a |
LIBGCC_PATH ?= $(dir $(shell which $(CC)))../lib/gcc/$(RISCV_TOOLCHAIN)/*/libgcc.a |
|
# Relative or absolute path to the NEORV32 home folder (use default if not set by user) |
# Relative or absolute path to the NEORV32 home folder |
NEORV32_HOME ?= ../../.. |
# ***************************************************************************** |
|
113,7 → 109,6
# ----------------------------------------------------------------------------- |
# compiler tools |
CC = $(RISCV_TOOLCHAIN)-gcc |
LD = $(RISCV_TOOLCHAIN)-ld |
OBJDUMP = $(RISCV_TOOLCHAIN)-objdump |
OBJCOPY = $(RISCV_TOOLCHAIN)-objcopy |
SIZE = $(RISCV_TOOLCHAIN)-size |
121,23 → 116,14
# NEORV32 executable image generator |
IMAGE_GEN = $(NEORV32_EXG_PATH)/image_gen |
|
# Compiler flags |
CC_OPTS = $(MARCH) $(MABI) $(EFFORT) -Wall -ffunction-sections -fdata-sections -lm |
# Compiler & linker flags |
CC_OPTS = $(MARCH) $(MABI) $(EFFORT) -Wall -ffunction-sections -fdata-sections -nostartfiles |
CC_OPTS += -Wl,--gc-sections -lm -lc -lgcc -lc |
|
# Linker flags |
LD_OPTS = $(EFFORT) --gc-sections |
|
# User flags for additional config |
# User flags for additional configuration |
USER_FLAGS = |
CC_OPTS += $(USER_FLAGS) |
|
# Use embedded RISC-V CPU extension? |
ifeq (,$(findstring rv32e,$(MARCH))) |
CC_OPTS += |
else |
CC_OPTS += -D__RISCV_EMBEDDED_CPU__ |
endif |
|
# ----------------------------------------------------------------------------- |
# Host native compiler |
# ----------------------------------------------------------------------------- |
166,7 → 152,7
|
# Link object files and show memory utilization |
main.elf: $(OBJ) |
@$(LD) $(LD_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/neorv32.ld $(OBJ) $(LIBC_PATH) $(LIBGCC_PATH) -o $@ |
@$(CC) $(CC_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/neorv32.ld $(OBJ) -o $@ |
@echo "Memory utilization:" |
@$(SIZE) main.elf |
|
212,7 → 198,7
# Compile and install bootloader |
bootloader: bootloader_crt0.elf $(OBJ) $(IMAGE_GEN) |
@set -e |
@$(LD) $(LD_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/bootloader_neorv32.ld $(OBJ) $(LIBC_PATH) $(LIBGCC_PATH) -o bootloader.elf |
@$(CC) $(CC_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/bootloader_neorv32.ld $(OBJ) -o bootloader.elf |
@echo "Memory utilization:" |
@$(SIZE) bootloader.elf |
@$(OBJDUMP) -D -S -z bootloader.elf > bootloader.s |
237,8 → 223,6
@echo "NEORV32_HOME: $(NEORV32_HOME)" |
@echo "---------------- Check: $(CC) ----------------" |
@$(CC) -v |
@echo "---------------- Check: $(LD) ----------------" |
@$(LD) -V |
@echo "---------------- Check: $(OBJDUMP) ----------------" |
@$(OBJDUMP) -V |
@echo "---------------- Check: $(OBJCOPY) ----------------" |
247,7 → 231,7
@$(SIZE) -V |
@echo "---------------- Check: NEORV32 image_gen ----------------" |
@$(IMAGE_GEN) -help |
@echo "---------------- Check: native gcc ----------------" |
@echo "---------------- Check: Native GCC ----------------" |
@$(CC_X86) -v |
@echo |
@echo "Toolchain check OK" |
276,17 → 260,17
@echo "---------------- Info: RISC-V Toolchain ----------------" |
@echo "Toolchain: $(RISCV_TOLLCHAIN)" |
@echo "CC: $(CC)" |
@echo "LD: $(LD)" |
@echo "OBJDUMP: $(OBJDUMP)" |
@echo "OBJCOPY: $(OBJCOPY)" |
@echo "SIZE: $(SIZE)" |
@echo "---------------- Info: C Lib ----------------" |
@echo "CLIB: $(LIBC_PATH)" |
@echo "GCCLIB: $(LIBGCC_PATH)" |
@echo "---------------- Info: Libraries ----------------" |
@echo "LIBGCC:" |
@$(CC) -print-libgcc-file-name |
@echo "SEARCH-DIRS:" |
@$(CC) -print-search-dirs |
@echo "---------------- Info: Flags ----------------" |
@echo "CC_OPTS: $(CC_OPTS)" |
@echo "LD_OPTS: $(LD_OPTS)" |
@echo "---------------- Info: Host Native GCC ----------------" |
@echo "---------------- Info: Host Native GCC Flags ----------------" |
@echo "CC_X86: $(CC_X86)" |
|
|
/demo_pwm/makefile
36,29 → 36,25
|
|
# ***************************************************************************** |
# USER CONFIGURATION |
# USER CONFIGURATION (use default if not set by user) |
# ***************************************************************************** |
# Compiler effort |
EFFORT = -Os |
EFFORT ?= -Os |
|
# User's application sources (add additional files here) |
APP_SRC = $(wildcard *.c) |
APP_SRC ?= $(wildcard *.c) |
|
# User's application include folders (don't forget the '-I' before each entry) |
APP_INC = -I . |
APP_INC ?= -I . |
|
# Compiler toolchain (use default if not set by user) |
# Compiler toolchain |
RISCV_TOOLCHAIN ?= riscv32-unknown-elf |
|
# CPU architecture and ABI |
MARCH = -march=rv32i |
MABI = -mabi=ilp32 |
MARCH ?= -march=rv32i |
MABI ?= -mabi=ilp32 |
|
# Path to runtime c library (use default if not set by user) |
LIBC_PATH ?= $(dir $(shell which $(CC)))../$(RISCV_TOOLCHAIN)/lib/libc.a |
LIBGCC_PATH ?= $(dir $(shell which $(CC)))../lib/gcc/$(RISCV_TOOLCHAIN)/*/libgcc.a |
|
# Relative or absolute path to the NEORV32 home folder (use default if not set by user) |
# Relative or absolute path to the NEORV32 home folder |
NEORV32_HOME ?= ../../.. |
# ***************************************************************************** |
|
113,7 → 109,6
# ----------------------------------------------------------------------------- |
# compiler tools |
CC = $(RISCV_TOOLCHAIN)-gcc |
LD = $(RISCV_TOOLCHAIN)-ld |
OBJDUMP = $(RISCV_TOOLCHAIN)-objdump |
OBJCOPY = $(RISCV_TOOLCHAIN)-objcopy |
SIZE = $(RISCV_TOOLCHAIN)-size |
121,23 → 116,14
# NEORV32 executable image generator |
IMAGE_GEN = $(NEORV32_EXG_PATH)/image_gen |
|
# Compiler flags |
CC_OPTS = $(MARCH) $(MABI) $(EFFORT) -Wall -ffunction-sections -fdata-sections -lm |
# Compiler & linker flags |
CC_OPTS = $(MARCH) $(MABI) $(EFFORT) -Wall -ffunction-sections -fdata-sections -nostartfiles |
CC_OPTS += -Wl,--gc-sections -lm -lc -lgcc -lc |
|
# Linker flags |
LD_OPTS = $(EFFORT) --gc-sections |
|
# User flags for additional config |
# User flags for additional configuration |
USER_FLAGS = |
CC_OPTS += $(USER_FLAGS) |
|
# Use embedded RISC-V CPU extension? |
ifeq (,$(findstring rv32e,$(MARCH))) |
CC_OPTS += |
else |
CC_OPTS += -D__RISCV_EMBEDDED_CPU__ |
endif |
|
# ----------------------------------------------------------------------------- |
# Host native compiler |
# ----------------------------------------------------------------------------- |
166,7 → 152,7
|
# Link object files and show memory utilization |
main.elf: $(OBJ) |
@$(LD) $(LD_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/neorv32.ld $(OBJ) $(LIBC_PATH) $(LIBGCC_PATH) -o $@ |
@$(CC) $(CC_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/neorv32.ld $(OBJ) -o $@ |
@echo "Memory utilization:" |
@$(SIZE) main.elf |
|
212,7 → 198,7
# Compile and install bootloader |
bootloader: bootloader_crt0.elf $(OBJ) $(IMAGE_GEN) |
@set -e |
@$(LD) $(LD_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/bootloader_neorv32.ld $(OBJ) $(LIBC_PATH) $(LIBGCC_PATH) -o bootloader.elf |
@$(CC) $(CC_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/bootloader_neorv32.ld $(OBJ) -o bootloader.elf |
@echo "Memory utilization:" |
@$(SIZE) bootloader.elf |
@$(OBJDUMP) -D -S -z bootloader.elf > bootloader.s |
237,8 → 223,6
@echo "NEORV32_HOME: $(NEORV32_HOME)" |
@echo "---------------- Check: $(CC) ----------------" |
@$(CC) -v |
@echo "---------------- Check: $(LD) ----------------" |
@$(LD) -V |
@echo "---------------- Check: $(OBJDUMP) ----------------" |
@$(OBJDUMP) -V |
@echo "---------------- Check: $(OBJCOPY) ----------------" |
247,7 → 231,7
@$(SIZE) -V |
@echo "---------------- Check: NEORV32 image_gen ----------------" |
@$(IMAGE_GEN) -help |
@echo "---------------- Check: native gcc ----------------" |
@echo "---------------- Check: Native GCC ----------------" |
@$(CC_X86) -v |
@echo |
@echo "Toolchain check OK" |
276,17 → 260,17
@echo "---------------- Info: RISC-V Toolchain ----------------" |
@echo "Toolchain: $(RISCV_TOLLCHAIN)" |
@echo "CC: $(CC)" |
@echo "LD: $(LD)" |
@echo "OBJDUMP: $(OBJDUMP)" |
@echo "OBJCOPY: $(OBJCOPY)" |
@echo "SIZE: $(SIZE)" |
@echo "---------------- Info: C Lib ----------------" |
@echo "CLIB: $(LIBC_PATH)" |
@echo "GCCLIB: $(LIBGCC_PATH)" |
@echo "---------------- Info: Libraries ----------------" |
@echo "LIBGCC:" |
@$(CC) -print-libgcc-file-name |
@echo "SEARCH-DIRS:" |
@$(CC) -print-search-dirs |
@echo "---------------- Info: Flags ----------------" |
@echo "CC_OPTS: $(CC_OPTS)" |
@echo "LD_OPTS: $(LD_OPTS)" |
@echo "---------------- Info: Host Native GCC ----------------" |
@echo "---------------- Info: Host Native GCC Flags ----------------" |
@echo "CC_X86: $(CC_X86)" |
|
|
/demo_trng/makefile
36,29 → 36,25
|
|
# ***************************************************************************** |
# USER CONFIGURATION |
# USER CONFIGURATION (use default if not set by user) |
# ***************************************************************************** |
# Compiler effort |
EFFORT = -Os |
EFFORT ?= -Os |
|
# User's application sources (add additional files here) |
APP_SRC = $(wildcard *.c) |
APP_SRC ?= $(wildcard *.c) |
|
# User's application include folders (don't forget the '-I' before each entry) |
APP_INC = -I . |
APP_INC ?= -I . |
|
# Compiler toolchain (use default if not set by user) |
# Compiler toolchain |
RISCV_TOOLCHAIN ?= riscv32-unknown-elf |
|
# CPU architecture and ABI |
MARCH = -march=rv32i |
MABI = -mabi=ilp32 |
MARCH ?= -march=rv32i |
MABI ?= -mabi=ilp32 |
|
# Path to runtime c library (use default if not set by user) |
LIBC_PATH ?= $(dir $(shell which $(CC)))../$(RISCV_TOOLCHAIN)/lib/libc.a |
LIBGCC_PATH ?= $(dir $(shell which $(CC)))../lib/gcc/$(RISCV_TOOLCHAIN)/*/libgcc.a |
|
# Relative or absolute path to the NEORV32 home folder (use default if not set by user) |
# Relative or absolute path to the NEORV32 home folder |
NEORV32_HOME ?= ../../.. |
# ***************************************************************************** |
|
113,7 → 109,6
# ----------------------------------------------------------------------------- |
# compiler tools |
CC = $(RISCV_TOOLCHAIN)-gcc |
LD = $(RISCV_TOOLCHAIN)-ld |
OBJDUMP = $(RISCV_TOOLCHAIN)-objdump |
OBJCOPY = $(RISCV_TOOLCHAIN)-objcopy |
SIZE = $(RISCV_TOOLCHAIN)-size |
121,23 → 116,14
# NEORV32 executable image generator |
IMAGE_GEN = $(NEORV32_EXG_PATH)/image_gen |
|
# Compiler flags |
CC_OPTS = $(MARCH) $(MABI) $(EFFORT) -Wall -ffunction-sections -fdata-sections -lm |
# Compiler & linker flags |
CC_OPTS = $(MARCH) $(MABI) $(EFFORT) -Wall -ffunction-sections -fdata-sections -nostartfiles |
CC_OPTS += -Wl,--gc-sections -lm -lc -lgcc -lc |
|
# Linker flags |
LD_OPTS = $(EFFORT) --gc-sections |
|
# User flags for additional config |
# User flags for additional configuration |
USER_FLAGS = |
CC_OPTS += $(USER_FLAGS) |
|
# Use embedded RISC-V CPU extension? |
ifeq (,$(findstring rv32e,$(MARCH))) |
CC_OPTS += |
else |
CC_OPTS += -D__RISCV_EMBEDDED_CPU__ |
endif |
|
# ----------------------------------------------------------------------------- |
# Host native compiler |
# ----------------------------------------------------------------------------- |
166,7 → 152,7
|
# Link object files and show memory utilization |
main.elf: $(OBJ) |
@$(LD) $(LD_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/neorv32.ld $(OBJ) $(LIBC_PATH) $(LIBGCC_PATH) -o $@ |
@$(CC) $(CC_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/neorv32.ld $(OBJ) -o $@ |
@echo "Memory utilization:" |
@$(SIZE) main.elf |
|
212,7 → 198,7
# Compile and install bootloader |
bootloader: bootloader_crt0.elf $(OBJ) $(IMAGE_GEN) |
@set -e |
@$(LD) $(LD_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/bootloader_neorv32.ld $(OBJ) $(LIBC_PATH) $(LIBGCC_PATH) -o bootloader.elf |
@$(CC) $(CC_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/bootloader_neorv32.ld $(OBJ) -o bootloader.elf |
@echo "Memory utilization:" |
@$(SIZE) bootloader.elf |
@$(OBJDUMP) -D -S -z bootloader.elf > bootloader.s |
237,8 → 223,6
@echo "NEORV32_HOME: $(NEORV32_HOME)" |
@echo "---------------- Check: $(CC) ----------------" |
@$(CC) -v |
@echo "---------------- Check: $(LD) ----------------" |
@$(LD) -V |
@echo "---------------- Check: $(OBJDUMP) ----------------" |
@$(OBJDUMP) -V |
@echo "---------------- Check: $(OBJCOPY) ----------------" |
247,7 → 231,7
@$(SIZE) -V |
@echo "---------------- Check: NEORV32 image_gen ----------------" |
@$(IMAGE_GEN) -help |
@echo "---------------- Check: native gcc ----------------" |
@echo "---------------- Check: Native GCC ----------------" |
@$(CC_X86) -v |
@echo |
@echo "Toolchain check OK" |
276,17 → 260,17
@echo "---------------- Info: RISC-V Toolchain ----------------" |
@echo "Toolchain: $(RISCV_TOLLCHAIN)" |
@echo "CC: $(CC)" |
@echo "LD: $(LD)" |
@echo "OBJDUMP: $(OBJDUMP)" |
@echo "OBJCOPY: $(OBJCOPY)" |
@echo "SIZE: $(SIZE)" |
@echo "---------------- Info: C Lib ----------------" |
@echo "CLIB: $(LIBC_PATH)" |
@echo "GCCLIB: $(LIBGCC_PATH)" |
@echo "---------------- Info: Libraries ----------------" |
@echo "LIBGCC:" |
@$(CC) -print-libgcc-file-name |
@echo "SEARCH-DIRS:" |
@$(CC) -print-search-dirs |
@echo "---------------- Info: Flags ----------------" |
@echo "CC_OPTS: $(CC_OPTS)" |
@echo "LD_OPTS: $(LD_OPTS)" |
@echo "---------------- Info: Host Native GCC ----------------" |
@echo "---------------- Info: Host Native GCC Flags ----------------" |
@echo "CC_X86: $(CC_X86)" |
|
|
/demo_twi/makefile
36,29 → 36,25
|
|
# ***************************************************************************** |
# USER CONFIGURATION |
# USER CONFIGURATION (use default if not set by user) |
# ***************************************************************************** |
# Compiler effort |
EFFORT = -Os |
EFFORT ?= -Os |
|
# User's application sources (add additional files here) |
APP_SRC = $(wildcard *.c) |
APP_SRC ?= $(wildcard *.c) |
|
# User's application include folders (don't forget the '-I' before each entry) |
APP_INC = -I . |
APP_INC ?= -I . |
|
# Compiler toolchain (use default if not set by user) |
# Compiler toolchain |
RISCV_TOOLCHAIN ?= riscv32-unknown-elf |
|
# CPU architecture and ABI |
MARCH = -march=rv32i |
MABI = -mabi=ilp32 |
MARCH ?= -march=rv32i |
MABI ?= -mabi=ilp32 |
|
# Path to runtime c library (use default if not set by user) |
LIBC_PATH ?= $(dir $(shell which $(CC)))../$(RISCV_TOOLCHAIN)/lib/libc.a |
LIBGCC_PATH ?= $(dir $(shell which $(CC)))../lib/gcc/$(RISCV_TOOLCHAIN)/*/libgcc.a |
|
# Relative or absolute path to the NEORV32 home folder (use default if not set by user) |
# Relative or absolute path to the NEORV32 home folder |
NEORV32_HOME ?= ../../.. |
# ***************************************************************************** |
|
113,7 → 109,6
# ----------------------------------------------------------------------------- |
# compiler tools |
CC = $(RISCV_TOOLCHAIN)-gcc |
LD = $(RISCV_TOOLCHAIN)-ld |
OBJDUMP = $(RISCV_TOOLCHAIN)-objdump |
OBJCOPY = $(RISCV_TOOLCHAIN)-objcopy |
SIZE = $(RISCV_TOOLCHAIN)-size |
121,23 → 116,14
# NEORV32 executable image generator |
IMAGE_GEN = $(NEORV32_EXG_PATH)/image_gen |
|
# Compiler flags |
CC_OPTS = $(MARCH) $(MABI) $(EFFORT) -Wall -ffunction-sections -fdata-sections -lm |
# Compiler & linker flags |
CC_OPTS = $(MARCH) $(MABI) $(EFFORT) -Wall -ffunction-sections -fdata-sections -nostartfiles |
CC_OPTS += -Wl,--gc-sections -lm -lc -lgcc -lc |
|
# Linker flags |
LD_OPTS = $(EFFORT) --gc-sections |
|
# User flags for additional config |
# User flags for additional configuration |
USER_FLAGS = |
CC_OPTS += $(USER_FLAGS) |
|
# Use embedded RISC-V CPU extension? |
ifeq (,$(findstring rv32e,$(MARCH))) |
CC_OPTS += |
else |
CC_OPTS += -D__RISCV_EMBEDDED_CPU__ |
endif |
|
# ----------------------------------------------------------------------------- |
# Host native compiler |
# ----------------------------------------------------------------------------- |
166,7 → 152,7
|
# Link object files and show memory utilization |
main.elf: $(OBJ) |
@$(LD) $(LD_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/neorv32.ld $(OBJ) $(LIBC_PATH) $(LIBGCC_PATH) -o $@ |
@$(CC) $(CC_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/neorv32.ld $(OBJ) -o $@ |
@echo "Memory utilization:" |
@$(SIZE) main.elf |
|
212,7 → 198,7
# Compile and install bootloader |
bootloader: bootloader_crt0.elf $(OBJ) $(IMAGE_GEN) |
@set -e |
@$(LD) $(LD_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/bootloader_neorv32.ld $(OBJ) $(LIBC_PATH) $(LIBGCC_PATH) -o bootloader.elf |
@$(CC) $(CC_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/bootloader_neorv32.ld $(OBJ) -o bootloader.elf |
@echo "Memory utilization:" |
@$(SIZE) bootloader.elf |
@$(OBJDUMP) -D -S -z bootloader.elf > bootloader.s |
237,8 → 223,6
@echo "NEORV32_HOME: $(NEORV32_HOME)" |
@echo "---------------- Check: $(CC) ----------------" |
@$(CC) -v |
@echo "---------------- Check: $(LD) ----------------" |
@$(LD) -V |
@echo "---------------- Check: $(OBJDUMP) ----------------" |
@$(OBJDUMP) -V |
@echo "---------------- Check: $(OBJCOPY) ----------------" |
247,7 → 231,7
@$(SIZE) -V |
@echo "---------------- Check: NEORV32 image_gen ----------------" |
@$(IMAGE_GEN) -help |
@echo "---------------- Check: native gcc ----------------" |
@echo "---------------- Check: Native GCC ----------------" |
@$(CC_X86) -v |
@echo |
@echo "Toolchain check OK" |
276,17 → 260,17
@echo "---------------- Info: RISC-V Toolchain ----------------" |
@echo "Toolchain: $(RISCV_TOLLCHAIN)" |
@echo "CC: $(CC)" |
@echo "LD: $(LD)" |
@echo "OBJDUMP: $(OBJDUMP)" |
@echo "OBJCOPY: $(OBJCOPY)" |
@echo "SIZE: $(SIZE)" |
@echo "---------------- Info: C Lib ----------------" |
@echo "CLIB: $(LIBC_PATH)" |
@echo "GCCLIB: $(LIBGCC_PATH)" |
@echo "---------------- Info: Libraries ----------------" |
@echo "LIBGCC:" |
@$(CC) -print-libgcc-file-name |
@echo "SEARCH-DIRS:" |
@$(CC) -print-search-dirs |
@echo "---------------- Info: Flags ----------------" |
@echo "CC_OPTS: $(CC_OPTS)" |
@echo "LD_OPTS: $(LD_OPTS)" |
@echo "---------------- Info: Host Native GCC ----------------" |
@echo "---------------- Info: Host Native GCC Flags ----------------" |
@echo "CC_X86: $(CC_X86)" |
|
|
/demo_wdt/makefile
36,29 → 36,25
|
|
# ***************************************************************************** |
# USER CONFIGURATION |
# USER CONFIGURATION (use default if not set by user) |
# ***************************************************************************** |
# Compiler effort |
EFFORT = -Os |
EFFORT ?= -Os |
|
# User's application sources (add additional files here) |
APP_SRC = $(wildcard *.c) |
APP_SRC ?= $(wildcard *.c) |
|
# User's application include folders (don't forget the '-I' before each entry) |
APP_INC = -I . |
APP_INC ?= -I . |
|
# Compiler toolchain (use default if not set by user) |
# Compiler toolchain |
RISCV_TOOLCHAIN ?= riscv32-unknown-elf |
|
# CPU architecture and ABI |
MARCH = -march=rv32i |
MABI = -mabi=ilp32 |
MARCH ?= -march=rv32i |
MABI ?= -mabi=ilp32 |
|
# Path to runtime c library (use default if not set by user) |
LIBC_PATH ?= $(dir $(shell which $(CC)))../$(RISCV_TOOLCHAIN)/lib/libc.a |
LIBGCC_PATH ?= $(dir $(shell which $(CC)))../lib/gcc/$(RISCV_TOOLCHAIN)/*/libgcc.a |
|
# Relative or absolute path to the NEORV32 home folder (use default if not set by user) |
# Relative or absolute path to the NEORV32 home folder |
NEORV32_HOME ?= ../../.. |
# ***************************************************************************** |
|
113,7 → 109,6
# ----------------------------------------------------------------------------- |
# compiler tools |
CC = $(RISCV_TOOLCHAIN)-gcc |
LD = $(RISCV_TOOLCHAIN)-ld |
OBJDUMP = $(RISCV_TOOLCHAIN)-objdump |
OBJCOPY = $(RISCV_TOOLCHAIN)-objcopy |
SIZE = $(RISCV_TOOLCHAIN)-size |
121,23 → 116,14
# NEORV32 executable image generator |
IMAGE_GEN = $(NEORV32_EXG_PATH)/image_gen |
|
# Compiler flags |
CC_OPTS = $(MARCH) $(MABI) $(EFFORT) -Wall -ffunction-sections -fdata-sections -lm |
# Compiler & linker flags |
CC_OPTS = $(MARCH) $(MABI) $(EFFORT) -Wall -ffunction-sections -fdata-sections -nostartfiles |
CC_OPTS += -Wl,--gc-sections -lm -lc -lgcc -lc |
|
# Linker flags |
LD_OPTS = $(EFFORT) --gc-sections |
|
# User flags for additional config |
# User flags for additional configuration |
USER_FLAGS = |
CC_OPTS += $(USER_FLAGS) |
|
# Use embedded RISC-V CPU extension? |
ifeq (,$(findstring rv32e,$(MARCH))) |
CC_OPTS += |
else |
CC_OPTS += -D__RISCV_EMBEDDED_CPU__ |
endif |
|
# ----------------------------------------------------------------------------- |
# Host native compiler |
# ----------------------------------------------------------------------------- |
166,7 → 152,7
|
# Link object files and show memory utilization |
main.elf: $(OBJ) |
@$(LD) $(LD_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/neorv32.ld $(OBJ) $(LIBC_PATH) $(LIBGCC_PATH) -o $@ |
@$(CC) $(CC_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/neorv32.ld $(OBJ) -o $@ |
@echo "Memory utilization:" |
@$(SIZE) main.elf |
|
212,7 → 198,7
# Compile and install bootloader |
bootloader: bootloader_crt0.elf $(OBJ) $(IMAGE_GEN) |
@set -e |
@$(LD) $(LD_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/bootloader_neorv32.ld $(OBJ) $(LIBC_PATH) $(LIBGCC_PATH) -o bootloader.elf |
@$(CC) $(CC_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/bootloader_neorv32.ld $(OBJ) -o bootloader.elf |
@echo "Memory utilization:" |
@$(SIZE) bootloader.elf |
@$(OBJDUMP) -D -S -z bootloader.elf > bootloader.s |
237,8 → 223,6
@echo "NEORV32_HOME: $(NEORV32_HOME)" |
@echo "---------------- Check: $(CC) ----------------" |
@$(CC) -v |
@echo "---------------- Check: $(LD) ----------------" |
@$(LD) -V |
@echo "---------------- Check: $(OBJDUMP) ----------------" |
@$(OBJDUMP) -V |
@echo "---------------- Check: $(OBJCOPY) ----------------" |
247,7 → 231,7
@$(SIZE) -V |
@echo "---------------- Check: NEORV32 image_gen ----------------" |
@$(IMAGE_GEN) -help |
@echo "---------------- Check: native gcc ----------------" |
@echo "---------------- Check: Native GCC ----------------" |
@$(CC_X86) -v |
@echo |
@echo "Toolchain check OK" |
276,17 → 260,17
@echo "---------------- Info: RISC-V Toolchain ----------------" |
@echo "Toolchain: $(RISCV_TOLLCHAIN)" |
@echo "CC: $(CC)" |
@echo "LD: $(LD)" |
@echo "OBJDUMP: $(OBJDUMP)" |
@echo "OBJCOPY: $(OBJCOPY)" |
@echo "SIZE: $(SIZE)" |
@echo "---------------- Info: C Lib ----------------" |
@echo "CLIB: $(LIBC_PATH)" |
@echo "GCCLIB: $(LIBGCC_PATH)" |
@echo "---------------- Info: Libraries ----------------" |
@echo "LIBGCC:" |
@$(CC) -print-libgcc-file-name |
@echo "SEARCH-DIRS:" |
@$(CC) -print-search-dirs |
@echo "---------------- Info: Flags ----------------" |
@echo "CC_OPTS: $(CC_OPTS)" |
@echo "LD_OPTS: $(LD_OPTS)" |
@echo "---------------- Info: Host Native GCC ----------------" |
@echo "---------------- Info: Host Native GCC Flags ----------------" |
@echo "CC_X86: $(CC_X86)" |
|
|
/game_of_life/makefile
36,29 → 36,25
|
|
# ***************************************************************************** |
# USER CONFIGURATION |
# USER CONFIGURATION (use default if not set by user) |
# ***************************************************************************** |
# Compiler effort |
EFFORT = -Os |
EFFORT ?= -Os |
|
# User's application sources (add additional files here) |
APP_SRC = $(wildcard *.c) |
APP_SRC ?= $(wildcard *.c) |
|
# User's application include folders (don't forget the '-I' before each entry) |
APP_INC = -I . |
APP_INC ?= -I . |
|
# Compiler toolchain (use default if not set by user) |
# Compiler toolchain |
RISCV_TOOLCHAIN ?= riscv32-unknown-elf |
|
# CPU architecture and ABI |
MARCH = -march=rv32i |
MABI = -mabi=ilp32 |
MARCH ?= -march=rv32i |
MABI ?= -mabi=ilp32 |
|
# Path to runtime c library (use default if not set by user) |
LIBC_PATH ?= $(dir $(shell which $(CC)))../$(RISCV_TOOLCHAIN)/lib/libc.a |
LIBGCC_PATH ?= $(dir $(shell which $(CC)))../lib/gcc/$(RISCV_TOOLCHAIN)/*/libgcc.a |
|
# Relative or absolute path to the NEORV32 home folder (use default if not set by user) |
# Relative or absolute path to the NEORV32 home folder |
NEORV32_HOME ?= ../../.. |
# ***************************************************************************** |
|
113,7 → 109,6
# ----------------------------------------------------------------------------- |
# compiler tools |
CC = $(RISCV_TOOLCHAIN)-gcc |
LD = $(RISCV_TOOLCHAIN)-ld |
OBJDUMP = $(RISCV_TOOLCHAIN)-objdump |
OBJCOPY = $(RISCV_TOOLCHAIN)-objcopy |
SIZE = $(RISCV_TOOLCHAIN)-size |
121,23 → 116,14
# NEORV32 executable image generator |
IMAGE_GEN = $(NEORV32_EXG_PATH)/image_gen |
|
# Compiler flags |
CC_OPTS = $(MARCH) $(MABI) $(EFFORT) -Wall -ffunction-sections -fdata-sections -lm |
# Compiler & linker flags |
CC_OPTS = $(MARCH) $(MABI) $(EFFORT) -Wall -ffunction-sections -fdata-sections -nostartfiles |
CC_OPTS += -Wl,--gc-sections -lm -lc -lgcc -lc |
|
# Linker flags |
LD_OPTS = $(EFFORT) --gc-sections |
|
# User flags for additional config |
# User flags for additional configuration |
USER_FLAGS = |
CC_OPTS += $(USER_FLAGS) |
|
# Use embedded RISC-V CPU extension? |
ifeq (,$(findstring rv32e,$(MARCH))) |
CC_OPTS += |
else |
CC_OPTS += -D__RISCV_EMBEDDED_CPU__ |
endif |
|
# ----------------------------------------------------------------------------- |
# Host native compiler |
# ----------------------------------------------------------------------------- |
166,7 → 152,7
|
# Link object files and show memory utilization |
main.elf: $(OBJ) |
@$(LD) $(LD_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/neorv32.ld $(OBJ) $(LIBC_PATH) $(LIBGCC_PATH) -o $@ |
@$(CC) $(CC_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/neorv32.ld $(OBJ) -o $@ |
@echo "Memory utilization:" |
@$(SIZE) main.elf |
|
212,7 → 198,7
# Compile and install bootloader |
bootloader: bootloader_crt0.elf $(OBJ) $(IMAGE_GEN) |
@set -e |
@$(LD) $(LD_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/bootloader_neorv32.ld $(OBJ) $(LIBC_PATH) $(LIBGCC_PATH) -o bootloader.elf |
@$(CC) $(CC_OPTS) -I $(NEORV32_INC_PATH) $(APP_INC) -T $(NEORV32_COM_PATH)/bootloader_neorv32.ld $(OBJ) -o bootloader.elf |
@echo "Memory utilization:" |
@$(SIZE) bootloader.elf |
@$(OBJDUMP) -D -S -z bootloader.elf > bootloader.s |
237,8 → 223,6
@echo "NEORV32_HOME: $(NEORV32_HOME)" |
@echo "---------------- Check: $(CC) ----------------" |
@$(CC) -v |
@echo "---------------- Check: $(LD) ----------------" |
@$(LD) -V |
@echo "---------------- Check: $(OBJDUMP) ----------------" |
@$(OBJDUMP) -V |
@echo "---------------- Check: $(OBJCOPY) ----------------" |
247,7 → 231,7
@$(SIZE) -V |
@echo "---------------- Check: NEORV32 image_gen ----------------" |
@$(IMAGE_GEN) -help |
@echo "---------------- Check: native gcc ----------------" |
@echo "---------------- Check: Native GCC ----------------" |
@$(CC_X86) -v |
@echo |
@echo "Toolchain check OK" |
276,17 → 260,17
@echo "---------------- Info: RISC-V Toolchain ----------------" |
@echo "Toolchain: $(RISCV_TOLLCHAIN)" |
@echo "CC: $(CC)" |
@echo "LD: $(LD)" |
@echo "OBJDUMP: $(OBJDUMP)" |
@echo "OBJCOPY: $(OBJCOPY)" |
@echo "SIZE: $(SIZE)" |
@echo "---------------- Info: C Lib ----------------" |
@echo "CLIB: $(LIBC_PATH)" |
@echo "GCCLIB: $(LIBGCC_PATH)" |
@echo "---------------- Info: Libraries ----------------" |
@echo "LIBGCC:" |
@$(CC) -print-libgcc-file-name |
@echo "SEARCH-DIRS:" |
@$(CC) -print-search-dirs |
@echo "---------------- Info: Flags ----------------" |
@echo "CC_OPTS: $(CC_OPTS)" |
@echo "LD_OPTS: $(LD_OPTS)" |
@echo "---------------- Info: Host Native GCC ----------------" |
@echo "---------------- Info: Host Native GCC Flags ----------------" |
@echo "CC_X86: $(CC_X86)" |
|
|