在用stlink时,想用调试,结果点start debug session 后直接跳转到了LDR 汇编这里,并且左上角的单步调试等按钮都是灰的,可不可以帮我看看是我代码问题还是硬件有问题,还是哪里配置错了。先提前谢谢各位了。
用的代码是cubemx生成的
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_14,GPIO_PIN_RESET);
HAL_Delay(200);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_14,GPIO_PIN_SET);
HAL_Delay(200)
实现闪烁。
当我烧录进去后,在想调试,就直接跳到了这里(位于startup_stm32f103x6.s)
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_14,GPIO_PIN_RESET);
HAL_Delay(200);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_14,GPIO_PIN_SET);
HAL_Delay(200);
keil5debug无法进行调试
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
檀越@新空间 2024-04-06 14:54关注下午好🌅🌅🌅
本答案参考ChatGPT-3.5看起来问题出在你的代码中,因为调试器无法在你的代码中停下来进行单步调试,而是跳转到了汇编代码中。
以下是我能想到的解决方案:
-
检查调试器的配置是否正确。如果您使用的是Keil IDE进行调试,则需要正确配置调试选项。请确保已正确指定了要使用的调试器和目标设备,并启用了调试模式。
-
确认将正确的调试信息编译到了代码中。尝试使用带有调试信息的编译器选项重新编译代码,并确保已正确地指定了调试选项。
-
修改代码,避免使用延时函数。在使用延时函数时,可能会导致调试器出现问题。尝试使用其他方法来实现等待时间,如使用定时器。
-
重新烧写代码,确保已正确地烧写了代码。如果可能,尝试使用另一个编程器重新烧写代码,并在调试器中启动调试会话。
修改后的代码:
while(1) { HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_14); HAL_Delay(200); }这是一个基本的闪烁LED的代码,使用了HAL库中的GPIO翻转功能,同时使用了HAL库中的延时函数。
解决 无用评论 打赏 举报 编辑记录-