R128 Vector支持
- 
					
					
					
					
 因为CFFT时间很长,尝试使用Vector优化,R128 打开Vector支持后编译出错,提示在memcpy_vector.s中指令非法?这个怎么破? 
- 
					
					
					
					
 请贴出编译日志。 
- 
					
					
					
					
 @awwwwa 如下,谢谢 
 build rtos ...
 Dark Builder
 Version (1.6.0 - BiCEP2 (Gravitational Waves))
 [CONF] [Tina-RT-Builder] .dbuild/..//include/generated/r128s2_devkit_c906/autoconf.h
 AS build/r128s2_devkit_c906/arch/risc-v/c906/memcpy_vector.o
 AS build/r128s2_devkit_c906/kernel/FreeRTOS-orig/Source/portable/GCC/RISC-V/portASM_C906.o
 arch/risc-v/c906/memcpy_vector.S: Assembler messages:
 arch/risc-v/c906/memcpy_vector.S:54: 错误: unrecognized opcodevsetvli t0,a2,e8,m8' arch/risc-v/c906/memcpy_vector.S:54: 错误: unrecognized opcodevle.v v0,(a1)'
 arch/risc-v/c906/memcpy_vector.S:54: 错误: unrecognized opcodevse.v v0,(a3)' arch/risc-v/c906/memcpy_vector.S:70: 错误: unrecognized opcodevsetvli t0,a2,e8,m4'
 arch/risc-v/c906/memcpy_vector.S:70: 错误: unrecognized opcodevle.v v0,(a1)' arch/risc-v/c906/memcpy_vector.S:70: 错误: unrecognized opcodevse.v v0,(a3)'
 arch/risc-v/c906/memcpy_vector.S:86: 错误: unrecognized opcodevsetvli t0,a2,e8,m2' arch/risc-v/c906/memcpy_vector.S:86: 错误: unrecognized opcodevle.v v0,(a1)'
 arch/risc-v/c906/memcpy_vector.S:86: 错误: unrecognized opcodevse.v v0,(a3)' arch/risc-v/c906/memcpy_vector.S:102: 错误: unrecognized opcodevsetvli t0,a2,e8,m1'
 arch/risc-v/c906/memcpy_vector.S:102: 错误: unrecognized opcodevle.v v0,(a1)' arch/risc-v/c906/memcpy_vector.S:102: 错误: unrecognized opcodevse.v v0,(a3)'
 arch/risc-v/c906/memcpy_vector.S:120: 错误: unrecognized opcodevsetvli t0,a2,e8,m8' arch/risc-v/c906/memcpy_vector.S:120: 错误: unrecognized opcodevle.v v0,(a1)'
 arch/risc-v/c906/memcpy_vector.S:120: 错误: unrecognized opcodevse.v v0,(a3)' arch/risc-v/c906/memcpy_vector.S:127: 错误: unrecognized opcodevsetvli t0,a2,e8,m4'
 arch/risc-v/c906/memcpy_vector.S:127: 错误: unrecognized opcodevle.v v0,(a1)' arch/risc-v/c906/memcpy_vector.S:127: 错误: unrecognized opcodevse.v v0,(a3)'
 arch/risc-v/c906/memcpy_vector.S:133: 错误: unrecognized opcodevsetvli t0,x0,e64,m1' arch/risc-v/c906/memcpy_vector.S:134: 错误: unrecognized opcodevmxor.mm v0,v0,v0'
 arch/risc-v/c906/memcpy_vector.S:135: 错误: unrecognized opcodevmv.s.x v0,a4' arch/risc-v/c906/memcpy_vector.S:136: 错误: unrecognized opcodevmsbf.m v0,v0'
 arch/risc-v/c906/memcpy_vector.S:137: 错误: unrecognized opcodevsetvli t0,x0,e8,m4' arch/risc-v/c906/memcpy_vector.S:138: 错误: unrecognized opcodevle.v v8,(a1),v0.t'
 arch/risc-v/c906/memcpy_vector.S:139: 错误: unrecognized opcodevse.v v8,(a3),v0.t' kernel/FreeRTOS-orig/Source/portable/GCC/RISC-V/portASM_C906.S: Assembler messages: kernel/FreeRTOS-orig/Source/portable/GCC/RISC-V/portASM_C906.S:392: 错误: unrecognized opcodevsetvli t4,x0,e8,m8'
 kernel/FreeRTOS-orig/Source/portable/GCC/RISC-V/portASM_C906.S:393: 错误: unrecognized opcodevse.v v0,(a0)' kernel/FreeRTOS-orig/Source/portable/GCC/RISC-V/portASM_C906.S:395: 错误: unrecognized opcodevse.v v8,(a0)'
 kernel/FreeRTOS-orig/Source/portable/GCC/RISC-V/portASM_C906.S:397: 错误: unrecognized opcodevse.v v16,(a0)' kernel/FreeRTOS-orig/Source/portable/GCC/RISC-V/portASM_C906.S:399: 错误: unrecognized opcodevse.v v24,(a0)'
 arch/risc-v/c906/memcpy_vector.S:265: 错误: unrecognized opcodevsetvli zero,zero,e8,m2,d1' arch/risc-v/c906/memcpy_vector.S:267: 错误: unrecognized opcodevle.v v8,(a5)'
 arch/risc-v/c906/memcpy_vector.S:268: 错误: unrecognized opcodevse.v v8,(a4)' kernel/FreeRTOS-orig/Source/portable/GCC/RISC-V/portASM_C906.S:728: 错误: unrecognized opcodevsetvli t4,x0,e8,m8'
 kernel/FreeRTOS-orig/Source/portable/GCC/RISC-V/portASM_C906.S:729: 错误: unrecognized opcodevle.v v0,(a0)' kernel/FreeRTOS-orig/Source/portable/GCC/RISC-V/portASM_C906.S:731: 错误: unrecognized opcodevle.v v8,(a0)'
 kernel/FreeRTOS-orig/Source/portable/GCC/RISC-V/portASM_C906.S:733: 错误: unrecognized opcodevle.v v16,(a0)' kernel/FreeRTOS-orig/Source/portable/GCC/RISC-V/portASM_C906.S:735: 错误: unrecognized opcodevle.v v24,(a0)'
 kernel/FreeRTOS-orig/Source/portable/GCC/RISC-V/portASM_C906.S:740: 错误: unrecognized opcode `vsetvl t4,t1,t0'
 LD build/r128s2_devkit_c906/kernel/FreeRTOS-orig/obj-in.o
 LD build/r128s2_devkit_c906/arch/risc-v/c906/obj-in.o
 tools/riscv64-elf-x86_64-20201104/bin/riscv64-unknown-elf-ar: build/r128s2_devkit_c906/kernel/FreeRTOS-orig/Source/portable/GCC/RISC-V/portASM_C906.o: 没有那个文件或目录
 make[2]: *** [scripts/build/Makefile.build:189:build/r128s2_devkit_c906/kernel/FreeRTOS-orig/obj-in.o] 错误 1
 tools/riscv64-elf-x86_64-20201104/bin/riscv64-unknown-elf-ar: build/r128s2_devkit_c906/arch/risc-v/c906/memcpy_vector.o: 没有那个文件或目录
 make[1]: *** [/home/layzerlee/Desktop/work/R128-FreeRTOS_v0.9/R128-FreeRTOS/SDK/lichee/rtos/scripts/build/Makefile.build:183:FreeRTOS-orig] 错误 2
 make[3]: *** [scripts/build/Makefile.build:189:build/r128s2_devkit_c906/arch/risc-v/c906/obj-in.o] 错误 1
 make[2]: *** [scripts/build/Makefile.build:183:c906] 错误 2
 make[1]: *** [/home/layzerlee/Desktop/work/R128-FreeRTOS_v0.9/R128-FreeRTOS/SDK/lichee/rtos/scripts/build/Makefile.build:183:risc-v] 错误 2
 make: *** [/home/layzerlee/Desktop/work/R128-FreeRTOS_v0.9/R128-FreeRTOS/SDK/lichee/rtos/.dbuild/dbuild.mk:222:/home/layzerlee/Desktop/work/R128-FreeRTOS_v0.9/R128-FreeRTOS/SDK/lichee/rtos/build/r128s2_devkit_c906/arch/obj-in.o] 错误 2
 make: *** 正在等待未完成的任务....
 make: *** [/home/layzerlee/Desktop/work/R128-FreeRTOS_v0.9/R128-FreeRTOS/SDK/lichee/rtos/.dbuild/dbuild.mk:222:/home/layzerlee/Desktop/work/R128-FreeRTOS_v0.9/R128-FreeRTOS/SDK/lichee/rtos/build/r128s2_devkit_c906/kernel/obj-in.o] 错误 2
 ******* XRADIO_DIRS=common tinycrypt/source porting net nvs ******* 
 make rtos fail* 
- 
					
					
					
					
 @layzerlee 需要修改编译参数加上v扩展支持 CONFIG_TOOLCHAIN_MACH_FLAGS="-mcmodel=medany -mabi=lp64dv -march=rv64gcxvthead" CONFIG_TOOLCHAIN_FPU_ABI="-march=rv64gcxvthead"
- 
					
					
					
					
 好呢,感谢!我试试  
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号