学习开发一个RISC-V上的操作系统(汪辰老师)—unrecognizedopcode`csrrt0,mhart
- 人工智能
- 2025-08-17 22:24:02

前言
(1)此系列文章是跟着汪辰老师的RISC-V课程所记录的学习笔记。 (2)该课程相关代码gitee链接; (3)PLCT实验室实习生长期招聘:招聘信息链接
正文(1)在跟着汪辰老师做OS文件夹的实验时候,我先使用make clean将文件清空,然后再使用make编译出现了如下报错
riscv64-unknown-elf-gcc -nostdlib -fno-builtin -march=rv32ima -mabi=ilp32 -g -Wall -c -o start.o start.S start.S: Assembler messages: start.S:11: 错误:unrecognized opcode `csrr t0,mhartid'(2)修改方法也很简单
cd ../.. vim common.mk # -march=rv32ima 修改为 -march=rv32g(3)个人猜测的原因,因为汪辰老师使用的老版本的RISC-V编译器,而新版本的编译器有所更新。所以会导致出现不兼容的特性。 (3)在老师的第二章课程里面,也说了,g == imafd 。经过测试发现csrr 指令是在f指令集里面的。
参考文章(1)在01-helloRVOS中使用make debug报错 unrecognized opcode; (2)汪辰老师第二章课件;
学习开发一个RISC-V上的操作系统(汪辰老师)—unrecognizedopcode`csrrt0,mhart由讯客互联人工智能栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“学习开发一个RISC-V上的操作系统(汪辰老师)—unrecognizedopcode`csrrt0,mhart”
上一篇
Python之字符串格式化