引言
在重新編程燒錄了 STM32H7 目標(biāo)芯片后,我就無法連接到該設(shè)備。選擇 “Connect under reset”連接也沒有幫助。為什么 ?
原因分析
通過日??蛻舻募夹g(shù)支持整理,有兩種可能的根本原因可以導(dǎo)致這個(gè)問題。第一種可能性更大,與電源配置錯(cuò)誤有關(guān)。其次是與 Option Bytes 選項(xiàng)字節(jié)中的內(nèi)核啟動(dòng)配置相關(guān)。下面我們來具體的看一看。
可能原因一(電源配置錯(cuò)誤)
這條原因適用于所有具有可配置內(nèi)部 SMPS 降壓轉(zhuǎn)換器的 STM32H7 芯片。采用嵌入式降壓轉(zhuǎn)換器的 STM32H7 器件提供了不同的電源方案。代碼中供電電源的所選配置取決于外部電源電路組件的連接。此配置只能在上電復(fù)位后設(shè)置一次。選擇錯(cuò)誤的配置會(huì)導(dǎo)致 MCU鎖定,也即是說 STM32H7 軟件代碼配置的供電模式與外部硬件供電電路不匹配的時(shí)候,會(huì)導(dǎo)致該芯片被 鎖定【lock-up 】。
軟件代碼中關(guān)于電源模式的配置可以通過 HAL 庫中的以下代碼行完成(通常放在SystemClock_Config 函數(shù)中) :
大多數(shù)的電路原理圖設(shè)計(jì)都會(huì)選擇 SMPS 作為 MCU VDD 的直接供電方式(如果該SMPS 模塊在 MCU 中可用),這里就需要使用 PWR_DIRECT_SMPS_SUPPLY 參數(shù)替代PWR_LDO_SUPPLY 調(diào)用上述函數(shù)。但是在早期的 STM32CubeMX 生成的項(xiàng)目在默認(rèn)情況下可能是 PWR_LDO_SUPPLY 電源選項(xiàng)。所以這兒導(dǎo)致了不一致。而在 CubeMX 5.4.0 及更高版本中提供了 PWR_DIRECT_SMPS_SUPPLY 電源做為默認(rèn)選項(xiàng)。所以要注意配置的一致性。由于配置只能在上電重置后更改一次,因此問題可能會(huì)在下一次電源復(fù)位后出現(xiàn)。
下面是參考手冊(cè)中的圖表,顯示了電源的不同硬件配置:
MCU 內(nèi)含保護(hù)機(jī)制,可防止將更高的電壓從內(nèi)部 SMPS 導(dǎo)入到 VCORE(1.8 或 2.5V)。這樣可以防止由于配置錯(cuò)誤而損壞 MCU。
由于電源通常在復(fù)位后立即配置,因此很難連接。
解決方案 1 是:
1、將復(fù)位按鈕保持在低位(通常為 NRST 引腳),然后接通將電路板電源,
2、保持復(fù)位按鈕低電位,通過 STM32CubeProgrammer 連接。當(dāng)程序開始連接時(shí),松開復(fù)位按鈕。
3、如果連接不上繼續(xù)執(zhí)行上述步驟,如果連接上則執(zhí)行批量擦除。
4、確保已修復(fù)項(xiàng)目中的電源配置,重新下載。
解決方案 2 是:
1、強(qiáng)制將 BOOT0 引腳保持高位,然后上電復(fù)位目標(biāo)板。這需要將 BOOT_CM7_ADD1 設(shè)置為系統(tǒng)內(nèi)存。
2、保持 BOOT0 引腳電平為高,通過 STM32CubeProgrammer 連接。系統(tǒng)引導(dǎo)加載程序 System bootloader 不會(huì)使用自己用戶的電源配置。
3、執(zhí)行批量擦除。
4、確保已修復(fù)項(xiàng)目中的電源配置,重新下載。
可能原因二(Cortex-M7 啟動(dòng)已禁用)
這適用于所有具有雙核功能的 STM32H7 設(shè)備。有時(shí)我們調(diào)整選項(xiàng)字節(jié)的配置使得只有 Cortex-M4 在復(fù)位后才啟動(dòng)(BOOT_CM7/BCM7=0,BOOT_CM4/BCM4=1)。此時(shí)你需要將調(diào)試器連接到訪問端口 AP=3(CortexM4),而不是訪問端口 AP=0(Cortex-M7)。
順便提醒下,使用 STM32CubeProgrammer 進(jìn)行連接時(shí),注意保持 STM32CubeProgrammer 為最新版本。
對(duì)于開發(fā),建議保持兩個(gè)內(nèi)核啟動(dòng)配置,否則有些 IDE 工具可能無法與設(shè)備一起工作。
來源:STM32單片機(jī)
審核編輯:湯梓紅
-
芯片
+關(guān)注
關(guān)注
460文章
52520瀏覽量
440997 -
單片機(jī)
+關(guān)注
關(guān)注
6067文章
44992瀏覽量
650541 -
mcu
+關(guān)注
關(guān)注
146文章
17984瀏覽量
366997 -
stm32h7
+關(guān)注
關(guān)注
0文章
37瀏覽量
1753
發(fā)布評(píng)論請(qǐng)先 登錄
【STM32H7教程】第19章 STM32H7的GPIO應(yīng)用之按鍵FIFO

STM32H7學(xué)習(xí)之路繼續(xù)(stm32H7系列3) GPIO

【STM32H7教程】第21章 STM32H7的NVIC中斷分組和配置(重要)

"STM32H7學(xué)習(xí)繼續(xù)(STM32H7系列5)第十七章比較實(shí)用,以后寫程序的時(shí)候會(huì)用到"

【STM32H7教程】第8章 STM32H7的終極調(diào)試組件Event Recorder

【STM32H7教程】第14章 STM32H7的電源,復(fù)位和時(shí)鐘系統(tǒng)

不能連接上STM32H7芯片的原因
一文深入了解STM32H7芯片
PM0253_STM32F7和 STM32H7單片機(jī)編程手冊(cè)

評(píng)論