OpenOCD 软复位和硬件复位

OpenOCD srst trst和芯片srst,hrst之间的关系

场景

Eclipse->GDB->OpenOCD 二次开发
写上位机的小伙伴被要求提供芯片视角的软件复位和硬件复位
而OPENOCD软件上提供了各种rst,包括但不限于
- nsrst
- ntrst
- trst
- srst
以及配合各种halt,run,resume的组合命令

问题

到底哪一条对应软件复位?哪一条对应硬件复位呢?

答案

目前看来,默认的reset 使用硬件复位
只有software_reset_halt 使用了软件复位

分析

要抓到这个根据,有两个方法

  1. 比对芯片数据手册复位域,在软复位和硬件复位之间下指令修改寄存器值。下发指令测试确认寄存器是否被复位,则可以很快跟踪到哪条指令对应哪个复位
  2. 拆openocd源码,跟踪reset的具体实现,最终会映射到jtag基本指令上。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

idk500

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值