在C语言中main函数之外定义extern int lwhw(int add1,int add2);
汇编文件如下
.file Add.S
.section .text
.globl Add
.type Add,@function
Add:
nop
nop
nop
nop
nop
li a0, 255
li a0, 255
li a0, 255
li a0, 255
li a0, 255
lw a1,a0
lw a1,a0
lw a1,a0
lw a1,a0
lw a1,a0
lw a1,a0
ret
在project中可以看到该文件在src目录下。
编译时日志如下(报错):
riscv64-unknown-elf-gcc -o Obj/gpio_toggle.elf -nostartfiles -Wl,--gc-sections -lm -Wl,-zmax-page-size=1024 -Wl,-Map="yoc.map" -Wl,-Map=.//Lst/gpio_toggle.map @gpio_toggle.txt -nostartfiles -Wl,--gc-sections -T../../../../boards/alkaid_evb/v1.0/gcc_flash.ld -mabi=ilp32 -march=rv32imacxthead -L./Obj -L../../../../components/mm/v1.0/lib -L../../../../components/csi/v1.0/lib -L../../../../components/console/v1.0/lib -L../../../../components/minilibc/v1.0/lib -L../../../../boards/alkaid_evb/v1.0/lib -L../../../../components/chips/chip_alkaid/v1.0/lib -Wl,--whole-archive -lmm -lcsi -lconsole -lminilibc -lalkaid_evb -lchip_alkaid -Wl,--no-whole-archive
d:/app/c-sky/csky/mingw/riscv64-unknown-elf-toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.1.0/../../../../riscv64-unknown-elf/bin/ld.exe:Obj/chip_config.o: file format not recognized; treating as linker script
d:/app/c-sky/csky/mingw/riscv64-unknown-elf-toolchain/bin/../lib/gcc/riscv64-unknown-elf/8.1.0/../../../../riscv64-unknown-elf/bin/ld.exe:Obj/chip_config.o:1: syntax error
collect2.exe: error: ld returned 1 exit status
make[1]: *** [Obj/gpio_toggle] Error 1
make: *** [All] Error 2
gpio_toggle.mk:86: recipe for target 'Obj/gpio_toggle' failed
make[1]: Leaving directory 'D:/RISC-V/alkaid_evb_v2.3.0_cdk_2020-08-24-19_44_20/alkaid_evb_v2.3.0_cdk/projects/drivers/gpio/gpio_toggle'
Makefile:4: recipe for target 'All' failed
====1 errors, 0 warnings, total time : 627ms====