在特殊情況下使能 MCO 功能的方法
在對某些不容易復現(xiàn)的問題進行代碼調時,需要觀察內部時鐘的情況,但往往代碼之前并沒有使能 MCO 功能,在這種情況下就可以使用寄存器直接配置來輸出內部時鐘到GPIO 腳位上進行觀察和測試。
下面的例子就是在調試 STM32G474 很難復現(xiàn)的一個問題,調試暫停時,通過 PC 端調試工具直接更改寄存器配置來使能 MCO 功能輸出 SYSCLK 到 GPIO 口的方法。
具體實現(xiàn)
MCO 輸出內部時鐘到 GPIO 腳位,可以不通過運行用戶代碼,直接在 PC 端調試工具中配置寄存器來實現(xiàn)。
在程序暫停時,往往已經走過了時鐘配置,在這種情況下首先需要使能并配置RCC_CFGR 寄存器。MCOSEL[3:0]=0x1,選 SYSCLK 來輸出(當然,也可以根據(jù)實際情況選擇輸出其他時鐘源)。
總結
在調試軟件時,可以通過 PC 端調試工具直接修改寄存器配置來使能某些功能。不過,使用中須注意遵守一定的流程,比如先開啟對應的外設 clock,然后才能配置具體的寄存器去實現(xiàn)一些具體的功能。
閱讀全文