之前调试出现一个问题,编译好程序再点击keil5的Debug选项,发现keil无法进行步进调试。
上面圈住的部分显示Debug进入之后,连程序执行的显示选择区域的颜色显示都没有。
然后看了一些博友的文章,是Options for Target的debug没有设置正确,以及对应的FLASH芯片算法也不正确,我在按照步骤操作之后,发现软件的debug功能还是不正常。
图片证明我J-link硬件识别到了MCU,一般来看都是正常的状态。
J-link通过边界扫描技术,通过边界扫描寄存器来进行控制MCU的IO口,继而实现DEBUG功能。具体详细解释请看JTAG技术详解,此处不在赘述
JLINK设置有问题
后续我发现原来是调试软件里面芯片选择有问题,来实现程序的debug调试功能。每次进入DEBUG之后, 屏幕右下角会有绿色的Jlink的蓝色标志。程序下载的时候是绿色,DEBUG的时候是蓝色的。
- 点击进入DEBUG设置:
在setting界面设置芯片型号
- 选择正确芯片型号:
因为选择时候软件显示的一些问题,所以此处选择芯片可以用PG DN 与PG UP两个快捷键快速的选择芯片。
- 设置后重启J-LINK:
MDK没有打开debug选项
发现我的debug选项被我关掉了
进入debug模式发现无法使用断点执行等操作
我打开这个编译选项,再次进行编译就好了
此时可以明显看到DEBUG模式下程序左边栏可以进行断点选择以及程序可执行的区域。
希望可以帮到大家。