页面加载中,请稍候
来源:芯播客发布时间:2023-01-131336浏览
询问 AI欢迎加入知识星球,带你全流程参与RISC-V SoC芯片开发。
本文将详细介绍RISC-V CPU调试机制的设计原理,架构如下图:
如胡振波老师所说,CPU调试机制可能比CPU core本身的调试还要费时间,cpu进入debug模式,此时pc应指向debug rom,在debug rom内,cpu会根据当前状态执行一段固定程序,程序入口包括entry、resume或exception。

entry的作用是将s0存入CSR_DSCRATCH寄存器、然后进行状态寄存器检查、s1存到debug ram最后位置(DEBUG_RAM + DEBUG_RAM_SIZE - 4)、接着程序跳入DEBUG_RAM。


调试需要通过debug ram完成,比如,要对SoC中的寄存器或内存进行写入操作,就需要先将如下程序和数据通过dtm写入到debug ram:

为什么RISC-V External Debug Support Version 0.11nov12这个spec规定32位的risc-v至少要28byte(7 words)的debug ram?
更多内容欢迎加入【全栈芯片工程师】知识星球,深入探讨CIS、MCU芯片设计。

执行完debug ram的4条指令后,继续循环上述过程,即resume,将0x0写入debug ram最后一个word里,告诉debugger程序执行OK,debugger从而继续往debug ram写入指令,直到debug完成,CPU退出debug并恢复dpc地址程序执行。更多内容欢迎加入【全栈芯片工程师】知识星球。
欢迎加入CIS、MCU技术交流群,先加我微信,我拉你进群!

新闻来源:芯播客,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
暂无评论哦,快来评论一下吧!

2026-06-17

2026-07-22