本帖最后由 sujingliang 于 2025-1-20 20:10 编辑
有幸搭上“年终狂欢,感恩相伴,回馈盛宴”这艘巨轮,希望可以在妙想之海中,尽情遨游。以探索之心,直达创意彼岸。
STM32H745I-DISCO是一道很美味的大餐,尽管它早于2022年上市,但其硬件功能强大,在控制、音视频处理、通讯等领域具有全面适应性,不失为开发高性能嵌入式系统理想的平台。即使和目前任何高性能开发板相比还一战之力。
然而还没有开始杨帆启航,在仅烧写了几个程序以后,再次搁浅在No Target connected。
几乎每个STM32的开发板都有可能进入No Target connected的尴尬局面,因为SWD端口被占用,或者干脆没有配置DEBUG,就会导致ST-LINK无法发现MCU。
做为一个常在河边走又多次湿鞋的资深“No Target connected”er,不知道这次遇到的是否还是当年的那条河流。
一、尝试用STM32CubeProgrammer DA失败
在发生No Target connected时,进入STM32CubeProgrammer ,系统会推荐做个DA,如果DA成功会激活SWD端口,保证可以再次烧录。但是这一次DA没有发现目标。难道是STM32H745I-DISCO是双核缘故,DA顾此失彼无法对双核都RESET,也无法激活SWD。不知道缘由,反正失败了。
二、Keil中拼手速失败
用keil下载程序先按住reset,再点击download,再松开reset。
原理就是在程序运行到SWD引脚占用之前,把新的程序烧录进去,抢个时间差。
在做了几十次尝试后,宣告失败,无论你做了多少次努力,Keil只说No Target connected。
三、BOOT0接VDD成功
BOOT0接VDD,可以使MCU运行自带的程序,自带的程序通常是支持SWD端口的。
很多板子是将BOOT0跳线引出,但是STM32H745I-DISCO没有跳线引出,操作有些麻烦,所以需要手工做BOOT0接VDD的短接。
具体的做法:
1、原理图上,BOOT0接低电平。需要在上电前将R144短接
2、上电
3、这时keil是可以识别目标MCU
4、找一个STM32H745I-DISCO的例程,烧录。
5、因为STM32H745I-DISCO是双核的所以需要再重复一次烧录第二个核的程序。
CM4、CM7两个核程序要分两次烧录。
真是吓了一跳,以为刚开始就结束了。还好解决了,算是腿着趟了条路。STM32H745I-DISCO是双核,配置复杂,稍不留神哪就配错了。
当然至此,STM32H745I-DISCO再No Target connected,也不怕了,呵呵。
后在手册中发现有类似描述,我的问题原因也是PWR配置错误导致:
|