打印
[STM32F2]

MDK单步执行和全速执行,时钟值不同

[复制链接]
526|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lizye|  楼主 | 2020-11-18 21:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MDK单步执行和全速执行,时钟值不同

使用特权

评论回复
沙发
liliang9554| | 2020-11-18 21:52 | 只看该作者

楼主详细说说怎么回事啊,这么说太笼统了

使用特权

评论回复
板凳
lizye|  楼主 | 2020-11-18 21:55 | 只看该作者
MDK4.6, 外接8M晶振, 使用STM32_USB-Host-Device_Lib_V2.1.0, 选STM322xG-EVAL_USBH-FS,  在main函数的最开始加入RCC_GetClocksFreq(&rcc_clocks)查看时钟, 并在此设置断点.

使用特权

评论回复
地板
午夜粪车| | 2020-11-18 22:01 | 只看该作者
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
5
lizye|  楼主 | 2020-11-18 22:06 | 只看该作者

int main(void)
{
  RCC_ClocksTypeDef  rcc_clocks;

  RCC_GetClocksFreq(&rcc_clocks);
  ......
}

单步执行SystemInit, 然后到断点:
RCC_GetClocksFreq里走的是case 0x08分支.
rcc_clocks的各个值为:
SYSCLK=120000000, HCLK=120000000, PCLK1=30000000, PCLK2=60000000

全速执行到断点:
RCC_GetClocksFreq里走的是case 0x00分支.
rcc_clocks的各个值为:
SYSCLK=16000000, HCLK=16000000, PCLK1=16000000, PCLK2=16000000

我的代码还都未执行, 真的崩溃了.
有人碰到过同样的问题吗?

使用特权

评论回复
6
huangchui| | 2020-11-18 22:09 | 只看该作者
MDK问题?

使用特权

评论回复
7
zhaoxqi| | 2020-11-18 22:16 | 只看该作者
你是在做usb的试验吧,usb的时钟我记得好像来自pll锁相环。在main函数之前是要先执行SystemInit这个函数

使用特权

评论回复
8
zhenykun| | 2020-11-18 22:20 | 只看该作者
不知道你用的什么库,有些库中在SystemInit会设置系统时钟,系统时钟与usb的时钟也是有关系的吧。

使用特权

评论回复
9
zhanghqi| | 2020-11-18 22:22 | 只看该作者
另外,你截图好说明一些。

使用特权

评论回复
10
lizye|  楼主 | 2020-11-18 22:25 | 只看该作者

我试了跟勾不勾选Run to main没关系.
跟单步执行SystemInit里面的SetSysClock有关

使用特权

评论回复
11
lizye|  楼主 | 2020-11-18 22:30 | 只看该作者

如果进入到SetSysClock里面, 单步执行过这个函数里面的语句, 则时钟值是对的
SYSCLK=120000000, HCLK=120000000, PCLK1=30000000, PCLK2=60000000

使用特权

评论回复
12
lizye|  楼主 | 2020-11-18 22:35 | 只看该作者

如果step over这个函数, 则进入main后, 时钟值四个都是16000000(HSI_VALUE)
SYSCLK=16000000, HCLK=16000000, PCLK1=16000000, PCLK2=16000000

使用特权

评论回复
13
wyjie| | 2020-11-18 22:38 | 只看该作者
换个版本

使用特权

评论回复
14
lizye|  楼主 | 2020-11-18 22:41 | 只看该作者
居然真的是MDK问题,  换个版本就没这现象了

使用特权

评论回复
15
dingy| | 2020-11-18 22:45 | 只看该作者
感谢分享经验

使用特权

评论回复
16
yinxiangh| | 2020-11-18 22:48 | 只看该作者
当然了  有什么疑问啊?

使用特权

评论回复
17
wangpe| | 2020-11-18 22:53 | 只看该作者
时钟不会因为打断点就不运行

使用特权

评论回复
18
stly| | 2020-11-18 22:57 | 只看该作者
看不明白楼主的问题 没有搞过这方面的项目

使用特权

评论回复
19
pengf| | 2020-11-18 23:00 | 只看该作者
请问是在keil中的吗  

使用特权

评论回复
20
lizye|  楼主 | 2020-11-18 23:03 | 只看该作者

哦,那我就知道怎么回事了,多谢大家

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

852

主题

9757

帖子

2

粉丝