新闻  |   论坛  |   博客  |   在线研讨会
如何使用J-Link和Embedded Studio读写RISC-V处理器的CSR?
13261589816 | 2022-12-09 15:47:39    阅读:709   发布文章

CSR简介


RISC-V 架构的控制和状态寄存器(Control and Status Register, CSR),用于配置或记录一些处理器核的运行状态。CSR寄存器是处理器核内部的寄存器,使用其专有的12位地址编码空间,数量最多有4096个。所以访问CSR寄存器需要使用特殊的指令。

RISC-V定义了以下几种CSR访问指令:

图片

CSR除了RSC-V标准的CSR之外,芯片厂商可能还会添加自定义的CSR,用于实现一些特别功能。例如芯来科技的Bumblebee内核就扩展了数个CSR用于处理中断嵌套,记录处理器当前的异常类型等。

RISC-V的可扩展特性给了厂商比较大的灵活性,可扩展特性也引起了碎片化的问题。这个问题确实是存在的,只有当软硬件工具都提供了一种机制能够灵活的来适应不同的厂商,才能消除这个因素带来的影响。


J-Link访问CSR寄存器


J-Link从6.48 r1开始,支持了读写CSR。于是在对RISC-V处理器进行调试时,就很方便了。不论是标准的CSR,还是厂商自定义的CSR,只需要给出它的地址即可实现读或写操作。在此之前只能通过IDE的调试系统查看标准的CSR,而自定义CSR则无法在IDE调试窗口中查看。

图片

下面以GD32VF103这颗MCU为例,使用J-Link调试器以及J-Link Commander软件工具来读写标准和自定义CSR。GD32VF103使用的是芯来科技的Bumblebee内核,下面先在代码中触发一个EXTI线0中断,然后通过J-Link读取标准CSR中的mcause寄存器:

图片

从mcause寄存器可以看到,当EXTI线0中断触发,bit31应该是1,bit11:0应该是其中断编号,从GD32VF103的手册中确认是25,也就是0x19。

图片

在EXTI0的中断服务程序中加一个断点,让CPU在此暂停执行。

图片

然后通过J-Link Commander连上MCU,通过ReadCSR命令读取macuse(地址0x342):

图片

可以确认读取CSR成功。

下面通过J-Link来写厂商自定义CSR。mcountinhibit(地址0x320)是Bumblebee内核提供的一个自定义CSR,用于开启和关闭RISC-V核内定时器和CPU计数器。

图片

通过WriteCSR命令,对mcountinhibit的CY位置位,关闭mcycle:

图片

在IDE中可以,再次运行代码可以发现mcycle定时器的值不再变化,说明关闭成功。再次置零,mcycle的值又会变化。

图片


Segger Embedded Studio中查看自定义CSR


Segger Embedded Studio是一个支持ARM和RISC-V架构的IDE,具有功能强,运行速度快等优点。从Embedded Studio for RISC-V v6.12a版本开始,用户可以添加厂商自定义的CSR。其中,针对RISC-V内核CSR,在安装路径的targets目录下的cpu_registers_riscv.xml文件描述了当前处理器支持的CSR。

图片

通过修改这个文件可以添加厂商自定义CSR。将这个文件复制到工程路径下面,进行修改。这里添加Bumblebee内核的msubm寄存器,其指示当异常发生时异常的类型。

图片

在cpu_registers_riscv.xml文件的最后面添加上对msubm寄存器的描述,并将Group命名为Customized CSRs:BumbleBee。

图片

然后在Embedded Studio进入调试后,在寄存器窗口可以看到添加的自定义Group,将其使能。

图片

当中断发生时,可从寄存器窗口看到msubm寄存器的TYP域的值变成了1,指示当前发生的是中断。

图片

当异常触发时,TYP域的值变成了2,指示当前发生的是系统异常。

图片

SEGGER的J-Link和Embedded Studio工具都针对RISC-V的CSR寄存器提供了读写功能,方便用户在使用不同厂家的MCU时提高调试的效率。如果你在使用RISC-V架构的处理器,并且有J-Link的话,不妨一试。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
北京麦克泰软件技术有限公司(中文简称麦克泰,英文简称 BMR)成立于1995年, 是国内专业的嵌入式系统软件企业,与世界领先的嵌入式软件供应商合作有二十多年的时间,为嵌入式研发提供丰富的工具,软件,解决方案和培训服务。
推荐文章
最近访客