[发明专利]RISC-V内核MCU调试的下载程序方法及调试器有效
申请号: | 202111560421.6 | 申请日: | 2021-12-20 |
公开(公告)号: | CN113946481B | 公开(公告)日: | 2022-03-18 |
发明(设计)人: | 张远伟;杨岩 | 申请(专利权)人: | 南京瑞斯科微控制器研究院有限公司 |
主分类号: | G06F11/263 | 分类号: | G06F11/263;G06F8/61 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210012 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | risc 内核 mcu 调试 下载 程序 方法 | ||
本发明公开了一种RISC‑V内核MCU调试的下载程序方法及调试器,在调试模式下,调试器将特定程序写入MCU的RAM中,特定程序包括擦除函数、编程函数及校验函数;MCU在调试模式和工作模式间不断循环切换,以此完成被调试程序的全部下载;在调试模式下,调试器将执行函数的参数写入RAM中,将dpc寄存器中的值改为执行函数的起始地址,设置dmcontrol寄存器使MCU进入工作模式;在工作模式下,根据dpc寄存器中的值执行特定程序的相应函数,将执行结果写入RAM,执行函数以ebreak指令结尾,当执行到ebreak时,MCU从工作模式进入调试模式。本发明加快了被调试程序的下载速度,提高调试效率。
技术领域
本发明提供一种微处理器内核调试方法,尤其涉及一种RISC-V内核MCU调试的下载程序方法及调试器。
背景技术
微处理器内核下载程序的方式有很多种,如ISP、IAP等,可以通过USB、串口、网口等接口下载到MCU中。但对于被调试程序来说,只能通过专门的调试接口把程序下载到MCU内。
正常的开发调试下载流程为:代码编写完成编译成二进制文件,将二进制文件下载到MCU内,验证程序是否正常。设置断点,跟踪程序执行时的相关变量。如果发现程序有问题的话,先修改程序,再将程序下载到MCU内,验证修改的结果是否正常。这样返回循环测试,如果调试时下载速度慢的话,就会影响开发人员的工作效率,目前传统的下载方式是由调试器通过写入Program Buffer寄存器来执行对FLASH相关寄存器的操作,具体实现方式参考“RISC-V External Debug Support”的Reading Memory和Writing Memory,在MCU工作模式下的一条指令lw s0, 0(s0),在调试模式下需要6条指令才可实现。不同的指令就需要不停的切换Program Buffer中的内容。
RISC-V内核具有工作模式和调试模式两种工作模式,一般情况下,程序都是在FLASH或者RAM中执行,当调试器发指令让MCU进入暂停,或者MCU执行到ebreak指令时,MCU进入调试模式,dpc寄存器保存MCU进入暂停状态时的PC值。当调试器让MCU从调试状态恢复到工作状态时,将dpc寄存器中的值恢复到PC中,MCU从PC中读取指令执行。
目前现有的RISC-V芯片调试下载程序方案都是在MCU的调试模式下执行的,主要通过调试器+link实现。调试器先通过link将被调试MCU设置成暂停状态;将被调试MCU要执行的指令通过link发送到被调试MCU的Program Buffer寄存器,一般情况下ProgramBuffer中都是执行对其他外设寄存器的读写,对MCU内存的读写等操作;被调试MCU执行完Program Buffer后进入暂停状态,等待调试器的下步指令。下载时需要不停的调用外设寄存器的读写来控制FLASH控制器,将要运行的程序,编程到芯片内部FLASH。
RISC-V调试规范提供的Program Buffer很小,最大是32字节,只能对寄存器这一级别进行读写操作,而擦除、编程、校验等操作很多FLASH控制器的寄存器。每次操作不同的FLASH控制器的外设寄存器时,都需要将不同的指令下载到Program Buffer中执行,所以下载的速度非常慢。
发明内容
发明目的:为了解决现有技术中RISC-V内核MCU调试时下载程序速度太慢,极大影响调试效率的问题,本发明提供一种RISC-V内核MCU调试的下载程序方法。
本发明另一目的是提供一种RISC-V内核MCU的调试器。
技术方案:一种RISC-V内核MCU调试的下载程序方法,包括以下步骤:
MCU进入调试模式,调试器将特定程序写入MCU的RAM中,所述特定程序包括擦除函数、编程函数及校验函数,至少在校验函数末尾设有ebreak指令;
MCU在调试模式和工作模式间不断循环切换,以此完成被调试程序的全部下载;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京瑞斯科微控制器研究院有限公司,未经南京瑞斯科微控制器研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111560421.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种惯性器件的高阶误差系数的辨识方法
- 下一篇:雷达杂波信号的模拟装置及方法