Skip to content

Commit

Permalink
Move all makefiles from examples into using the common makefile.
Browse files Browse the repository at this point in the history
  • Loading branch information
cnlohr committed Apr 17, 2023
1 parent b40240f commit d71a050
Show file tree
Hide file tree
Showing 23 changed files with 96 additions and 784 deletions.
6 changes: 3 additions & 3 deletions ch32v003fun/ch32v003fun.mk
Expand Up @@ -4,7 +4,7 @@ PREFIX:=riscv64-unknown-elf
CH32V003FUN:=../../ch32v003fun
MINICHLINK:=../../minichlink

CFLAGS:= \
CFLAGS+= \
-g -Os -flto -ffunction-sections \
-static-libgcc \
-march=rv32ec \
Expand All @@ -14,11 +14,11 @@ CFLAGS:= \
-nostdlib \
-I. -Wall

LDFLAGS:=-T $(CH32V003FUN)/ch32v003fun.ld -Wl,--gc-sections -L../../misc -lgcc
LDFLAGS+=-T $(CH32V003FUN)/ch32v003fun.ld -Wl,--gc-sections -L../../misc -lgcc

SYSTEM_C:=$(CH32V003FUN)/ch32v003fun.c

$(TARGET).elf : $(SYSTEM_C) $(TARGET).c
$(TARGET).elf : $(SYSTEM_C) $(TARGET).c $(ADDITIONAL_C_FILES)
$(PREFIX)-gcc -o $@ $^ $(CFLAGS) $(LDFLAGS)

$(TARGET).bin : $(TARGET).elf
Expand Down
44 changes: 6 additions & 38 deletions examples/GPIO/Makefile
@@ -1,43 +1,11 @@
TARGET:=GPIO

all : flash

PREFIX:=riscv64-unknown-elf

GPIO_Toggle:=EXAM/GPIO/GPIO_Toggle/User

EVT:=../../ch32v003evt

MINICHLINK:=../../minichlink
CH32V003FUN:=../../ch32v003fun

CFLAGS:= \
-g -Os -flto -ffunction-sections \
-static-libgcc \
-march=rv32ec \
-mabi=ilp32e \
-I/usr/include/newlib \
-I$(CH32V003FUN) \
-nostdlib \
-I. -DTINYVECTOR -Wall
CFLAGS+=-DTINYVECTOR
ADDITIONAL_C_FILES+=wiring.c

LDFLAGS:=-T $(CH32V003FUN)/ch32v003fun.ld -Wl,--gc-sections -L../../misc -lgcc
include ../../ch32v003fun/ch32v003fun.mk

SYSTEM_C:=$(CH32V003FUN)/ch32v003fun.c

$(TARGET).elf : $(SYSTEM_C) $(TARGET).c wiring.c
$(PREFIX)-gcc -o $@ $^ $(CFLAGS) $(LDFLAGS)

$(TARGET).bin : $(TARGET).elf
$(PREFIX)-size $^
$(PREFIX)-objdump -S $^ > $(TARGET).lst
$(PREFIX)-objdump -t $^ > $(TARGET).map
$(PREFIX)-objcopy -O binary $< $(TARGET).bin
$(PREFIX)-objcopy -O ihex $< $(TARGET).hex

flash : $(TARGET).bin
$(MINICHLINK)/minichlink -w $< flash -b

clean :
rm -rf $(TARGET).elf $(TARGET).bin $(TARGET).hex $(TARGET).lst $(TARGET).map $(TARGET).hex
all : flash
flash : cv_flash
clean : cv_clean

44 changes: 6 additions & 38 deletions examples/GPIO_analogRead/Makefile
@@ -1,43 +1,11 @@
TARGET:=GPIO_analogRead

all : flash

PREFIX:=riscv64-unknown-elf

GPIO_Toggle:=EXAM/GPIO/GPIO_Toggle/User

EVT:=../../ch32v003evt

MINICHLINK:=../../minichlink
CH32V003FUN:=../../ch32v003fun

CFLAGS:= \
-g -Os -flto -ffunction-sections \
-static-libgcc \
-march=rv32ec \
-mabi=ilp32e \
-I/usr/include/newlib \
-I$(CH32V003FUN) \
-nostdlib \
-I. -DTINYVECTOR -Wall
CFLAGS+=-DTINYVECTOR
ADDITIONAL_C_FILES+=wiring.c

LDFLAGS:=-T $(CH32V003FUN)/ch32v003fun.ld -Wl,--gc-sections -L../../misc -lgcc
include ../../ch32v003fun/ch32v003fun.mk

SYSTEM_C:=$(CH32V003FUN)/ch32v003fun.c

$(TARGET).elf : $(SYSTEM_C) $(TARGET).c wiring.c
$(PREFIX)-gcc -o $@ $^ $(CFLAGS) $(LDFLAGS)

$(TARGET).bin : $(TARGET).elf
$(PREFIX)-size $^
$(PREFIX)-objdump -S $^ > $(TARGET).lst
$(PREFIX)-objdump -t $^ > $(TARGET).map
$(PREFIX)-objcopy -O binary $< $(TARGET).bin
$(PREFIX)-objcopy -O ihex $< $(TARGET).hex

flash : $(TARGET).bin
$(MINICHLINK)/minichlink -w $< flash -b

clean :
rm -rf $(TARGET).elf $(TARGET).bin $(TARGET).hex $(TARGET).lst $(TARGET).map $(TARGET).hex
all : flash
flash : cv_flash
clean : cv_clean

51 changes: 5 additions & 46 deletions examples/MCOtest/Makefile
@@ -1,51 +1,10 @@
TARGET:=MCOtest

all : flash

PREFIX:=riscv64-unknown-elf

GPIO_Toggle:=EXAM/GPIO/GPIO_Toggle/User

EVT:=../../ch32v003evt

MINICHLINK:=../../minichlink

ifeq ($(OS),Windows_NT)
# On Windows, all the major RISC-V GCC installs are missing the -ec libgcc.
LIB_GCC=../../misc/libgcc.a
else
LIB_GCC=-lgcc
endif

CH32V003FUN:=../../ch32v003fun
CFLAGS+=-DTINYVECTOR -DSTDOUT_UART

CFLAGS:= \
-g -Os -flto -ffunction-sections \
-static-libgcc $(LIB_GCC) \
-march=rv32ec \
-mabi=ilp32e \
-I/usr/include/newlib \
-I$(CH32V003FUN) \
-nostdlib \
-I. -DSTDOUT_UART -DTINYVECTOR -Wall
include ../../ch32v003fun/ch32v003fun.mk

LDFLAGS:=-T $(CH32V003FUN)/ch32v003fun.ld -Wl,--gc-sections

SYSTEM_C:=$(CH32V003FUN)/ch32v003fun.c

$(TARGET).elf : $(SYSTEM_C) $(TARGET).c
$(PREFIX)-gcc -o $@ $^ $(CFLAGS) $(LDFLAGS)

$(TARGET).bin : $(TARGET).elf
$(PREFIX)-size $^
$(PREFIX)-objdump -S $^ > $(TARGET).lst
$(PREFIX)-objdump -t $^ > $(TARGET).map
$(PREFIX)-objcopy -O binary $< $(TARGET).bin
$(PREFIX)-objcopy -O ihex $< $(TARGET).hex

flash : $(TARGET).bin
$(MINICHLINK)/minichlink -w $< flash -b

clean :
rm -rf $(TARGET).elf $(TARGET).bin $(TARGET).hex $(TARGET).lst $(TARGET).map $(TARGET).hex
all : flash
flash : cv_flash
clean : cv_clean

40 changes: 4 additions & 36 deletions examples/adc_dma_opamp/Makefile
@@ -1,41 +1,9 @@
TARGET:=adc_dma_opamp

all : flash

PREFIX:=riscv64-unknown-elf

GPIO_Toggle:=EXAM/GPIO/GPIO_Toggle/User

CH32V003FUN:=../../ch32v003fun
MINICHLINK:=../../minichlink

CFLAGS:= \
-g -Os -flto -ffunction-sections \
-static-libgcc \
-march=rv32ec \
-mabi=ilp32e \
-I/usr/include/newlib \
-I$(CH32V003FUN) \
-nostdlib \
-I. -DSTDOUT_UART -Wall
include ../../ch32v003fun/ch32v003fun.mk

LDFLAGS:=-T $(CH32V003FUN)/ch32v003fun.ld -Wl,--gc-sections -L../../misc -lgcc

SYSTEM_C:=$(CH32V003FUN)/ch32v003fun.c

$(TARGET).elf : $(SYSTEM_C) $(TARGET).c
$(PREFIX)-gcc -o $@ $^ $(CFLAGS) $(LDFLAGS)

$(TARGET).bin : $(TARGET).elf
$(PREFIX)-size $^
$(PREFIX)-objdump -S $^ > $(TARGET).lst
$(PREFIX)-objdump -t $^ > $(TARGET).map
$(PREFIX)-objcopy -O binary $< $(TARGET).bin
$(PREFIX)-objcopy -O ihex $< $(TARGET).hex

flash : $(TARGET).bin
$(MINICHLINK)/minichlink -w $< flash -b
all : flash
flash : cv_flash
clean : cv_clean

clean :
rm -rf $(TARGET).elf $(TARGET).bin $(TARGET).hex $(TARGET).lst $(TARGET).map $(TARGET).hex

4 changes: 2 additions & 2 deletions examples/adc_dma_opamp/adc_dma_opamp.c
Expand Up @@ -51,9 +51,9 @@ int main()
printf("looping...\n\r");
while(1)
{
GPIOC->BSHR = (1<<1); // Turn on GPIOs
GPIOC->BSHR = 1<<1; // Turn on GPIOs
Delay_Ms( 100 );
GPIOC->BSHR = (1<<1+16); // Turn off GPIODs
GPIOC->BSHR = 1<<(1+16); // Turn off GPIODs
Delay_Ms( 100 );
printf( "%4d %4d ", adc_buffer[0], adc_buffer[1]);
printf( "%4d %4d\n\r", adc_buffer[2], adc_buffer[3]);
Expand Down
40 changes: 4 additions & 36 deletions examples/adc_polled/Makefile
@@ -1,41 +1,9 @@
TARGET:=adc_polled

all : flash

PREFIX:=riscv64-unknown-elf

GPIO_Toggle:=EXAM/GPIO/GPIO_Toggle/User

CH32V003FUN:=../../ch32v003fun
MINICHLINK:=../../minichlink

CFLAGS:= \
-g -Os -flto -ffunction-sections \
-static-libgcc \
-march=rv32ec \
-mabi=ilp32e \
-I/usr/include/newlib \
-I$(CH32V003FUN) \
-nostdlib \
-I. -DSTDOUT_UART -Wall
include ../../ch32v003fun/ch32v003fun.mk

LDFLAGS:=-T $(CH32V003FUN)/ch32v003fun.ld -Wl,--gc-sections -L../../misc -lgcc

SYSTEM_C:=$(CH32V003FUN)/ch32v003fun.c

$(TARGET).elf : $(SYSTEM_C) $(TARGET).c
$(PREFIX)-gcc -o $@ $^ $(CFLAGS) $(LDFLAGS)

$(TARGET).bin : $(TARGET).elf
$(PREFIX)-size $^
$(PREFIX)-objdump -S $^ > $(TARGET).lst
$(PREFIX)-objdump -t $^ > $(TARGET).map
$(PREFIX)-objcopy -O binary $< $(TARGET).bin
$(PREFIX)-objcopy -O ihex $< $(TARGET).hex

flash : $(TARGET).bin
$(MINICHLINK)/minichlink -w $< flash -b
all : flash
flash : cv_flash
clean : cv_clean

clean :
rm -rf $(TARGET).elf $(TARGET).bin $(TARGET).hex $(TARGET).lst $(TARGET).map $(TARGET).hex

42 changes: 4 additions & 38 deletions examples/blink/Makefile
@@ -1,43 +1,9 @@
TARGET:=blink

all : flash

PREFIX:=riscv64-unknown-elf

GPIO_Toggle:=EXAM/GPIO/GPIO_Toggle/User

EVT:=../../ch32v003evt

MINICHLINK:=../../minichlink
CH32V003FUN:=../../ch32v003fun

CFLAGS:= \
-g -Os -flto -ffunction-sections \
-static-libgcc \
-march=rv32ec \
-mabi=ilp32e \
-I/usr/include/newlib \
-I$(CH32V003FUN) \
-nostdlib \
-I. -DTINYVECTOR -Wall
include ../../ch32v003fun/ch32v003fun.mk

LDFLAGS:=-T $(CH32V003FUN)/ch32v003fun.ld -Wl,--gc-sections -L../../misc -lgcc

SYSTEM_C:=$(CH32V003FUN)/ch32v003fun.c

$(TARGET).elf : $(SYSTEM_C) $(TARGET).c
$(PREFIX)-gcc -o $@ $^ $(CFLAGS) $(LDFLAGS)

$(TARGET).bin : $(TARGET).elf
$(PREFIX)-size $^
$(PREFIX)-objdump -S $^ > $(TARGET).lst
$(PREFIX)-objdump -t $^ > $(TARGET).map
$(PREFIX)-objcopy -O binary $< $(TARGET).bin
$(PREFIX)-objcopy -O ihex $< $(TARGET).hex

flash : $(TARGET).bin
$(MINICHLINK)/minichlink -w $< flash -b
all : flash
flash : cv_flash
clean : cv_clean

clean :
rm -rf $(TARGET).elf $(TARGET).bin $(TARGET).hex $(TARGET).lst $(TARGET).map $(TARGET).hex

Binary file modified examples/blink/blink.bin
Binary file not shown.
43 changes: 4 additions & 39 deletions examples/bootload/Makefile
@@ -1,43 +1,8 @@
TARGET:=bootload

all : flash

PREFIX:=riscv64-unknown-elf

GPIO_Toggle:=EXAM/GPIO/GPIO_Toggle/User

EVT:=../../ch32v003evt

MINICHLINK:=../../minichlink
CH32V003FUN:=../../ch32v003fun

CFLAGS:= \
-g -Os -flto -ffunction-sections \
-static-libgcc \
-march=rv32ec \
-mabi=ilp32e \
-I/usr/include/newlib \
-I$(CH32V003FUN) \
-nostdlib \
-I. -DCUSTOM_INTERRUPT_VECTOR
include ../../ch32v003fun/ch32v003fun.mk

LDFLAGS:=-T $(CH32V003FUN)/ch32v003fun-bootloader.ld -Wl,--gc-sections -L../../misc -lgcc

SYSTEM_C:=$(CH32V003FUN)/ch32v003fun.c

$(TARGET).elf : $(SYSTEM_C) $(TARGET).c
$(PREFIX)-gcc -o $@ $^ $(CFLAGS) $(LDFLAGS)

$(TARGET).bin : $(TARGET).elf
$(PREFIX)-size $^
$(PREFIX)-objdump -S $^ > $(TARGET).lst
$(PREFIX)-objdump -t $^ > $(TARGET).map
$(PREFIX)-objcopy -O binary $< $(TARGET).bin
$(PREFIX)-objcopy -O ihex $< $(TARGET).hex

flash : $(TARGET).bin
$(MINICHLINK)/minichlink -h -U -w $< bootloader -B

clean :
rm -rf $(TARGET).elf $(TARGET).bin $(TARGET).hex $(TARGET).lst $(TARGET).map $(TARGET).hex
all : flash
flash : cv_flash
clean : cv_clean

0 comments on commit d71a050

Please sign in to comment.