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

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

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

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

850.43 KB

前言

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

問題描述?

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

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

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

驗證

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

小結(jié)

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

資料預(yù)覽

相關(guān)推薦