Keil运行stm32项目无法打断点调试

项目场景:

有个新同事接了外协写的STM32F429的项目,项目接过来编译和烧录都没问题,但是Debug调试时候没法打断点,没有灰色区域可以点断点,点击运行可以,但点暂停也没有停止黄色光标。debug模式下就如同这样
Keil运行stm32项目无法打断点调试_第1张图片


1、问题描述

根据上述现象,找了个示例项目运行是没问题的,说明跟编译器关系不大;可能是该项目的配置问题

A 、首先是想到没有勾选调试信息:

Keil运行stm32项目无法打断点调试_第2张图片
勾选编译还是不行,

B、后猜想是没有勾选猜想部分语句被编译器优化后,无法选择断点调试

Keil运行stm32项目无法打断点调试_第3张图片
选择优化等级为0或Default也都不行

C、最后试了Options-Debug选项中未设置“run to main”,以及Flash Download的Reset and Run也都不行。

Keil运行stm32项目无法打断点调试_第4张图片
Keil运行stm32项目无法打断点调试_第5张图片

D、最后TM发现输出命名的问题

Keil运行stm32项目无法打断点调试_第6张图片
将.hex后缀去掉,问题解决了
Keil运行stm32项目无法打断点调试_第7张图片

原因分析:

见上述D步骤,但是在国产GDF103芯片上好像没有这个问题,加上后缀.hex也可以调试,不过Keil软件左侧如下图所示的文件夹名称右键后选择options,去除“generate assembler SRC file”前的勾选好像是不能Debug。(这里四个勾都除了)
Keil运行stm32项目无法打断点调试_第8张图片


解决方案:

提示:这里给出两个参考连接:
这是另外一个博主的解决办法:https://blog.csdn.net/u012874587/article/details/117460712
另一个是keil官方的解决办法:https://developer.arm.com/documentation/ka004242/latest

你可能感兴趣的:(Bug日志,stm32,单片机,嵌入式硬件)