21ic问答首页 - RISC-V核MCU在线下载调试代码疑问
RISC-V核MCU在线下载调试代码疑问
lindahnu2024-04-03
本帖最后由 lindahnu 于 2024-4-8 15:44 编辑
使用eclipse+jlink实现自研MCU在线下载调试代码,MCU核是cortex-m0,调试接口是jtag,要烧写内部Flash,实现openocd和SEGGER的flashloader。后面要换成RISC-V核,是不是不用管IP核是哪个厂家,只要满足烧写flash和有jtag接口,就可以按M0核的方法实现在线调试?
像GD32VF103用芯来科技的RISC-V核,有jtag接口,SEGGER是支持芯来科技的IP核才能使用JLINK调试?
使用eclipse+jlink实现自研MCU在线下载调试代码,MCU核是cortex-m0,调试接口是jtag,要烧写内部Flash,实现openocd和SEGGER的flashloader。后面要换成RISC-V核,是不是不用管IP核是哪个厂家,只要满足烧写flash和有jtag接口,就可以按M0核的方法实现在线调试?
像GD32VF103用芯来科技的RISC-V核,有jtag接口,SEGGER是支持芯来科技的IP核才能使用JLINK调试?
赞0
以前用厂家给的bsdl文件,移植了个开源的软件,通过jtag,控制io脚拉高拉低来烧写外置flash的。
效率太低了。JTAG链每次改一个寄存器要操作一千多拍。
现在都是先下载一段代码到ram里面,然后从ram中执行来下载flash。
代码写寄存器就是一条指令,用过之后就再也不想模拟io了。
但是唯一的缺点是代码和cpu内核有关。改GPIO的话就是方向寄存器和数据寄存器,和CPU的ip core无关。
评论
2024-04-14
赞0
内核实际能看到的内容很有限的,调试的时候经常希望看到外设的寄存器,比如你调试串口,要看某个状态,环境支持的话你直接就能找个这个寄存器并且每个bit都定义好了,环境不支持的话你只能通过地址去看寄存器的值,而且每个bit你还要对照手册去看是什么含义。
评论
2024-04-12
赞0
我看SEGGER Embedded Studio 8.10b里是有RISCV核的选择,eclipse里也有,环境不支持的外设寄存器是什么意思?
评论
2024-04-07
赞0
就是烧写代码到内部flash,IP核厂商支持jtag接口是不是就能用SEGGER Jlink和openocd+jlink调试?
评论
2024-04-07
赞0
您的意思是IP核厂商设计的RISCV核,JTAG接口协议和SEGGER Jlink不一样就不能用?openocd上也不能用?我糊涂了,JTAG不是标准协议吗?
评论
2024-04-07
赞0
评论
2024-04-04
赞0
如果是加速版本,先把数据用 jtag 写到内存,再把程序写到内存,执行程序完成 nor 写入。这种常用于 nand 写入。需要用对应的程序。
一般是用芯片公司推荐的仿真器+openocd 来完成
评论
2024-04-04
赞0
评论
2024-04-04
您需要登录后才可以回复 登录 | 注册