Menu Close

RISC-V C语言编程2(3)中断及定时器中断工程-5

主讲老师:YVONNE、William、Tim Zhuang

本文隐藏内容 登陆 后才可以浏览

Posted in RISC-V教学视频
0 0 投票数
Article Rating
订阅评论
提醒
guest
3 评论
最新
最久 最赞
内联反馈
查看所有评论
wangff
wangff
7 天 前

学习本节课后有几点收获,1、mie寄存器设置MTIE的对应bit位为1(set_csr(mie,MIP_MTIP));2、mstatus寄存器设置MIE的对应bit位为1(write_csr(mstatus,MSTATUS_MIE));3、为timer控制寄存器赋值,开启timer计数;4、trap_entry函数中为32个通用寄存器压栈,需要在栈中分配32个4字节空间,将栈指针sp修改为sp=sp-32*4;5、在汇编语言中使用a0、a1(约定)作为handle_trap函数的mcause、epc参数传递。

在学习中遇到几点问题,请老师解答:
1、在函数trap_entry中的压栈方法, sw x31,31*REGBYTES(sp) ,这个表达式的“31*REGBYTES(sp)”部分是否等于(31*REGBYTES)+sp ?

Yvonne
管理员
5 天 前
回复给  wangff

对,可以这样理解,但是需要注意GCC的编译器能解析的指令格式。

wangff
wangff
5 天 前
回复给  Yvonne

好的,谢谢老师!

相关链接