本帖最后由 pzw1758 于 2025-2-21 20:52 编辑
在欣赏完Demo之后,我也要根据原理图开始对板载外设进行驱动了,作为一名大学牲,我又要开启我的嵌入式点灯之路了(哈哈哈哈)。 一、核心供电选择错误后如何抢救芯片 下面是一大段唠叨的话,有需要的可以到具体解决方案处查看。 BUG描述:在我快乐地打开CubeMX创建点灯工程后我又打开Keil快速写好两个核控制GPIO翻转的代码,迅速下载到开发板,看到两颗LED交替闪烁后,我又开心的笑了。但是当我下一次上电后,我发现LED居然没有亮,并且STLink连不上芯片了。这太奇怪了!!! 在我之前遇到STLink连不上芯片的诸多情况中,无非就以下五种情况: 硬件连接不稳定 电脑没有STLink驱动 STLink固件没更新 引脚复用(PA13,PA14) 开发板供电不稳定
在反复检查电脑配置和开发板连接之后,我依然没有找到任何原因,但是我可以非常肯定的排除前四种情况,至于最后一种情况,我只能抱着试试看的态度,用万用表检查芯片的每一路供电。经过漫长的寻找之后,我还真找到有一路供电有一点不正常。 图中的这个电阻(SB44)是0Ω跳线电阻,如果说这个电阻是连接模拟地和数字地还说得过去,但是查阅原理图后我发现这是给VDDIO33_LDO供电的短接电阻,那这个0V就太不对了。 除了发现这个0Ω电阻电压不对之外,我还发现原理图中NOTE中说:H745XI default setting is SMPS mode, and H750XB only supports LDO mode这就触及到我的知识盲区了,查阅查考手册后,我终于搞明白是怎么一回事了。 原来H745这颗芯片对核心有两种供电模式:一种是LDO模式,另一种是SMPS模式。然而我在第一次配置CubeMX时没有注意到这个问题,就保持默认的LDO模式导致芯片上电后核心没有供电也就不工作了这样STLink肯定也是连不上的。然后需要验证的一个问题是芯片是否还是好的,我将RST按键按住后上电发现芯片可以被连接到了。 紧接着是要解决如何将正确的供电配置函数下载到芯片: 1.1官方的解决方案:强制进入下载模式https://community.st.com/t5/stm32-mcus-boards-and-hardware/stlink-problems-with-stm32h745i-disco/m-p/285050#M9898在下图中的R143和R144位置处,将R143的电阻焊接到R144处,即可将BOOT置为高电平,在按下RST即可进入强制下载模式。 1.2我的解决方案:(不知道是否对芯片友好)既然是没有1.2V的核心供电,那么我就给你飞一个1.2V供电。 在上图0Ω(SB44)处直接接入1.2V的供电。 上电后快速下载完正确的代码,然后马上拔掉连接线,去掉外部供电之后,在上电。核心1.2V供电终于出现了。 二、终于可以点灯了2.1时钟和供电配置2.2LED配置2.3时钟树配置先保持默认即可 2.4代码M7核: HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin);
HAL_Delay(100);M4核: HAL_GPIO_TogglePin(LED2_GPIO_Port,LED2_Pin);
HAL_Delay(500);2.5现象LD6(红色)慢闪,LD7(绿色)快闪。
|