• 資料介紹
    • 前言
    • 問(wèn)題描述?
    • 問(wèn)題復(fù)現(xiàn)與分析
    • 驗(yàn)證
    • 小結(jié)
  • 資料預(yù)覽
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

LAT1400 STM32G0執(zhí)行I2C bootloader Go命令后無(wú)法連接問(wèn)題解析

03/20 09:52
627
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

LAT1400 STM32G0執(zhí)行I2C bootloader Go命令后無(wú)法連接問(wèn)題解析

850.43 KB

前言

在 STM32G0B1 的 FLASH_ACR 寄存器中有個(gè) DBG_SWEN 位,當(dāng)這個(gè)位的值為 0時(shí),設(shè)備就禁用調(diào)試能力,無(wú)法通過(guò)調(diào)試器連接到設(shè)備,反之則啟用調(diào)試能力。

問(wèn)題描述?

客戶(hù)使用的是 STM32G0B1 的 I2C bootloader,bootloader 版本是 0x92,在執(zhí)行完"Go"命令后使用 STM32CubeProgrammer 在"hot plug"模式下連接設(shè)備,但是連接失敗,提示無(wú)法找到設(shè)備。

問(wèn)題復(fù)現(xiàn)與分析

使用 NUCLEO-G0B1RE 板進(jìn)行測(cè)試,bootloader 版本與客戶(hù)的一致都是 0x92,通過(guò)配置選項(xiàng)字節(jié)將設(shè)備配置為從 system memoery 自舉(也就是復(fù)位后進(jìn)入片內(nèi)bootloader 中執(zhí)行)。

驗(yàn)證

在下載到設(shè)備的應(yīng)用程序中添加打印 FLASH_ACR 寄存器的 DBG_SWEN 位的操作,用來(lái)查看執(zhí)行完 I2C bootloader 的"Go"命令后的 DBG_SWEN 的狀態(tài)。

小結(jié)

在 STM32G0B1x 的 0x92 版本的 bootloader 中,通過(guò) I2C 接口執(zhí)行完"Go"命令跳轉(zhuǎn)到應(yīng)用程序時(shí),會(huì)將設(shè)備的 DBG_SWEN 位配置為 0,也就是禁用設(shè)備的調(diào)試能力。如果我們想要恢復(fù)調(diào)試能力的話,可以在應(yīng)用程序中添加設(shè)置 DBG_SWEN 位為 1 的操作。但是其它型號(hào)或者其它版本的 bootloader 執(zhí)行"Go"命令后,不一定會(huì)有這種設(shè)置,我們應(yīng)該具體應(yīng)用具體分析,詳細(xì)可以參考 AN2606,AN2606 是 STM32 bootloader 的說(shuō)明文檔。

資料預(yù)覽

相關(guān)推薦

  • LAT1209 Arm?v7-M架構(gòu)的STM32如何啟用DWT進(jìn)行計(jì)數(shù)
  • LAT1202 TIM DMA burst 輸出變頻 PWM 波形
  • LAT1255 直接修改寄存器來(lái)輸出內(nèi)部時(shí)鐘的方法
  • LAT1356 如何降低BlueNRG-LPS的開(kāi)機(jī)峰值電流