Keil5,Debug调试模式下,Connect& Reset Options的操作你真的懂了吗?

今天在完成一个新的项目时,很碰巧让我遇到了这个BUG问题,之前调试时,都不把这个操作放在眼里,都设置为Normal就OK了。看过其他帖子,解释的也很少,不是很详细,都说在SWD模式下,Debug菜单中,Reset菜单选项只需要将默认的AutoDetect,改成SysResetReq即可。可是具体问题,需要具体分析,而不是任何方法都适合你。(很幸运我这里根本就没有这个选项)。

由于本次项目所用到的板子是自己购买芯片,画PCB制作的,因此,遇到的问题就是JTAG中的SW接口能够识别到ARM芯片,但是,下载程序时,却不能下载,提示错误JTAG Error: Could not start CPU core. (ErrorCode: -1)。于是,后面检查了硬件的SW接口是否有虚焊,或者芯片是否被加密这些硬件原因,排除硬件原因之后,就来检查软件方面的原因,本次项目所使用的芯片型号为STM32L051C8T6,由于本次使用的是CubeMX生成项目,因此,首先检查了MX当中是否打开了调试串口,然后检查了SW的下载速率,然后,设置成下载速率为500kHz以下,200kHz,都能够下载成功,大于500kHz不能下载成功。

虽然,在这里我的问题并不是由于Connect& Reset Options中的操作设置引起的,但是,我还是非常想知道这里面的各个参数的含义到底是什么作用,最后,我找到了Keil官方的网站,看到了如下的解释。(英语好的可以自行翻译)

http://www.keil.com/support/man/docs/ulink2/ulink2_ctx_debug.htm#/connect

Connect(连接)

Normal:正常是停止当前CPU正在执行的指令后连接。

with Pre-reset(预复位):通过预复位,在连接到设备之前应用硬件复位(HW复位)。

under  Reset(保持复位):在复位下保持硬件复位(HW复位)信号在连接到设备时处于活动状态。当用户程序错误地禁用JTAG/SW接口时,请使用此选项。

Reset(复位)

Normal:

Core:系统复位。

Reset pin:通过复位引脚复位。

Connect under Reset:

Halt after BootLoader:引导加载程序在执行引导加载程序指令后停止CPU,并且仅对某些设备可用。

Halt before BootLoader:引导加载程序在执行引导加载程序指令前停止CPU,并且仅对某些设备可用。

Kinetis:

Core and Peripherals:

LPC1200:

其余的选项可以一起解释评论下,这些选项我也不是很清楚。

 

 

  • 19
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

唯心唯力

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

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

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

打赏作者

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

抵扣说明:

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

余额充值