STM32CubeIDE使用過程中出現的一點問題和解決方法
最近逛ST官網的時候發現ST新推出了自己的IDE,懷着愛折騰的心情下載安裝了win版本的試試(畢竟免費)。雖然中途出現了一點小問題,但總的來說體驗還是可以的。不廢話了,我們開始吧。
STM32CubeIDE簡介
主要特點
- 集成STM32CubeMX,提供以下服務:
- STM32微控制器選擇
- 引腳分配,時鐘,IP和中間件配置
- 項目創建和初始化代碼的生成
- 基於Eclipse™/ CDT,支撐ECLIPSE的™插件,GNU C / C ++中ARM ®工具鏈和GDB調試器。
其他高級調試功能包括:
- CPU內核,IP寄存器和內存視圖
- 實時變量觀看視圖
- 系統分析和實時跟蹤(SWV)
- CPU故障分析工具
- 支持ST-LINK(STMicroelectronics)和J-Link(SEGGER)調試探針
- 從Atollic導入項目® TrueSTUDIO ®和AC6系統工作臺的STM32
- 多支持操作系統:Windows ®,Linux的®和MacOS ®
(摘自ST官網)
安裝和新建工程
STM32CubeIDE的安裝十分簡單,可以說是傻瓜式的安裝了,我安裝的時候很順利。
STM32CubeIDE自帶cubeMX,新建工程比較簡單,但這裏有個坑(起碼我掉進去過23333)我們等會講,具體步驟可以參考這篇博客
下載時遇到的問題
爲了試手我新建了一個blink工程,簡單寫好程序後開始下載,第一次下載成功了,沒有什麼問題。但是當我第二次下載的時候IDE給我報錯了。截圖如下
IDE提示ST-Link初始化錯誤,剛開始我以爲是debug配置不對,開始改debug配置,但依然沒用。後來百度到了問題所在,[開發工具]stm32 ST-Link下載出現 No target connected解決辦法(都是cubeMX的坑)
原來是在cubeMX配置的時候沒有使能JTAG/SWD調試口,結果我下載一次程序以後下載口就被禁用了,導致第二次下載不了程序。
解決方法
既然知道是因爲程序中禁用了下載口,那麼首先要做的就是在cubeMX的配置中啓用JTAG/SWD下載,配置如圖
再次生成代碼就行了。那現在就剩一個問題,怎麼解鎖stm32的SWD口呢,我找到的方法需要用到J-link,詳情看這裏
方法
打開KEIL MDK,現在還是用ST-Link連接的狀態,可以看到keil裏並沒有找到STM32芯片
換用J-link後也不用做什麼特殊操作,可以看到keil識別出了STM32芯片,說明SWD下載口現在已經可以使用。然後用keil隨便下載一個程序即可。注意要重新下載,否則STM32CubeIDE依然會報錯
現在換回STM32CubeIDE就能正常下載程序了。
*文中不足之處,歡迎提出建議或解決方法。