STM32 CM0+系列芯片的NRST模式之坑

        因項目需要,ST那邊給了一塊NUCLEO-G031K8開發板,板子上一顆STM32G031K8T6U的CM0+芯片,看原理圖芯片的NRST腳是連了外部按鍵復位電路(如圖1)。按理來說開發板的RST功能是默認起作用的,但實際使用時,按RST鍵一直無法重啓,新燒錄固件也不能自動reset and run,必須手動下電再上電新固件才能跑起來。

圖1
圖1 NRST腳外接RST電路

        由於之前對ST的Cortex-M4系列芯片較熟悉,M4系列芯片NRST腳沒有其他模式,所以壓根沒想到CM0+的NRST腳可以設置爲不同的模式。所以先是檢查使用STM32CubeMX配置上是不是有問題,配置上壓根沒有關於NRST的配置項,然後就懷疑開發板的硬件有問題,量了NRST的電平,沒有高電平輸出。但是其他一切功能正常,硬件沒這麼容易壞,最好還是老老實實看Reference manual,終於找到關於NSRT模式設置的說明(如圖2)。

圖2 CM0+ NRST的三種mode

 

      下一個問題是:NRST腳的默認模式就是Reset模式啊,爲什麼拿到的開發板默認模式不是這個?從哪裏查看開發板的當前模式是什麼?從哪裏更改NRST腳的模式?

        於是繼續搜索相關資料,瞭解到通過燒錄器的Option bytes可以設置MCU的一些默認參數,圖3就是通過CubeProgrammer查到的我手上開發板對NRST_MODE的默認設置,竟然給設置成了GPIO口😂。更改爲mode 3,問題外部按鍵復位功能恢復正常,問題解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章