Keil使用Debug调试模式时出现的几种错误总结

本文总结了在使用Keil v4.60和J-Link调试STM32程序时遇到的常见错误,包括J-LINK clone问题、TCK错误、未发现CPU错误以及调试启动问题,并提供了详细的解决步骤。例如,通过替换JLinkARM.dll文件解决J-LINK clone问题,检查硬件连接和配置解决TCK错误,选择正确的Programming Algorithm来定位CPU,以及确保Use MicroLIB选项正确设置以避免因未实现的函数导致的问题。此外,还提到过多断点可能导致的BP could not be set!错误,可以通过减少断点或调整设置来解决。
摘要由CSDN通过智能技术生成

Keil版本:keil4V4.60      

调试器:j_link

1.在使用j-link下载程序时,target options中的debug选项中选择了j-link选项后,出现了J-LINK the connected emulator is a j-link clone问题,然后keil软件自行关闭。

解决方式:用SEGGER安装目录下的JLinkARM.dll替换掉MDK安装目录下的./ARM/Segger/JLinkARM.dll就可以了

2.出现了TCK (pin 9) low, but should be high. Please check target。。。的错误
解决方式:首先先检查原理图中是不是接错线了(就我而言,错的实在是太离谱,电源和地接反,而且BOOT0引脚完全没有接地),当我将这些个问题解决掉了之后,设置target options->Debug->右上角Use->Setting->Debug->Port选择SW选项。

3.在解决第二个问题之后,出现了未发现CPU的错误。
解决方式:这个问题的解决方式是在target options中的Utilities选项中点击Settings在Programming Algorithm选择框内添加芯片的类型(就我而言是STM32F10x 128K的)就行。

4.在debug模式下进行调试时,发现程序没有从main函数进行运行,而是一直在汇编代码BKPT那里停下,当点复位时,到了systemInit那里
解决方式:我在网上查找资料,一般的解决方式有以下的几种:
1&#x

### 回答1: Keil调试工具中,箭头通常用于指示当前执行的程序指令。如果在调试过程中没有箭头显示,可能是由以下几个原因引起的: 1. 程序未运行:在启动调试之前,需要先运行程序。请确保程序已经在调试器中正确地加载并开始运行。 2. 拖动到其他位置:有候,箭头可能会被无意中拖动到其他位置或者隐藏起来。你可以尝试点击调试工具中的“View”(查看)选项,然后选择“Arrow”(箭头)来重新显示箭头。 3. 调试器设置问题:如果以上方法都无法解决问题,可能是由于调试器的配置或者其他设置问题引起的。你可以尝试重新安装或者更新调试器软件,并检查调试器的设置选项是否正确。 4. 程序进入了异常状态:在某些情况下,程序可能会进入异常状态导致箭头无法正常显示。这可能是由于程序错误、死循环或者其他问题引起的。你可以尝试修改代码、重置程序或者使用调试工具中的其他功能来恢复程序状态,并重新开始调试过程。 如果问题仍然存在,你可以参考Keil调试工具的官方文档、论坛或者咨询技术支持来获取更详细的帮助和解决方案。 ### 回答2: Keil调试工具是一种广泛应用于嵌入式系统开发中的工具,它主要用于单片机的代码编写、调试和烧录等工作。但有候我们可能会遇到Keil调试界面没有箭头的情况,这会导致我们无法进行断点调试和单步执行等操作。 出现这种情况可能有以下几种原因: 1. 编译错误:如果代码存在语法错误或逻辑错误Keil可能无法正确识别并标记断点,因此调试界面没有箭头。这种情况下,我们需要检查代码并修复错误,重新编译。 2. 选项设置错误:在Keil的调试选项中,我们需要正确设置断点和单步执行等选项,如果设置错误,也会导致调试界面没有箭头。我们可以在调试选项中检查相关设置,并按需进行修改。 3. 调试模式错误Keil提供了多种调试模式,如仿真模式、硬件调试模式等。如果我们选择了不支持当前硬件环境的调试模式,就可能出现没有箭头的情况。我们需要确保选择了正确的调试模式来进行调试。 解决这个问题的方法有: 1. 检查代码和编译:我们可以仔细检查代码,解决其中的语法错误和逻辑错误。然后重新编译代码,确保没有错误。 2. 检查调试选项:在Keil的调试选项中,我们可以检查并确保设置了正确的断点和单步执行选项。如果有必要,进行适当的修改。 3. 检查调试模式:在Keil调试模式中,我们需要选择适合当前硬件环境的调试模式。如果需要,我们可以尝试切换不同的调试模式,看是否能够解决没有箭头的问题。 总之,Keil调试界面没有箭头可能是由于代码错误、选项设置错误调试模式错误等原因所致。通过检查和调整这些方面,我们可以尝试解决这个问题,并成功进行代码调试。 ### 回答3: 当Keil调试器中没有箭头,可能是由于以下几种情况导致的: 1. 没有设置程序断点:在程序中设置断点是调试的基本方式之一。如果没有设置断点,程序会一直执行下去,不会停留在指定的位置。通过在代码中点击行号来设置断点,或者通过快捷键F9设置断点。 2. 程序没有执行到断点:如果程序没有执行到设置的断点位置,调试器将不会显示箭头。这可能是由于程序逻辑错误、循环错误、没有正确触发断点的条件等原因导致的。需要检查程序的逻辑,确保能够到达设置的断点。 3. 调试器未正确连接到目标设备:如果目标设备没有正确连接到Keil调试器,调试器将无法与设备通信,因此无法显示箭头。这可能是由于硬件连接问题、调试器设置错误等原因导致的。需要检查硬件连接是否正确,重新设置调试器选项。 4. 调试器配置错误:如果调试器的配置错误,可能导致无法正常显示箭头。在Keil中,可以通过选择“Options”菜单中的“Debug”选项来打开调试器配置界面,检查调试器选项是否正确设置。 综上所述,当Keil调试没有箭头,可以检查是否设置了断点、程序是否执行到断点、是否正确连接到目标设备以及调试器的配置等方面。根据具体情况进行排查和调整,以确保调试器能够正常显示箭头并进行调试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值