完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
配置pmp,spmp模块的区域范围是4G,并且权限都是rwx,在机器模式下都是正常运行的,但切换到用户模式就会触发异常Instruction page fault,这个是什么原因呢?
void JumpUserMode(uint32_t func){ __RV_CSR_WRITE(CSR_MSCRATCH, sMachineModeStack + MACHINE_MODE_STACK_SIZE); __RV_CSR_CLEAR(CSR_MSTATUS, MSTATUS_MPP); __RV_CSR_WRITE(CSR_MEPC, func); __ASM volatile ( "mret ");}/** * @brief Main function */int main(void) { /* System Clocks Configuration */ PMP_Config(); JumpUserMode((uint32_t)Led); while (1) { LedBlink(LED2_PORT, LED2_PIN); delay_ms(1000); }} |
|
相关推荐
1个回答
|
|
|
在切换至用户模式时触发指令页故障(Instruction page fault)的可能原因及解决方法如下: 1. PMP/sPMP 配置问题
2. 切换流程缺陷
3. CSR 状态配置
4. 其他可能原因
调试建议
修正代码示例确保 |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【作品合集】玄铁BPI-CanMV-K230D-Zero开发板测评
3147 浏览 0 评论
【作品合集】玄铁Banana Pi BPI-RV2开发板测评
1713 浏览 0 评论
29112 浏览 0 评论
【作品合集】矽速科技Sipeed MaixCAM Pro开发板测评
35482 浏览 0 评论
【作品合集】赛昉科技VisionFive 2单板计算机开发板测评
38611 浏览 0 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-13 10:20 , Processed in 0.705174 second(s), Total 73, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
378