blob: dd42b2dd8b7a05fe1686cba5faa18bfd20bda868 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
CC ?= clang
CFLAGS_MARCH ?= -march=rv32imacb_zicntr_zicond_zicsr_zifencei_zihintpause_zilsd_zclsd_zabha_zacas_zbkb_zbkx_zcb_zcmp_zcmt
CFLAGS_OPT ?= -O3
CFLAGS ?= ${CFLAGS_MARCH} ${CFLAGS_OPT}
ifeq (${CC}, clang)
CC := ${CC} -target riscv32-none-elf
endif
.PHONY: all dump load clean
all: phb.hex
phb.o: phb.c
clang -target riscv32-none-elf -I../rvcontroller-libraries -march=rv32imacb_zicntr_zicond_zicsr_zifencei_zihintpause_zilsd_zclsd_zabha_zacas_zbkb_zbkx_zcb_zcmp_zcmt -ffreestanding -O3 -c -DRRXING_DE -o phb.o phb.c
phb.elf: ../rvcontroller-libraries/rvcontroller-init.o ../rvcontroller-libraries/rvcontroller-ecalls.o phb.o
clang -target riscv32-none-elf -T rvcontroller.ld -nostdlib -nostartfiles -Xlinker --no-warn-rwx-segments -o phb.elf ../rvcontroller-libraries/rvcontroller-init.o phb.o ../rvcontroller-libraries/rvcontroller-ecalls.o
dump: phb.elf
riscv32-none-elf-objdump -d phb.elf
phb.hex: phb.elf
riscv32-none-elf-objcopy -O ihex phb.elf phb.hex
load: phb.hex
bash -c "wl-copy < phb.hex"
clean:
rm -f phb.hex phb.elf phb.o init.o
|