keil5原先只瞭解它的編譯、運行,最近(準確來說是一個月以前,原因太懶)又解鎖了keil5新技能用法。
日常流水帳
那就。。。記錄一下
軟件仿真
Keil作爲一個有很大潛力的仿真軟件功能,我們當然需要多瞭解瞭解它。
通過軟件仿真可以發現很多將要出現的問題,Keil的仿真可以查看很多硬件相關的寄存器,通過觀察這些寄存器值的變化可以知道代碼有沒有正常運行。這樣可以避免頻繁下載程序,延長單片機Flash壽命。
開始仿真之前,先配置一些選項。
1.在工程設置裏設置好芯片型號和晶振頻率。
2.在“Debug”選項卡中選擇“Use Simulator”,表示使用軟件仿真;選擇“Run to main()”則表示跳過彙編代碼,直接跳轉到main函數開始仿真。設置下面的“Dialog DLL”選項;parameter項爲“-pSTM32F103RC”,用於設置支持STM32F103RC的軟硬件仿真。
3.設置完成後,點擊運行編譯程序,隨後下載
4.點擊開始仿真,這個時候會多出來一個工具條,就是Debug工具條。
1:復位
復位顧名思義便是重新、從頭開始唄,其功能等同於硬件上按復位按鈕,相當於實現了一次硬復位。按下該按鈕後,代碼會重新從頭開始執行。
2:執行到斷點處
按下該按鈕可以快速執行到斷點處,有時候並不需要觀看每步是如何執行的,僅僅想快速執行到程序的某個地方看結果,按下這個按鈕就可以滿足你的願望,當然前提是已在查看的地方設置了斷點。
3:停止運行
該按鈕在程序一直執行的時候才變爲有效,可以使程序停止下來進入到單步調試狀態。瞬間使程序爲停止狀態。
4:單步調試(進入函數)
簡單來說,該按鈕是進入到某個函數中去,當然在沒有函數的情況下相當於執行過去按鈕。
5:逐步調試(跳過函數)
在碰到有函數的地方,通過該按鈕就可以單步執行過這個函數,而不進入這個函數單步執行。簡而言之,就是跳過該函數不執行。
6:跳出調試(跳出函數)
該按鈕是進入了函數單步調試的時候,有時候可能不必再執行該函數的剩餘部分了,通過該按鈕就直接一步執行完函數餘下的部分,並跳出函數回到函數被調用的位置。
7:執行到光標處
該按鈕可以迅速使程序運行到光標處,與執行到斷點處按鈕功能類似。
8:顯示正在執行的代碼行
以下爲調試模式增加菜單
9:命令顯示窗口
10:反彙編窗口
通過該按鈕可以查看彙編代碼,這對分析程序很有用。
11:模塊窗口
12:寄存器窗口
13:被調用函數堆棧窗口
通過該按鈕可以顯示Call Stack+Locals窗口,顯示當前函數的局部變量及其值,方便查看。
14:查看(變量)窗口
MDK5提供2個觀察窗口(下拉選擇),該按鈕按下則彈出一個顯示變量的窗口。輸入想觀察的變量或表達式,即可查看其值,是很常用的調試窗口。
15:內存窗口
MDK5提供4個內存查看窗口,按下按鈕,則彈出一個內存查看窗口,可以在裏面輸入要查看的內存地址,然後觀察這一片內存的變化情況。
16:串行UART窗口
MDK5提供4個串口打印窗口。按下該按鈕,則彈出一個類似串口調試助手界面的窗口,用來顯示從串口打印出來的內容。
17:邏輯分析儀窗口
該圖標下面有3個選項,一般用第一個,也就是邏輯分析窗口。通過SETUP按鈕新建一些IO口,於是可以觀察這些IO的電平變化情況,並以多種形式顯示出來,比較直觀。
18:跟蹤窗口
19:系統(外圍IO、USART、TIM等)窗口
該按鈕可以提供各種外設寄存器的查看窗口(通過下拉選擇),選擇對應外設即可調出該外設的相關寄存器表,並顯示這些寄存器的值,方便查看設置是否正確。
20:工具箱窗口
keil5軟件仿真介紹到此!
學疏才淺,更多的需各位在琢磨琢磨。