硬汉嵌入式论坛

 找回密码
 立即注册
查看: 86|回复: 3
收起左侧

[技术讨论] 遇到了一个很奇怪的问题

[复制链接]

4

主题

19

回帖

31

积分

新手上路

积分
31
发表于 昨天 09:23 | 显示全部楼层 |阅读模式
佬们,最近遇到了一个很奇怪的问题,在使用STM32F401RCT6调试新功能,之前工程板打样比较慢就用的开发板(最小系统)自己搭了电路测试,代码也写完了,现在工程板打样回来后,将代码烧录debug发现单片机跑飞了,单步调试发现是在执行完HAL_RCC_ClockConfig()->SystemCoreClock = HAL_RCC_GetSysClockFreq() >> AHBPrescTable[(RCC->CFGR & RCC_CFGR_HPRE)>>RCC_CFGR_HPRE_Pos]; 在执行HAL_RCC_GetSysClockFreq()中的pllvco = (uint32_t)((((uint64_t)HSE_VALUE*((uint64_t)((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos)))) / (uint64_t)pllm);后单片机访问了异常的地址如0xaa8001a26,随后卡死,一开始怀疑是代码有被修改过了,但是将代码重新烧录至开发板上,运行就正常了,又怀疑工程板的晶振是不是没起振,示波器测量晶振波形也非常漂亮,检查了电源也没问题,后面也试了直接跳过电源部分直接给单片机供电,后面也将MCU,晶振,匹配电容都和开发板替换了一下,结果都是开发板能正常跑,工程板跑到这个地方就飞,又检查了BOOT,复位引脚的电平,都是正常的,将和MCU连接的外设全部拆掉,debug测试还是不行依旧在该处跑飞,到此完全想不到还有什么能够排查的方向了,恳请各位大佬指点一二!
回复

使用道具 举报

7

主题

160

回帖

181

积分

初级会员

积分
181
发表于 昨天 11:01 | 显示全部楼层
肯定是排查不到位,很奇怪的问题背后有一个很蠢的错误,慢慢找。
检测 电源  复位 ,IO , 晶振是不是一样有些8M,有些25M的
回复

使用道具 举报

4

主题

19

回帖

31

积分

新手上路

积分
31
 楼主| 发表于 昨天 13:44 | 显示全部楼层
mygod 发表于 2025-8-12 11:01
肯定是排查不到位,很奇怪的问题背后有一个很蠢的错误,慢慢找。
检测 电源  复位 ,IO , 晶振是不是一样 ...

现在就是想不到还有什么能够排查的地方了,电源也测过了,也试过直接跳过电源供电,IO部分,和MCU有连接的器件也全部拆掉了,晶振反复确认过了是25M,也替换过晶振
回复

使用道具 举报

1

主题

7

回帖

10

积分

新手上路

积分
10
发表于 昨天 14:03 | 显示全部楼层
检查下VDDA供电呢,VDDA上有RC滤波的话R不能太大哟,不然PLL跑不起来
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-13 01:12 , Processed in 0.038061 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表