JLINK 调试报错 JLink Error: Can not read register 解决办法

当使用Keil5和JLINK进行STM32调试时遇到JLink错误,如无法读取寄存器,可尝试以下步骤解决:1. 先下载程序至芯片;2. 检查并降低JLINK的SW调试频率至1MHz;3. 在DEBUG设置中选择匹配芯片的配置。此外,调试时注意设置编译优化级别为LEVEL 0,以避免因优化导致无法观察局部变量。
摘要由CSDN通过智能技术生成


Keil5  JLINK调试报如下错误,解决步骤如下:

1、编译好之后,请先不要着急点击启动调试的按钮,而是点击Download, 先把程序下载到芯片里;

2、检查JLINK的SW调试模式的频率,有可能是频率太大了, 默认是2MHz, 修改为1MHz就好了;

3、在 Options  for  Target中,选择DEBUG选项卡, 然后选择 J-LINK/J-TRACE Cortex,点击 Settings, 在弹出窗口中选择 FLASH DOWNLOAD选项卡,然后要根据芯片的型号和FLASH的尺寸, 选择一个和你的芯片匹配的配置,默认是1M的FLASH,  我的芯片是512K的


另外还有一个调试时要注意的小地方就是,  你调试的时候, 设置了断点, 可能只能 watch 全局变量, 不能watch局部变量, 原因是编译器优化了代码。

需要在   Options  for  Target  ‘STM32...' 的C/C++选型夏, 找到  Optimization , 设置 编译优化选型为  LEVEL 0 (-O0)。


**JLink Warning: CPU could not be halted
***JLink Error: Can not read register 15 (R15) while CPU is running
***JLink Error: Can not read register 16 (XPSR) while CPU is running
***JLink Error: Can not read register 0 (R0) while CPU is running
***JLink Error: Can not read register 1 (R1) while CPU is running
***JLink Error: Can not read register 2 (R2) while CPU is running
***JLink Error: C

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

langeldep

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

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

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

打赏作者

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

抵扣说明:

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

余额充值