編譯欄沒了怎麼跳出來
㈠ stm32cubeide編譯界面不見了怎麼調
前文已經描述STM32CubeIDE的一些基本操作,基於前兩篇文章,已經可以完成配置工程然後編譯下載的目的,但是STM32開發,最重要的是實時調試,這一章描述STM32CubeIDE通過ST-Link調試,並對照Keil進行對比。
在Keil中,如果想調試,只需要將調試器和MCU連接好後,按下Keil中的這個按鈕即可,隨後程序會自動暫停到main函數第一行。
Keil中進入調試按鈕
在STM32CubeIDE中,選中工程的情況下,也可以在工程上右鍵點擊如圖紅框所示選項或者菜單欄上的按鈕進入調試狀態。
STM32CubeIDE進入調試
如果該工程是第一次進入調試狀態,則會彈出下圖所示配置窗口。
調試配置窗口
在Keil中也有類似的配置,我們對比進行說明,下圖左圖就是STM32CubeIDE的調試器配置欄,右圖是Keil的調試配置欄目。
下列所有圖片中,左圖是STM32CubeIDE的頁面截圖,右圖是Keil中對應頁面截圖,下文不在說明。
調試器配置欄
Keil中支持很多的調試器,每種調試器都有自己不同的協議和優缺點。STM32CubeIDE目前只支持三種調試器,可通過該選項配置,其中ST-Link、J-Link,對於搞單片機的人來說再熟悉不過了,OpenOCD是一個開源的功能強大的調試器,如果要使用別的調試器,例如CMSIS-DAP等,可以通過ST-Link(OpenOCD)來實現。
選擇調試器
介面和頻率選擇,現在搞STM32一般都使用三線的SWD,特別是ST-Link OB,JLink OB出現後,方便、小巧,板子上也只需要留出SWDIO、SWCLK和GND三根線就行,很難看見JTAG口了。如果板子調試線過長或者干擾太大,可以嘗試降低頻率提高通信成功率。
介面和頻率配置
復位選項,這里介紹下STM32CubeIDE中的各個選項含義,Keil中的選項可自行參考:https://www.keil.com/support/man/docs/ulink2/ulink2_ctx_debug.htm#!#%2Fconnect
復位選項
要想了解這些選項,必須先了解NRST非同步復位引腳,STM32處理器對外都包含了一個NRST引腳,只要拉低這個引腳,MCU就會處於復位狀態,復位外設和內核。而在ST-Link調試器中,對外就包含了一根NRST線,用於連接到目標硬體的NRST操作目標處理器復位。
NRST引腳
Connect under reset:先拉低NRST線復位MCU,然後連接MCU,然後拉高NRST線MCU退出復位狀態。
Software system reset:先連接到MCU,然後向MCU寄存器寫命令來復位MCU,復位內核和外圍設備。
Hardware reset:先拉低NRST線復位MCU,然後拉高NRST線退出復位狀態,接著連接MCU。
Core reset:向MCU寄存器寫命令來復位MCU,只復位內核,不復位外圍設備。
None:程序已經下載運行的情況下,不復位,直接連接MCU。
可以根據實際情況選擇,如果有NRST線,當然是選擇Connect under reset比較好,例如當沒有配置處理的Debug口或者Debug口被佔用的時候,這時候普通的方式已經無法連接到處理器,就可以使用這種方式燒錄入新的程序釋放Debug口。如果沒有NRST,那就選擇Software system reset。不過只要SWDIO、SWCLK、GND線連接和功能正常,不管選那種方式,總能進入調試模式。
配置相關的文件存放在.launch文件中,如果沒有這個文件,進入調試時就會彈出配置窗口。
launch文件
點擊Debug按鈕進入調試,此時如果連接正確的情況下控制台會彈出若干信息,接著將程序停到main函數第一行。
進入調試
通過左上角的這些按鈕,就可以達到如同Keil的單步跳過、單步進入、暫停、運行等操作。這里有一個小bug,一定要等停到main函數第一行時才可以操作調試命令,如果操之過急,在還沒停到第一行就開始就進行操作,此時調試會異常退出。
點擊如圖所示的Resume,快捷鍵F8,程序開始運行。
常用調試命令
打斷點和Keil一樣,在程序左側雙擊,程序就會運行到斷點處停止。
打斷點
將滑鼠移動到斷點上方,接著就會彈出一個小框,點擊小框右側如下圖所示的圖標,就可以刪除這個斷點。
刪除斷點
如果有很多個斷點需要刪除,就可以通過調試界面右側進行全部刪除。
刪除所有斷點
如果找不到上圖這個視圖界面,可以通過如下圖所示的菜單欄打開。
打開各種視圖
同Keil一樣,斷點的數量有上限,太多的斷點將會報錯。
在程序中定義了三個變數,分別為全局變數、靜態變數和局部變數。並在主函數中讓其自增,用來說明STM32CubeIDE中的查看變數功能。
增加三個變數
在Expressions、現場表達式這兩個試圖中,都將三個變數添加進去,可以看到,在程序不暫停的情況下,現場表達式可以實時查看全局變數的變化情況,局部變數和靜態變數則無法查看,而Expressions則無法實時查看任何變數。
現場表達式視圖
Expressions視圖
當程序暫停的時候,將滑鼠移動到變數名稱上就會自動彈出當前變數的值。
查看變數
此時在右側Expressions試圖也可以看到添加進去的變數。
Expressions試圖
此外,還可以通過SFRs查看處理器各個外設寄存器的值。
SFRs視圖
也可以通過Registers查看內核各個寄存器的值。
Registers視圖
另外Keil中可以配置下載程序時是否擦除所有Flash、不拆除、部分扇區,這在STM32CubeIDE中是沒有的(也有可能是我沒找到),需要搭配STM32CubeProg實現。
從調試體驗這一塊來說,還是Keil體驗上來的比較好,各個功能也比較人性化,STM32CubeIDE的調試各種操作介面還有可優化的空間,但目前也能滿足需求,最重要的還是免費。
㈡ eclipse用來編譯的小榔頭不見了,怎麼設置
首先,我們打開一下Eclipse,我這里由於用了結合Android sdk的 版本,界面可能不一樣。

㈢ VC中的編譯工具欄沒有了怎麼跳出來
在工作欄的空白處,點右鍵,選擇Build, 如果是中文版的話,應該是 「編譯」
㈣ 在c語言中不小心把右邊編譯和運行那一欄給關閉了,怎樣恢復
菜單 [視圖] --選擇[工具欄]中對應的,或者選擇顯示窗口
㈤ vc6編譯組建執行的工具欄沒了怎麼弄回來
在工具欄右邊的空白處點滑鼠右鍵,會彈出菜單,菜單里有個「Build MiniBar「,點選它,看看是不是你要的。
參考下圖:

