michael8178 发表于 2018-8-4 11:31:07

STM32L452 一个函数debug模式可以正常运行,load后没有正常运行

一个基于STM32L452的项目。现在遇到一个问题,使用Keil5.25.2,ST-LINK V2调试。在调试中发现,在main()中调用一个函数,debug模式下函数可以正确运行。但将该工程load到芯片后,发现代码没有正常运行-debug模式下带该函数和load模式下带该函数的耗流不同。但是,不加该函数的代码在debug和load模式下的耗流又是相同的。之前开发项目时没有遇到过这种现象。不知道哪位大侠可以指点一下,可能是哪些原因导致该问题的产生。。。

feixiang20 发表于 2018-8-4 22:28:40

看看芯片供电是否正常,CLKOUT是否有输出

toofree 发表于 2018-8-4 22:40:47

确定你所说的“调用一个函数”,只是一个函数吗?有没有控制什么外设?
你的函数实现什么功能

freeelectron 发表于 2018-8-6 09:16:37

很大情况下是代码的问题,debug模式有断点的话,CPU会停在断点,但是其他的外设或者timer会继续运行,可能刚好错过了某个timer或事件的运行,bug没暴露出来

数码小叶 发表于 2018-8-6 09:25:32

debug下全速运行也正常??如果是,那是不是涉及到外扩flash存储。要是你的debug模式下存在暂停、单步,那就要考虑你的整体时序问题了:D:D:D

x5y4z3 发表于 2018-8-6 09:35:34

硬件上本身的 Reset 产生是否正常?
在 Debug 模式下程序是否仅在 RAM 运行而非储存于片内的 Flash 上?
这 Project 是否设置是于 Debug 模式而非 Release 的模式?
最后有空请看 这篇 能否解决问题?!

huangyanga 发表于 2018-8-6 13:25:37

这个函数的作用是?涉及到哪些耗流的外设?

tanic 发表于 2018-8-6 17:50:56

不贴代码的提问都是耍流氓,贴的代码太乱也是耍流氓;P

toofree 发表于 2018-8-6 19:43:58

tanic 发表于 2018-8-6 17:50
不贴代码的提问都是耍流氓,贴的代码太乱也是耍流氓

木有工程的是耍流氓
耍流氓的,木有小JJ:)
页: [1]
查看完整版本: STM32L452 一个函数debug模式可以正常运行,load后没有正常运行