完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
/** 中断处理函数 */void Ecall_M_Mode_Handler(void) __attribute__((interrupt("machine")));void Ecall_U_Mode_Handler(void) __attribute__((interrupt("machine")));void Ecall_M_Mode_Handler(void){;}void Ecall_U_Mode_Handler(void){;}/** main函数 */int main(void){asm("ecalln");while(1);}上面的代码在触发中断后,
会返回到main函数,再执行一遍 ecall指令,导致不断触发ecall中断! |
|
相关推荐
1个回答
|
|
您好,如果异常由ecall或ebreak产生,由于mepc的值被更新为ecall或ebreak指令自己的PC。因此在异常返回时,如果直接使用mepc保存的PC值作为返回地址,则会再次跳回ecall或者ebreak指令,从而造成死循环(执行ecall或ebreak指令导致重新进入异常)。
|
|
|
|
只有小组成员才能发言,加入小组>>
522 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2903 浏览 2 评论
2399 浏览 1 评论
868浏览 2评论
688浏览 1评论
riscv-none-embed-objcopy: \'PWM_Output.elf\': No such file这个咋解决,
418浏览 1评论
523浏览 1评论
请教一下,Mounriver 编译不成功:找不到库文件,怎么整
814浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 14:13 , Processed in 1.367538 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号